google-slides-mcp
Allows creating, reading, editing, and managing Google Slides presentations, including adding slides, elements, tables, images, and exporting to PDF/PPTX/ODP.
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 titled 'Q3 Review'"
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
An MCP (Model Context Protocol) server for Google Slides. Enables AI assistants (Claude Code, Cursor, Windsurf, etc.) to create, read, and edit Google Slides presentations directly from chat.
Features
39 tools organized into 4 categories:
Presentations (4)
Tool | Description |
| Create a new presentation |
| Get metadata and slide summaries |
| Search presentations on Drive |
| Copy an entire presentation (template workflow) |
Slides (10)
Tool | Description |
| Add a slide with layout (BLANK, TITLE, TITLE_AND_BODY, ...) |
| Delete slide(s) |
| Duplicate a slide |
| Reorder slides |
| Get detailed element info for a slide |
| Set background color or image |
| Manage speaker notes |
| Import a slide from another presentation |
| Show/hide slide in slideshow |
Elements (25)
Group | Tools |
Insert | insertTextBox, insertImage, insertShape, insertTable, insertVideo, insertLine |
Table | insertTableRow, insertTableColumn, deleteTableRow, deleteTableColumn, updateTableCell, formatTableCell, mergeTableCells, unmergeTableCells |
Edit | updateText, updateTextStyle, updateShapeStyle, setParagraphStyle, moveResizeElement |
Other | deleteElement, groupElements, ungroupElements, replaceAllText, replaceImage, batchUpdate |
Export (2)
Tool | Description |
| Export to PDF, PPTX, or ODP |
| Get thumbnail image of a slide |
Related MCP server: mcp-ToseaAI
Setup Guide
Step 1: Create a Google Cloud Project
Go to Google Cloud Console
Click Select a project > New Project
Name your project (e.g.,
google-slides-mcp) > Create
Step 2: Enable APIs
Navigate to APIs & Services > Library
Search and Enable these 2 APIs:
Google Slides API
Google Drive API
Step 3: Create OAuth Credentials
Go to APIs & Services > Credentials
Click + CREATE CREDENTIALS > OAuth client ID
If you haven't configured the consent screen yet:
Click Configure Consent Screen
Select External > Create
Fill in App name (e.g.,
Slides MCP)Add User support email and Developer contact email
Click Save and Continue through all steps > Back to Dashboard
Go back to Credentials > + CREATE CREDENTIALS > OAuth client ID
Application type: Desktop app
Name it (e.g.,
Slides MCP Desktop)Click Create
Click Download JSON > save as
credentials.json
Step 4: Install
git clone https://github.com/ryanvo162/google-slides-mcp.git
cd google-slides-mcp
npm install
npm run buildStep 5: Authorize
Copy your credentials.json (downloaded in Step 3) into the project folder:
cp /path/to/credentials.json .Run the auth flow:
node dist/index.js authA URL will appear in the terminal. Open it in your browser, sign in with your Google account, and grant access. Your token will be saved at ~/.config/google-slides-mcp/token.json.
Note: If you see "This app isn't verified", click Advanced > Go to Slides MCP (unsafe). This is normal for unverified apps.
Step 6: Configure with Claude Code
Open ~/.claude.json and add to the mcpServers section:
{
"mcpServers": {
"google-slides": {
"command": "node",
"args": ["/full/path/to/google-slides-mcp/dist/index.js"]
}
}
}Replace /full/path/to/ with the actual path on your machine.
macOS example:
"args": ["/Users/username/google-slides-mcp/dist/index.js"]Windows example:
"args": ["C:\\Users\\username\\google-slides-mcp\\dist\\index.js"]Then restart Claude Code to load the MCP server.
Step 7: Test
Open Claude Code and try:
Create a new presentation called "Hello World"If Claude creates the presentation and returns a Google Slides link, you're all set!
Other MCP Clients
Cursor / Windsurf
Add to .cursor/mcp.json or .windsurf/mcp.json:
{
"mcpServers": {
"google-slides": {
"command": "node",
"args": ["/path/to/google-slides-mcp/dist/index.js"]
}
}
}Claude Desktop
Add to claude_desktop_config.json:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"google-slides": {
"command": "node",
"args": ["/path/to/google-slides-mcp/dist/index.js"]
}
}
}Environment Variables (optional)
Variable | Description |
| OAuth client ID (alternative to credentials.json) |
| OAuth client secret |
| Path to service account key file |
| Email to impersonate (service account only) |
| Profile name (supports multiple Google accounts) |
| debug, info, warn, error, silent (default: info) |
Security
OAuth
stateparameter for CSRF protectionToken file stored with permission
0600(owner-only read)Client secret not persisted in token file
Profile name sanitization (prevents path traversal)
Minimal OAuth scopes:
presentations+drive.file
Tech Stack
TypeScript + Node.js (ES2022)
FastMCP — MCP server framework
googleapis — Google APIs client
zod — Schema validation
Troubleshooting
"No OAuth credentials found"
Copy credentials.json into the project root. See Step 3 and 5.
"Token might expire"
Run node dist/index.js auth again to re-authorize.
"Google Slides client is not initialized"
Check that credentials.json is valid and Google Slides API is enabled (Step 2).
Claude Code doesn't show the tools
Verify the path in ~/.claude.json is correct. Restart Claude Code after updating the config.
License
ISC
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.
Latest Blog Posts
- 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/ryanvo162/google-slides-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server