Google Docs
Google Docs is an MCP server that adds productivity tools to AI assistants such as Claude Desktop, Claude Code and Cursor. MCP server for Google Docs integration with OAuth2 and service account support. It has 81 GitHub stars, is released under the MIT license and runs locally with npx -y google-docs-workspace-mcp-server.
- Official
- Needs API key
- Productivity
- MIT
- Actively maintained
Install Google Docs
Generated from the server's MCP registry entry. Replace your-value with your own values.
Claude Desktop
{
"mcpServers": {
"google-docs": {
"command": "npx",
"args": [
"-y",
"google-docs-workspace-mcp-server"
],
"env": {
"GOOGLE_DOCS_OAUTH_CLIENT_ID": "your-value",
"GOOGLE_DOCS_OAUTH_CLIENT_SECRET": "your-value",
"GOOGLE_DOCS_OAUTH_REFRESH_TOKEN": "your-value",
"GOOGLE_DOCS_SERVICE_ACCOUNT_PRIVATE_KEY": "your-value"
}
}
}
}Settings > Developer > Edit Config. macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\. Restart Claude Desktop afterwards.
Claude Code
claude mcp add --env GOOGLE_DOCS_OAUTH_CLIENT_ID=your-value --env GOOGLE_DOCS_OAUTH_CLIENT_SECRET=your-value --env GOOGLE_DOCS_OAUTH_REFRESH_TOKEN=your-value --env GOOGLE_DOCS_SERVICE_ACCOUNT_PRIVATE_KEY=your-value --transport stdio google-docs -- npx -y google-docs-workspace-mcp-serverCursor
{
"mcpServers": {
"google-docs": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"google-docs-workspace-mcp-server"
],
"env": {
"GOOGLE_DOCS_OAUTH_CLIENT_ID": "your-value",
"GOOGLE_DOCS_OAUTH_CLIENT_SECRET": "your-value",
"GOOGLE_DOCS_OAUTH_REFRESH_TOKEN": "your-value",
"GOOGLE_DOCS_SERVICE_ACCOUNT_PRIVATE_KEY": "your-value"
}
}
}
}Project file; use ~/.cursor/mcp.json to enable it in every project.
VS Code
{
"inputs": [
{
"type": "promptString",
"id": "google_docs_oauth_client_id",
"description": "GOOGLE_DOCS_OAUTH_CLIENT_ID",
"password": true
},
{
"type": "promptString",
"id": "google_docs_oauth_client_secret",
"description": "GOOGLE_DOCS_OAUTH_CLIENT_SECRET",
"password": true
},
{
"type": "promptString",
"id": "google_docs_oauth_refresh_token",
"description": "GOOGLE_DOCS_OAUTH_REFRESH_TOKEN",
"password": true
},
{
"type": "promptString",
"id": "google_docs_service_account_private_key",
"description": "GOOGLE_DOCS_SERVICE_ACCOUNT_PRIVATE_KEY",
"password": true
}
],
"servers": {
"google-docs": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"google-docs-workspace-mcp-server"
],
"env": {
"GOOGLE_DOCS_OAUTH_CLIENT_ID": "${input:google_docs_oauth_client_id}",
"GOOGLE_DOCS_OAUTH_CLIENT_SECRET": "${input:google_docs_oauth_client_secret}",
"GOOGLE_DOCS_OAUTH_REFRESH_TOKEN": "${input:google_docs_oauth_refresh_token}",
"GOOGLE_DOCS_SERVICE_ACCOUNT_PRIVATE_KEY": "${input:google_docs_service_account_private_key}"
}
}
}
}Config formats checked against the official docs on Oct 7, 2026: modelcontextprotocol.io (opens in a new tab), code.claude.com (opens in a new tab), cursor.com (opens in a new tab), code.visualstudio.com (opens in a new tab).
Environment variables
Variables the server reads at startup.
| Name | Required | Description |
|---|---|---|
GOOGLE_DOCS_OAUTH_CLIENT_IDsecret | No | OAuth2 client ID from Google Cloud Console. |
GOOGLE_DOCS_OAUTH_CLIENT_SECRETsecret | No | OAuth2 client secret from Google Cloud Console. |
GOOGLE_DOCS_OAUTH_REFRESH_TOKENsecret | No | Long-lived refresh token obtained from the oauth-setup command. |
GOOGLE_DOCS_SERVICE_ACCOUNT_CLIENT_EMAIL | No | Service account email address for domain-wide delegation. |
GOOGLE_DOCS_SERVICE_ACCOUNT_PRIVATE_KEYsecret | No | Service account private key in PEM format. |
GOOGLE_DOCS_IMPERSONATE_EMAIL | No | Email address to impersonate in Google Workspace. |
GOOGLE_DOCS_ENABLED_TOOLGROUPS | No | Comma-separated list of tool groups to enable (readonly, readwrite, readwrite_external). |
Tools (29)
Parsed from the Tools section of the README; check the repository for the current list.
get_documentFetch a Google Doc and return its title, outline, and full body.
document_idGoogle Docs ID or URL
formattext (default) for human-readable output, or json for the raw documents.get API resource
get_document_outlineReturn only the heading structure of a document — useful for getting your bearings on a long doc without pulling the…
create_documentCreate a new Google Doc.
titleDocument title
initial_contentPlain text inserted into the new document
update_documentApply raw documents.batchUpdate requests. This is the escape hatch for any Docs API operation not covered by the more…
requestsArray of documents.batchUpdate request objects (API reference)
append_textAppend text to the end of a document. Resolves the end-of-body index for you.
textText to append
insert_textInsert text at a specific index.
indexInsertion index (must be ≥ 1)
replace_textFind and replace text throughout a document. Reports the number of occurrences replaced.
findString to find
replaceReplacement string
match_caseWhether matching is case-sensitive (default: false)
delete_documentMove a document to Drive trash by default, or permanently delete it.
permanentWhen true, permanently delete instead of trashing (default: false)
export_documentExport a document in a different format.
list_commentsList the comments on a document, including threaded replies and resolved state.
include_resolvedInclude resolved (closed) threads (default: true). Set false to see only open comments.
include_deletedInclude deleted comments (default: false)
share_documentGrant access to a user, group, domain, or anyone with the link. Gated behind the readwriteexternal group.**
typeOne of user, group, domain, anyone
roleOne of reader, commenter, writer
email_addressRequired for type=user or type=group
domainRequired for type=domain
send_notification_emailWhether Google sends an email notification (default: true)
About Google Docs
An MCP (Model Context Protocol) server that provides Google Docs integration for AI assistants. Supports both personal Google accounts (via OAuth2) and Google Workspace accounts (via service account with domain-wide delegation).
Similar MCP servers
More productivity MCP servers
Kaneo
usekaneo/kaneo
Official MCP server for Kaneo: manage tasks, projects, and labels from Claude and other MCP clients.
OfficialProductivityTypeScriptPraisonAI
MervinPraison/PraisonAI
AI Agents Framework with Self Reflection and MCP support.
ProductivityPythonWindows MCP
CursorTouch/Windows-MCP
An MCP Server for computer-use in Windows OS.
ProductivityPythonExcel MCP Server
haris-musa/excel-mcp-server
Create, read and edit Excel workbooks without Microsoft Excel.
ProductivityPythonBasic Memory
basicmachines-co/basic-memory
Local-first knowledge management with bi-directional LLM sync via Markdown files.
ProductivityPythonRevoGrid DataGrid MCP
revolist/revogrid
Token-free MCP server for structured RevoGrid Core, Pro, and Enterprise knowledge retrieval.
ProductivityTypeScript
What is Google Docs?
Google Docs is an MCP server that adds productivity tools to AI assistants such as Claude Desktop, Claude Code and Cursor. MCP server for Google Docs integration with OAuth2 and service account support. It has 81 GitHub stars, is released under the MIT license and runs locally with npx -y google-docs-workspace-mcp-server. The source code is at github.com/pulsemcp/mcp-servers.
How do I install the Google Docs MCP server?
Add the command npx -y google-docs-workspace-mcp-server to your MCP client: put it in claude_desktop_config.json for Claude Desktop, run claude mcp add for Claude Code, or add it to .cursor/mcp.json (Cursor) or .vscode/mcp.json (VS Code). The snippets on this page are ready to paste.
Is Google Docs free?
The server is open source under the MIT license, so running it is free. It needs credentials (GOOGLE_DOCS_OAUTH_CLIENT_ID, GOOGLE_DOCS_OAUTH_CLIENT_SECRET, GOOGLE_DOCS_OAUTH_REFRESH_TOKEN and GOOGLE_DOCS_SERVICE_ACCOUNT_PRIVATE_KEY) for the service it connects to, which may require a paid account.
Is Google Docs actively maintained?
The most recent commit was on Aug 30, 2026. The latest release is monorepo-latest-placeholder@0.0.0, published Jul 3, 2025. appsgit only lists MCP servers with a commit in the last six months and re-checks every server daily.