Google Docs MCP server
{
"mcpServers": {
"a1-x-tech-google-docs": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-docs@latest"
],
"env": {
"GOOGLE_DOCS_CLIENT_ID": "<google_docs_client_id>",
"GOOGLE_DOCS_CLIENT_SECRET": "<google_docs_client_secret>",
"GOOGLE_DOCS_REFRESH_TOKEN": "<google_docs_refresh_token>",
"GOOGLE_DOCS_ACCESS_TOKEN": "<google_docs_access_token>"
}
}
}
}{
"mcpServers": {
"a1-x-tech-google-docs": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-docs@latest"
],
"env": {
"GOOGLE_DOCS_CLIENT_ID": "<google_docs_client_id>",
"GOOGLE_DOCS_CLIENT_SECRET": "<google_docs_client_secret>",
"GOOGLE_DOCS_REFRESH_TOKEN": "<google_docs_refresh_token>",
"GOOGLE_DOCS_ACCESS_TOKEN": "<google_docs_access_token>"
}
}
}
}{
"mcpServers": {
"a1-x-tech-google-docs": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-docs@latest"
],
"env": {
"GOOGLE_DOCS_CLIENT_ID": "<google_docs_client_id>",
"GOOGLE_DOCS_CLIENT_SECRET": "<google_docs_client_secret>",
"GOOGLE_DOCS_REFRESH_TOKEN": "<google_docs_refresh_token>",
"GOOGLE_DOCS_ACCESS_TOKEN": "<google_docs_access_token>"
}
}
}
}{
"servers": {
"a1-x-tech-google-docs": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-docs@latest"
],
"env": {
"GOOGLE_DOCS_CLIENT_ID": "${input:google_docs_client_id}",
"GOOGLE_DOCS_CLIENT_SECRET": "${input:google_docs_client_secret}",
"GOOGLE_DOCS_REFRESH_TOKEN": "${input:google_docs_refresh_token}",
"GOOGLE_DOCS_ACCESS_TOKEN": "${input:google_docs_access_token}"
}
}
},
"inputs": [
{
"id": "google_docs_client_id",
"type": "promptString",
"description": "Google docs client id",
"password": true
},
{
"id": "google_docs_client_secret",
"type": "promptString",
"description": "Google docs client secret",
"password": true
},
{
"id": "google_docs_refresh_token",
"type": "promptString",
"description": "Google docs refresh token",
"password": true
},
{
"id": "google_docs_access_token",
"type": "promptString",
"description": "Google docs access token",
"password": true
}
]
}{
"mcpServers": {
"a1-x-tech-google-docs": {
"command": "npx",
"args": [
"-y",
"@a1-x-tech/mcp-google-docs@latest"
],
"env": {
"GOOGLE_DOCS_CLIENT_ID": "<google_docs_client_id>",
"GOOGLE_DOCS_CLIENT_SECRET": "<google_docs_client_secret>",
"GOOGLE_DOCS_REFRESH_TOKEN": "<google_docs_refresh_token>",
"GOOGLE_DOCS_ACCESS_TOKEN": "<google_docs_access_token>"
}
}
}
}file .mcp.json (in your project root)file claude_desktop_config.jsonfile ~/.cursor/mcp.jsonfile .vscode/mcp.jsonfile ~/.codeium/windsurf/mcp_config.jsoninstall npx -y @a1-x-tech/mcp-google-docsversion 0.1.0
What it does
An MCP server that lets AI applications read and edit Google Docs using the Google Docs API. It handles document text, formatting, tables, images, and comments with edits targeting exact text ranges. For developers integrating Google Docs access into AI applications.
- Read a document as text or Markdown and summarize its content or comment threads.
- Edit specific passages in a document while preserving surrounding content and formatting.
- Export documents to PDF, DOCX, or Markdown format.
Tools this server exposes
| Tool | Does |
|---|---|
| read_document | Read a document as text, structure, or Markdown. |
| replace_text | Replace an exact text range in the document. |
| style_characters | Apply character-level styling to a specific range. |
| style_paragraphs | Apply paragraph-level styling such as heading or list styles. |
| manage_lists | Create or modify list structures in the document. |
| manage_tables | Create, modify, or delete table rows and cells. |
| manage_images | Insert or modify images in the document. |
| manage_breaks | Insert page breaks and other break types. |
| manage_comments | Read, create, or resolve comment threads. |
| export_document | Export the document to PDF, DOCX, or other formats. |
| create_from_markdown | Create a new document from Markdown content. |
| replace_document | Replace an entire document with Markdown content. |
Before you enable it
An MCP server runs with whatever access you give it. Start with a development account rather than production, and check which tools the server exposes before you let an agent call them unattended.