# Google Slides
import ToolInfo from "@/app/_components/tool-info";
import Badges from "@/app/_components/badges";
import TabbedCodeBlock from "@/app/_components/tabbed-code-block";
import TableOfContents from "@/app/_components/table-of-contents";
import ToolFooter from "@/app/_components/tool-footer";
import ScopePicker from "@/app/_components/scope-picker";
import { Callout } from "nextra/components";
The GoogleSlides MCP Server provides a set of tools for interacting with Google Slides presentations. These tools enable users and AI applications to:
- Create new presentations and add slides.
- Comment on specific slides and list all comments in a presentation.
- Search for presentations in Google Drive.
- Retrieve and convert presentation content to markdown format.
## Available Tools
If you need to perform an action that's not listed here, you can [get in touch
with us](mailto:contact@arcade.dev) to request a new tool, or [create your own
tools](/guides/create-tools/tool-basics/build-mcp-server).
Each tool requires specific Google OAuth scopes to function. You'll find the required scopes listed in a blue info box at the end of each tool's documentation below. For more information about configuring OAuth and tips for moving to production, see the [Google auth provider documentation](/references/auth-providers/google.
The `drive.file` scope only grants access to files that were created or opened by your application. If you need broader access to a user's Google Drive presentations (e.g., to access presentations created by other applications), you'll need to create your own Google OAuth provider and request the `drive.readonly` or `drive` scope. Note that these broader scopes are **not supported** by Arcade's default Google OAuth provider.
## Find required scopes
Select the tools you plan to use to see the OAuth scopes your application needs:
---
## GoogleSlides.CommentOnPresentation
Comment on a specific slide by its index in a Google Slides presentation.
**Parameters**
- **presentation_id** (`string`, required) The ID of the presentation to comment on
- **comment_text** (`string`, required) The comment to add to the slide
`https://www.googleapis.com/auth/drive.file`
---
## GoogleSlides.ListPresentationComments
List all comments on the specified Google Slides presentation.
**Parameters**
- **presentation_id** (`string`, required) The ID of the presentation to list comments for
- **include_deleted** (`boolean`, optional) Whether to include deleted comments in the results. Defaults to False.
`https://www.googleapis.com/auth/drive.file`
---
## GoogleSlides.CreatePresentation
Create a new Google Slides presentation
**Parameters**
- **title** (`string`, required) The title of the presentation to create
- **subtitle** (`string`, optional) The subtitle of the presentation to create
`https://www.googleapis.com/auth/drive.file`
---
## GoogleSlides.CreateSlide
Create a new slide at the end of the specified presentation
**Parameters**
- **presentation_id** (`string`, required) The ID of the presentation to create the slide in
- **slide_title** (`string`, required) The title of the slide to create
- **slide_body** (`string`, required) The body (text) of the slide to create
`https://www.googleapis.com/auth/drive.file`
---
## GoogleSlides.SearchPresentations
Searches for presentations in the user's Google Drive.
**Parameters**
- **presentation_contains** (`array[string]`, optional) Keywords or phrases that must be in the presentation title or content. Provide a list of keywords or phrases if needed.
- **presentation_not_contains** (`array[string]`, optional) Keywords or phrases that must NOT be in the presentation title or content. Provide a list of keywords or phrases if needed.
- **search_only_in_shared_drive_id** (`string`, optional) The ID of the shared drive to restrict the search to. If provided, the search will only return presentations from this drive. Defaults to None, which searches across all drives.
- **include_shared_drives** (`boolean`, optional) Whether to include presentations from shared drives. Defaults to False (searches only in the user's 'My Drive').
- **include_organization_domain_presentations** (`boolean`, optional) Whether to include presentations from the organization's domain. This is applicable to admin users who have permissions to view organization-wide presentations in a Google Workspace account. Defaults to False.
- **order_by** (`Enum` OrderBy, optional) Sort order. Defaults to listing the most recently modified presentations first
- **limit** (`integer`, optional) The number of presentations to list
- **pagination_token** (`string`, optional) The pagination token to continue a previous request
`https://www.googleapis.com/auth/drive.file`
---
## GoogleSlides.WhoAmI
Get comprehensive user profile and Google Slides environment information.
**Parameters**
This tool does not take any parameters.
- `https://www.googleapis.com/auth/drive.file`
- `https://www.googleapis.com/auth/userinfo.profile`
- `https://www.googleapis.com/auth/userinfo.email`
---
## GoogleSlides.GenerateGoogleFilePickerUrl
Generate a Google File Picker URL for user-driven file selection and authorization.
**Parameters**
This tool does not take any parameters.
No additional scopes required (uses basic Google authentication).
---
## GoogleSlides.GetPresentationAsMarkdown
Get the specified Google Slides presentation and convert it to markdown.
**Parameters**
- **presentation_id** (`string`, required) The ID of the presentation to retrieve.
`https://www.googleapis.com/auth/drive.file`
---
## Auth
The Arcade GoogleSlides MCP Sever uses the [Google auth provider](/references/auth-providers/google to connect to users' GoogleSlides accounts. Please refer to the [Google auth provider](/references/auth-providers/google documentation to learn how to configure auth.
## GoogleSlides Reference
Below is a reference of enumerations used by some tools in the GoogleSlides MCP Sever:
### OrderBy
- **CREATED_TIME**: `createdTime`
- **CREATED_TIME_DESC**: `createdTime desc`
- **FOLDER**: `folder`
- **FOLDER_DESC**: `folder desc`
- **MODIFIED_BY_ME_TIME**: `modifiedByMeTime`
- **MODIFIED_BY_ME_TIME_DESC**: `modifiedByMeTime desc`
- **MODIFIED_TIME**: `modifiedTime`
- **MODIFIED_TIME_DESC**: `modifiedTime desc`
- **NAME**: `name`
- **NAME_DESC**: `name desc`
- **NAME_NATURAL**: `name_natural`
- **NAME_NATURAL_DESC**: `name_natural desc`
- **QUOTA_BYTES_USED**: `quotaBytesUsed`
- **QUOTA_BYTES_USED_DESC**: `quotaBytesUsed desc`
- **RECENCY**: `recency`
- **RECENCY_DESC**: `recency desc`
- **SHARED_WITH_ME_TIME**: `sharedWithMeTime`
- **SHARED_WITH_ME_TIME_DESC**: `sharedWithMeTime desc`
- **STARRED**: `starred`
- **STARRED_DESC**: `starred desc`
- **VIEWED_BY_ME_TIME**: `viewedByMeTime`
- **VIEWED_BY_ME_TIME_DESC**: `viewedByMeTime desc`