MCP server for the Google Docs API — read documents as text, structure or Markdown, edit text by ranges, style, tables, images, comments and export. For Claude, Cursor, Codex and other AI clients.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add google-docs-a1-x-tech --env GOOGLE_DOCS_CLIENT_SECRET='<GOOGLE_DOCS_CLIENT_SECRET>' --env GOOGLE_DOCS_REFRESH_TOKEN='<GOOGLE_DOCS_REFRESH_TOKEN>' --env GOOGLE_DOCS_ACCESS_TOKEN='<GOOGLE_DOCS_ACCESS_TOKEN>' -- npx -y @a1-x-tech/mcp-google-docs~/.codex/config.toml
[mcp_servers.google-docs-a1-x-tech]
command = "npx"
args = ["-y", "@a1-x-tech/mcp-google-docs"]
env = { GOOGLE_DOCS_CLIENT_SECRET = "<GOOGLE_DOCS_CLIENT_SECRET>", GOOGLE_DOCS_REFRESH_TOKEN = "<GOOGLE_DOCS_REFRESH_TOKEN>", GOOGLE_DOCS_ACCESS_TOKEN = "<GOOGLE_DOCS_ACCESS_TOKEN>" }
# codex mcp add google-docs-a1-x-tech --env GOOGLE_DOCS_CLIENT_SECRET='<GOOGLE_DOCS_CLIENT_SECRET>' --env GOOGLE_DOCS_REFRESH_TOKEN='<GOOGLE_DOCS_REFRESH_TOKEN>' --env GOOGLE_DOCS_ACCESS_TOKEN='<GOOGLE_DOCS_ACCESS_TOKEN>' -- npx -y @a1-x-tech/mcp-google-docs~/.cursor/mcp.json
{
"mcpServers": {
"google-docs-a1-x-tech": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-docs"
],
"env": {
"GOOGLE_DOCS_CLIENT_SECRET": "<GOOGLE_DOCS_CLIENT_SECRET>",
"GOOGLE_DOCS_REFRESH_TOKEN": "<GOOGLE_DOCS_REFRESH_TOKEN>",
"GOOGLE_DOCS_ACCESS_TOKEN": "<GOOGLE_DOCS_ACCESS_TOKEN>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"google-docs-a1-x-tech": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-docs"
],
"env": {
"GOOGLE_DOCS_CLIENT_SECRET": "<GOOGLE_DOCS_CLIENT_SECRET>",
"GOOGLE_DOCS_REFRESH_TOKEN": "<GOOGLE_DOCS_REFRESH_TOKEN>",
"GOOGLE_DOCS_ACCESS_TOKEN": "<GOOGLE_DOCS_ACCESS_TOKEN>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"google-docs-a1-x-tech": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-docs"
],
"env": {
"GOOGLE_DOCS_CLIENT_SECRET": "<GOOGLE_DOCS_CLIENT_SECRET>",
"GOOGLE_DOCS_REFRESH_TOKEN": "<GOOGLE_DOCS_REFRESH_TOKEN>",
"GOOGLE_DOCS_ACCESS_TOKEN": "<GOOGLE_DOCS_ACCESS_TOKEN>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"google-docs-a1-x-tech": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-docs"
],
"env": {
"GOOGLE_DOCS_CLIENT_SECRET": "<GOOGLE_DOCS_CLIENT_SECRET>",
"GOOGLE_DOCS_REFRESH_TOKEN": "<GOOGLE_DOCS_REFRESH_TOKEN>",
"GOOGLE_DOCS_ACCESS_TOKEN": "<GOOGLE_DOCS_ACCESS_TOKEN>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"google-docs-a1-x-tech": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-docs"
],
"env": {
"GOOGLE_DOCS_CLIENT_SECRET": "<GOOGLE_DOCS_CLIENT_SECRET>",
"GOOGLE_DOCS_REFRESH_TOKEN": "<GOOGLE_DOCS_REFRESH_TOKEN>",
"GOOGLE_DOCS_ACCESS_TOKEN": "<GOOGLE_DOCS_ACCESS_TOKEN>"
}
}
}
}Environment variables
GOOGLE_DOCS_CLIENT_SECRETGOOGLE_DOCS_REFRESH_TOKENGOOGLE_DOCS_ACCESS_TOKEN
Replace the placeholders with your own credentials and keep them out of version control.