google-slides-mcp
Allows creating, reading, and modifying Google Slides presentations programmatically, including managing slides, text, shapes, images, and speaker notes.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@google-slides-mcpCreate a new presentation about Q3 results"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Google Slides MCP Server
This process is an MCP server for the Google Slides API. A host talks to it on stdio. The first start opens a browser. You paste a Desktop client id and client secret. Google consent follows. Later starts read the token store.
Prerequisites
Node.js 20 or later
A Google Cloud project with the Google Slides API enabled
An OAuth Desktop client id and client secret
You do not need a refresh token. You do not need process env.
Related MCP server: Google Slides MCP Server
Claude Code
Create a Desktop OAuth client. Use the Google Auth platform steps below.
In Claude Code run:
/plugin marketplace add matteoantoci/claude-plugins
/plugin install google-slides-mcp@matteoantoci-pluginsRun
/reload-pluginsif Claude asks.The first start opens a browser. Paste the client id and the client secret. Finish Google consent.
Later sessions read the token store. No host JSON. No env.
Other hosts
Clone this repository.
Run
npm install.Run
npm run build.Create a Desktop OAuth client in Google Cloud Console:
Open Google Auth platform.
If the page says the platform is not configured, click Get Started.
App name:
Google Slides MCP. User support email: your address.Audience: External.
Contact email: your address. Agree to the policy. Click Create.
Open Audience. Add your Gmail as a test user.
Open Data Access. Add
https://www.googleapis.com/auth/presentationsandhttps://www.googleapis.com/auth/drive.readonly. Save.Open Clients. Click Create Client. Application type: Desktop app. Name:
Google Slides MCP Desktop. Click Create.Copy the client id and the client secret.
Run
npm run start. Paste the client id and the client secret. Finish Google consent. Then stop the process.Point the host at
node /path/to/google-slides-mcp/build/index.js. Do not set env.
Example host config:
"google-slides-mcp": {
"transportType": "stdio",
"command": "node",
"args": [
"/path/to/google-slides-mcp/build/index.js"
]
}Replace the path with the compiled build/index.js on your machine.
First start
The process opens a loopback page.
If the store has no client id or client secret, paste those two values.
Continue to Google consent.
Close the success page.
The process writes the Google credential to the token store. It tries the OS keychain first. It uses ~/.config/google-slides-mcp/credential.json if the keychain is not available. File mode is 0600.
Later starts use the store. No browser.
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, and GOOGLE_REFRESH_TOKEN can override one field. They are never required. If env supplies a missing field, the process writes the merged credential to the store.
Run without a host
npm run startThe process listens on stdio. Stderr prints Google Slides MCP server running and connected via stdio.
Available Tools
create_presentation: Creates a new Google Slides presentation.Input:
title(string, required): The title for the new presentation.
Output: JSON object representing the created presentation details.
get_presentation: Retrieves details about an existing presentation.Input:
presentationId(string, required): The ID of the presentation to retrieve.fields(string, optional): A field mask (e.g., "slides,pageSize") to limit the returned data.
Output: JSON object representing the presentation details.
batch_update_presentation: Applies a series of updates to a presentation. This is the primary method for modifying slides (adding text, shapes, images, creating slides, etc.).Input:
presentationId(string, required): The ID of the presentation to update.requests(array, required): An array of request objects defining the updates. Refer to the Google Slides APIbatchUpdatedocumentation for the structure of individual requests.writeControl(object, optional): Controls write request execution (e.g., using revision IDs).
Output: JSON object representing the result of the batch update.
get_page: Retrieves details about a specific page (slide) within a presentation.Input:
presentationId(string, required): The ID of the presentation to retrieve.pageObjectId(string, required): The object ID of the page (slide) to retrieve.
Output: JSON object representing the page details.
summarize_presentation: Extracts and formats all text content from a presentation for easier summarization.Input:
presentationId(string, required): The ID of the presentation to summarize.include_notes(boolean, optional): Whether to include speaker notes in the summary. Defaults to false.
Output: JSON object containing:
title: The presentation's titleslideCount: Total number of slideslastModified: Revision informationslides: Array of slide objects containing:slideNumber: Position in presentationslideId: Object ID of the slidecontent: All text extracted from the slidenotes: Speaker notes (if requested and available)
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables interaction with Google Spreadsheets through the Model Context Protocol. Supports reading, writing, appending rows, creating sheets, and retrieving spreadsheet information with Google Cloud service account authentication.5425MIT
- FlicenseBqualityDmaintenanceEnables interaction with Google Slides presentations through OAuth2 authentication. Supports creating new slides, adding rectangles, and managing presentation content through natural language commands.6
- AlicenseNot gradedqualityDmaintenanceEnables reading, writing, and managing Google Sheets documents with support for batch operations, formatting, charts, and conditional formatting through the Model Context Protocol.6,035MIT
- AlicenseAqualityDmaintenanceEnables interaction with Google's NotebookLM via the Model Context Protocol to manage notebooks, sources, and research tasks. Users can create, query, and summarize content, as well as generate artifacts like audio overviews and slide decks using natural language.321MIT
Related MCP Connectors
Presentations.AI MCP server — create designed slide decks from a topic, text, or document.
Generate, edit, and export AI presentations to PDF, PPTX, or a shareable link.
Deterministic, fully editable PowerPoint from typed slide intents. 200+ layouts, brand templates.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/matteoantoci/google-slides-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server