# Google Docs (MCP server)

> 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.

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).

## Key facts

| Fact | Value |
|---|---|
| Repository | https://github.com/pulsemcp/mcp-servers |
| GitHub stars | 81 |
| License | MIT |
| Language | TypeScript |
| Transport | stdio |
| Packages | npm: google-docs-workspace-mcp-server |
| Remote URL | none |
| Needs API key | yes |
| Official | yes |
| Works with | Claude Desktop, Claude Code, Cursor, VS Code |
| Category | Productivity |
| Latest release | monorepo-latest-placeholder@0.0.0 (Jul 3, 2025) |
| Last commit | Aug 30, 2026 |
| MCP registry name | com.pulsemcp/google-docs |

## Install

### Claude Desktop (claude_desktop_config.json)

```json
{
  "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

```sh
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-server
```

### Cursor (.cursor/mcp.json)

```json
{
  "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 (.vscode/mcp.json)

```json
{
  "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 2026-10-07.

## Environment variables

- `GOOGLE_DOCS_OAUTH_CLIENT_ID` (secret): OAuth2 client ID from Google Cloud Console.
- `GOOGLE_DOCS_OAUTH_CLIENT_SECRET` (secret): OAuth2 client secret from Google Cloud Console.
- `GOOGLE_DOCS_OAUTH_REFRESH_TOKEN` (secret): Long-lived refresh token obtained from the oauth-setup command.
- `GOOGLE_DOCS_SERVICE_ACCOUNT_CLIENT_EMAIL`: Service account email address for domain-wide delegation.
- `GOOGLE_DOCS_SERVICE_ACCOUNT_PRIVATE_KEY` (secret): Service account private key in PEM format.
- `GOOGLE_DOCS_IMPERSONATE_EMAIL`: Email address to impersonate in Google Workspace.
- `GOOGLE_DOCS_ENABLED_TOOLGROUPS`: Comma-separated list of tool groups to enable (readonly, readwrite, readwrite_external).

## Tools

- `get_document`: Fetch a Google Doc and return its title, outline, and full body.
- `document_id`: Google Docs ID or URL
- `format`: text (default) for human-readable output, or json for the raw documents.get API resource
- `get_document_outline`: Return only the heading structure of a document — useful for getting your bearings on a long doc without pulling the…
- `create_document`: Create a new Google Doc.
- `title`: Document title
- `initial_content`: Plain text inserted into the new document
- `update_document`: Apply raw documents.batchUpdate requests. This is the escape hatch for any Docs API operation not covered by the more…
- `requests`: Array of documents.batchUpdate request objects (API reference)
- `append_text`: Append text to the end of a document. Resolves the end-of-body index for you.
- `text`: Text to append
- `insert_text`: Insert text at a specific index.
- `index`: Insertion index (must be ≥ 1)
- `replace_text`: Find and replace text throughout a document. Reports the number of occurrences replaced.
- `find`: String to find
- `replace`: Replacement string
- `match_case`: Whether matching is case-sensitive (default: false)
- `delete_document`: Move a document to Drive trash by default, or permanently delete it.
- `permanent`: When true, permanently delete instead of trashing (default: false)
- `export_document`: Export a document in a different format.
- `list_comments`: List the comments on a document, including threaded replies and resolved state.
- `include_resolved`: Include resolved (closed) threads (default: true). Set false to see only open comments.
- `include_deleted`: Include deleted comments (default: false)
- `share_document`: Grant access to a user, group, domain, or anyone with the link. Gated behind the readwriteexternal group.**
- `type`: One of user, group, domain, anyone
- `role`: One of reader, commenter, writer
- `email_address`: Required for type=user or type=group
- `domain`: Required for type=domain
- `send_notification_email`: Whether Google sends an email notification (default: true)

## Similar MCP servers

- [Kaneo](https://appsgit.com/mcp-servers/kaneo): Official MCP server for Kaneo: manage tasks, projects, and labels from Claude and other MCP clients. (9,368 stars, MIT, official, needs API key)
- [PraisonAI](https://appsgit.com/mcp-servers/praisonai): AI Agents Framework with Self Reflection and MCP support. (9,192 stars, MIT)
- [Windows MCP](https://appsgit.com/mcp-servers/windows-mcp): An MCP Server for computer-use in Windows OS. (7,725 stars, MIT)
- [Excel MCP Server](https://appsgit.com/mcp-servers/excel-mcp-server): Create, read and edit Excel workbooks without Microsoft Excel. (4,212 stars, MIT)
- [Basic Memory](https://appsgit.com/mcp-servers/basic-memory): Local-first knowledge management with bi-directional LLM sync via Markdown files. (4,108 stars, AGPL-3.0)
- [RevoGrid DataGrid MCP](https://appsgit.com/mcp-servers/revogrid-datagrid-mcp): Token-free MCP server for structured RevoGrid Core, Pro, and Enterprise knowledge retrieval. (3,448 stars, MIT)

---

Canonical page: https://appsgit.com/mcp-servers/google-docs
Source: appsgit (https://appsgit.com), the app store for github. Data from the GitHub API, refreshed nightly.
Machine access: JSON API https://appsgit.com/api/v1/apps (OpenAPI: https://appsgit.com/openapi.json), MCP server https://mcp.appsgit.com/mcp, full index https://appsgit.com/llms-full.txt.
