> ## Documentation Index
> Fetch the complete documentation index at: https://docs.routemcp.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Slides

> Google Slides API v1 — create presentations and apply programmatic edits: slides, text boxes, images, tables, charts, shapes, styling, and transforms. 38 tools accessible through the MCP runtime endpoint.

<img src="https://lh3.googleusercontent.com/R9rZuIiz2Z-IjC7P5AVHZZQGXf4uDnxUMum8xn-JO6RyCNojnMnJmkNcCcm7-lsCLv01hf0plH3heWDXVhBXEQ=w80-h80" alt="Google Slides" style={{ width: "48px", height: "48px", marginBottom: "16px" }} />

## Overview

| Property   | Value                           |
| ---------- | ------------------------------- |
| Slug       | `google-slides`                 |
| Category   | Documents & Storage             |
| Auth       | OAuth 2.0 + PKCE                |
| Base URL   | `https://slides.googleapis.com` |
| Tool count | 38                              |
| Rate limit | 5 req/sec, 300 req/min          |

## Supported tools

All 38 slugs surfaced through MCP:

| Area             | Slugs                                                                                                                                                                                                                                                                                                                                              |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Presentations    | `GOOGLE_SLIDES_CREATE_PRESENTATION`, `GOOGLE_SLIDES_GET_PRESENTATION`, `GOOGLE_SLIDES_GET_PAGE`, `GOOGLE_SLIDES_GET_PAGE_THUMBNAIL`                                                                                                                                                                                                                |
| Slides & objects | `GOOGLE_SLIDES_CREATE_SLIDE`, `GOOGLE_SLIDES_DELETE_OBJECT`, `GOOGLE_SLIDES_DUPLICATE_OBJECT`, `GOOGLE_SLIDES_UPDATE_SLIDES_POSITION`, `GOOGLE_SLIDES_GROUP_OBJECTS`, `GOOGLE_SLIDES_UNGROUP_OBJECTS`                                                                                                                                              |
| Text & shapes    | `GOOGLE_SLIDES_CREATE_SHAPE`, `GOOGLE_SLIDES_INSERT_TEXT`, `GOOGLE_SLIDES_DELETE_TEXT`, `GOOGLE_SLIDES_REPLACE_ALL_TEXT`, `GOOGLE_SLIDES_CREATE_PARAGRAPH_BULLETS`, `GOOGLE_SLIDES_DELETE_PARAGRAPH_BULLETS`                                                                                                                                       |
| Media            | `GOOGLE_SLIDES_CREATE_IMAGE`, `GOOGLE_SLIDES_REPLACE_ALL_SHAPES_WITH_IMAGE`, `GOOGLE_SLIDES_CREATE_VIDEO`, `GOOGLE_SLIDES_CREATE_LINE`                                                                                                                                                                                                             |
| Tables           | `GOOGLE_SLIDES_CREATE_TABLE`, `GOOGLE_SLIDES_INSERT_TABLE_ROWS`, `GOOGLE_SLIDES_INSERT_TABLE_COLUMNS`, `GOOGLE_SLIDES_DELETE_TABLE_ROW`, `GOOGLE_SLIDES_DELETE_TABLE_COLUMN`, `GOOGLE_SLIDES_MERGE_TABLE_CELLS`, `GOOGLE_SLIDES_UNMERGE_TABLE_CELLS`, `GOOGLE_SLIDES_UPDATE_TABLE_CELL_PROPERTIES`, `GOOGLE_SLIDES_UPDATE_TABLE_BORDER_PROPERTIES` |
| Styling          | `GOOGLE_SLIDES_UPDATE_TEXT_STYLE`, `GOOGLE_SLIDES_UPDATE_PARAGRAPH_STYLE`, `GOOGLE_SLIDES_UPDATE_SHAPE_PROPERTIES`, `GOOGLE_SLIDES_UPDATE_IMAGE_PROPERTIES`, `GOOGLE_SLIDES_UPDATE_PAGE_ELEMENT_TRANSFORM`, `GOOGLE_SLIDES_UPDATE_PAGE_PROPERTIES`, `GOOGLE_SLIDES_UPDATE_PAGE_ELEMENT_ALT_TEXT`                                                   |
| Charts           | `GOOGLE_SLIDES_CREATE_SHEETS_CHART`, `GOOGLE_SLIDES_REPLACE_ALL_SHAPES_WITH_SHEETS_CHART`                                                                                                                                                                                                                                                          |

## Connect setup

Google Slides uses Google's OAuth 2.0 with PKCE. You need a Google Cloud project with the **Google Slides API** enabled and OAuth credentials configured for a Web application.

<Steps>
  <Step title="Create a Google Cloud OAuth client">
    Go to [Google Cloud Console → APIs & Services → Credentials](https://console.cloud.google.com/apis/credentials), choose **Create credentials → OAuth client ID → Web application**, then copy the **Client ID** and **Client Secret**.
  </Step>

  <Step title="Add the redirect URI">
    Under **Authorized redirect URIs**, add:

    ```
    https://api.routemcp.io/api/v1/connect/oauth/callback
    ```
  </Step>

  <Step title="Enable the Google Slides API">
    In **APIs & Services → Library**, search for **Google Slides API** and click **Enable** on the same Google Cloud project.
  </Step>

  <Step title="Configure required scopes">
    Add these scopes on the OAuth consent screen:

    * `https://www.googleapis.com/auth/presentations`
    * `openid`
    * `email`
    * `profile`
  </Step>

  <Step title="Connect via the widget">
    The end user opens the Connect widget, picks Google Slides, and is sent through the OAuth consent screen.
  </Step>
</Steps>

## Usage

### Through the chat endpoint (recommended)

```bash theme={null}
# Create a slide deck and add a text box
curl -N -X POST "https://api.routemcp.io/api/v1/mcp/<workspace_id>/chat" \
  -H "x-api-key: sk_live_your_key" \
  -H "x-session-id: user-42" \
  -H "content-type: application/json" \
  -d '{"message": "Create a slide deck titled Q3 Report and add a text box to the first slide that says Executive Summary."}'

# Find-and-replace across a presentation
curl -N -X POST "https://api.routemcp.io/api/v1/mcp/<workspace_id>/chat" \
  -H "x-api-key: sk_live_your_key" \
  -H "x-session-id: user-42" \
  -H "content-type: application/json" \
  -d '{"message": "In my Q3 Report deck, replace every 2024 with 2025."}'
```

### Direct MCP JSON-RPC (Claude Desktop / Cursor / custom MCP clients)

```json theme={null}
{
  "mcpServers": {
    "routemcp": {
      "url": "https://api.routemcp.io/api/v1/mcp/<workspace_id>",
      "headers": {
        "x-api-key": "<YOUR_API_KEY>",
        "x-session-id": "<SESSION_ID>"
      }
    }
  }
}
```

Once connected, MCP clients can invoke any of the 38 tools by slug via the standard `tools/call` JSON-RPC method.
