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: marp-agent-mcp
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
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
AlicenseBqualityBmaintenanceOfficial MCP server for ToseaAI that enables document-to-presentation workflows including PDF parsing, outline generation, and slide rendering. It provides a stable tool surface for AI agents to create, manage, and export presentations directly within their environment.Last updated211MIT- Flicense-qualityBmaintenanceMCP server for generating slides from natural language, with interactive preview and export to PDF, PPTX, and Markdown.Last updated17
- Alicense-qualityCmaintenanceAn MCP server that provides real-time control of Microsoft PowerPoint via COM automation, enabling AI agents to create and edit presentations with 155 tools across 26 categories.Last updated49MIT
- Flicense-qualityDmaintenanceAn MCP server that enables AI assistants to interact with Google Docs, Sheets, and Drive using the user's own Google account.Last updated
Related MCP Connectors
Presentations.AI MCP server — create designed slide decks from a topic, text, or document.
An MCP server that integrates with Discord to provide AI-powered features.
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
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/ryanvo162/google-slides-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server