Google Docs/Sheets MCP Server
A remote MCP server that lets Claude edit existing Google Docs and Sheets, supporting search, replace, append, and insert operations for Docs, and search, update, and append rows for Sheets.
README
Google Docs/Sheets MCP Server
A remote MCP server that lets Claude actually edit your existing Google Docs and Sheets — not just read them or create new ones.
Tools it exposes:
docs_search,docs_read,docs_replace_text,docs_append_text,docs_insert_text_at,docs_createsheets_search,sheets_read,sheets_update_cells,sheets_append_rows,sheets_create
This server acts as your Google account only (whichever account you authorize in Step 2). It's meant for personal or single-team use, not as a multi-tenant public service.
Step 1 — Create a Google Cloud OAuth client
- Go to https://console.cloud.google.com/ and create a project (or use an existing one).
- Go to APIs & Services → Library and enable:
- Google Docs API
- Google Sheets API
- Google Drive API
- Go to APIs & Services → OAuth consent screen. Choose External, fill in the required fields, and add yourself as a test user. (You don't need to publish the app — test mode works fine for personal use.)
- Go to APIs & Services → Credentials → Create Credentials → OAuth client ID.
- Application type: Desktop app
- Save the generated Client ID and Client Secret.
Step 2 — Get a refresh token (run this on your own computer)
cd gdocs-mcp-server
npm install
GOOGLE_CLIENT_ID=your_client_id \
GOOGLE_CLIENT_SECRET=your_client_secret \
npm run get-token
This opens a URL for you to visit — log in and approve access. The script
prints a GOOGLE_REFRESH_TOKEN value in your terminal. Save it; you'll need
it in Step 3.
Step 3 — Deploy the server
Pick any host that runs a persistent Node.js process and gives you a public HTTPS URL. Render.com is a straightforward free option:
- Push this folder to a GitHub repo (or use Render's "public Git repo" deploy).
- On Render: New → Web Service, connect the repo.
- Build command:
npm install - Start command:
npm start - Add environment variables (from Environment tab):
GOOGLE_CLIENT_IDGOOGLE_CLIENT_SECRETGOOGLE_REFRESH_TOKEN(from Step 2)MCP_ACCESS_TOKEN— make up a long random secret (e.g. runopenssl rand -hex 32locally)
- Deploy. Render will give you a URL like
https://your-app.onrender.com.
Your MCP endpoint is then: https://your-app.onrender.com/mcp
(Railway, Fly.io, or a small VPS all work the same way — the only requirement is a public HTTPS URL and the same environment variables.)
Step 4 — Connect it to Claude
- In Claude, go to Settings → Connectors.
- Click "+" → Add custom connector.
- Paste in your server URL:
https://your-app.onrender.com/mcp - Click Advanced settings → under Request headers, add:
- Header name:
Authorization - Header value:
Bearer YOUR_MCP_ACCESS_TOKEN(the same secret from Step 3)
- Header name:
- Click Add, then Connect.
- In any chat, use the "+" button → Connectors → toggle this one on.
You can now ask Claude things like "update cell B2 in my Q3 budget sheet to 5000" or "replace 'draft' with 'final' throughout my proposal doc" and it will actually make the change.
Testing locally before you deploy
cp .env.example .env
# fill in .env with your values
npm install
npm start
The server listens on http://localhost:3000/mcp. You won't be able to point
Claude's hosted product at localhost directly (it needs a public URL), but
this is useful for catching errors before you deploy.
Notes and limitations
- This server edits Docs/Sheets as whichever Google account you authorized in Step 2 — anyone using this connector acts as that account.
docs_replace_textreplaces plain text only; it won't preserve rich formatting differences between the old and new text.- Sheets values are written with
USER_ENTEREDinput, so formulas like=SUM(A1:A10)are interpreted, not stored as literal text. - If you ever want to revoke access, go to https://myaccount.google.com/permissions and remove the app.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Neon Database
MCP server for interacting with Neon Management API and databases
E2B
Using MCP to run code via e2b.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.