MCP server for the Google Slides API — create and edit presentations, slides, text, shapes, tables and images, manage speaker notes, comments, thumbnails and export. For Claude, Cursor, Codex and othe
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add google-slides --env GOOGLE_SLIDES_CLIENT_SECRET='<GOOGLE_SLIDES_CLIENT_SECRET>' --env GOOGLE_SLIDES_REFRESH_TOKEN='<GOOGLE_SLIDES_REFRESH_TOKEN>' --env GOOGLE_SLIDES_ACCESS_TOKEN='<GOOGLE_SLIDES_ACCESS_TOKEN>' -- npx -y @a1-x-tech/mcp-google-slides~/.codex/config.toml
[mcp_servers.google-slides]
command = "npx"
args = ["-y", "@a1-x-tech/mcp-google-slides"]
env = { GOOGLE_SLIDES_CLIENT_SECRET = "<GOOGLE_SLIDES_CLIENT_SECRET>", GOOGLE_SLIDES_REFRESH_TOKEN = "<GOOGLE_SLIDES_REFRESH_TOKEN>", GOOGLE_SLIDES_ACCESS_TOKEN = "<GOOGLE_SLIDES_ACCESS_TOKEN>" }
# codex mcp add google-slides --env GOOGLE_SLIDES_CLIENT_SECRET='<GOOGLE_SLIDES_CLIENT_SECRET>' --env GOOGLE_SLIDES_REFRESH_TOKEN='<GOOGLE_SLIDES_REFRESH_TOKEN>' --env GOOGLE_SLIDES_ACCESS_TOKEN='<GOOGLE_SLIDES_ACCESS_TOKEN>' -- npx -y @a1-x-tech/mcp-google-slides~/.cursor/mcp.json
{
"mcpServers": {
"google-slides": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-slides"
],
"env": {
"GOOGLE_SLIDES_CLIENT_SECRET": "<GOOGLE_SLIDES_CLIENT_SECRET>",
"GOOGLE_SLIDES_REFRESH_TOKEN": "<GOOGLE_SLIDES_REFRESH_TOKEN>",
"GOOGLE_SLIDES_ACCESS_TOKEN": "<GOOGLE_SLIDES_ACCESS_TOKEN>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"google-slides": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-slides"
],
"env": {
"GOOGLE_SLIDES_CLIENT_SECRET": "<GOOGLE_SLIDES_CLIENT_SECRET>",
"GOOGLE_SLIDES_REFRESH_TOKEN": "<GOOGLE_SLIDES_REFRESH_TOKEN>",
"GOOGLE_SLIDES_ACCESS_TOKEN": "<GOOGLE_SLIDES_ACCESS_TOKEN>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"google-slides": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-slides"
],
"env": {
"GOOGLE_SLIDES_CLIENT_SECRET": "<GOOGLE_SLIDES_CLIENT_SECRET>",
"GOOGLE_SLIDES_REFRESH_TOKEN": "<GOOGLE_SLIDES_REFRESH_TOKEN>",
"GOOGLE_SLIDES_ACCESS_TOKEN": "<GOOGLE_SLIDES_ACCESS_TOKEN>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"google-slides": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-slides"
],
"env": {
"GOOGLE_SLIDES_CLIENT_SECRET": "<GOOGLE_SLIDES_CLIENT_SECRET>",
"GOOGLE_SLIDES_REFRESH_TOKEN": "<GOOGLE_SLIDES_REFRESH_TOKEN>",
"GOOGLE_SLIDES_ACCESS_TOKEN": "<GOOGLE_SLIDES_ACCESS_TOKEN>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"google-slides": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-slides"
],
"env": {
"GOOGLE_SLIDES_CLIENT_SECRET": "<GOOGLE_SLIDES_CLIENT_SECRET>",
"GOOGLE_SLIDES_REFRESH_TOKEN": "<GOOGLE_SLIDES_REFRESH_TOKEN>",
"GOOGLE_SLIDES_ACCESS_TOKEN": "<GOOGLE_SLIDES_ACCESS_TOKEN>"
}
}
}
}Environment variables
GOOGLE_SLIDES_CLIENT_SECRETGOOGLE_SLIDES_REFRESH_TOKENGOOGLE_SLIDES_ACCESS_TOKEN
Replace the placeholders with your own credentials and keep them out of version control.