Google MCP Server
Allows creating email drafts via the Gmail API.
Allows appending content to Google Docs documents via the Docs API.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Google MCP Server
A Python FastAPI server that integrates with Google Docs and Gmail. It exposes tool-style HTTP endpoints with a terminal approval step before any action runs.
Features
Endpoint | Description |
| Append text to a Google Doc |
| Create a Gmail draft |
| Health check |
Before each action executes, the server prints the action name and payload to the terminal and prompts:
Approve? (y/n)The request is only processed if you type y.
Related MCP server: Google MCP Server
Prerequisites
Python 3.10+
A Google Cloud project with Google Docs API and Gmail API enabled
OAuth 2.0 Desktop credentials downloaded as
credentials.json
Google Cloud Setup
Go to Google Cloud Console.
Create a project (or select an existing one).
Enable these APIs:
Go to APIs & Services → Credentials.
Click Create Credentials → OAuth client ID.
Choose Desktop app as the application type.
Download the JSON file and save it as
credentials.jsonin this directory.
Installation
cd google-mcp-server
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS / Linux
source .venv/bin/activate
pip install -r requirements.txtPlace your downloaded credentials.json in the project root (same folder as server.py).
First-Time Authentication
Local development
On the first API call, a browser window opens for Google OAuth login. After you approve access, a token.json file is created automatically. Subsequent runs reuse this token (refreshing it when expired).
Railway / production (GOOGLE_TOKEN_JSON)
Railway requires a token with a refresh_token. Generate it locally:
# Revoke old access first if re-authenticating:
# https://myaccount.google.com/permissions
python authenticate.pyCopy the entire token.json contents into Railway variable GOOGLE_TOKEN_JSON, then redeploy.
GET /health reports has_refresh_token and google_token_usable so WeeklyPulse can fail fast before long runs.
Do not commit credentials.json or token.json. They are listed in .gitignore.
Running the Server
python server.pyThe server starts at http://localhost:8000.
Interactive API docs: http://localhost:8000/docs
Usage Examples
Append to a Google Doc
Find the document ID in the URL:
https://docs.google.com/document/d/DOCUMENT_ID/editcurl -X POST http://localhost:8000/append_to_doc \
-H "Content-Type: application/json" \
-d "{\"doc_id\": \"YOUR_DOC_ID\", \"content\": \"\\nHello from MCP server!\"}"Switch to the terminal where the server is running and type y when prompted.
Create a Gmail Draft
curl -X POST http://localhost:8000/create_email_draft \
-H "Content-Type: application/json" \
-d "{\"to\": \"recipient@example.com\", \"subject\": \"Test Draft\", \"body\": \"Hello from the MCP server.\"}"Approve with y in the server terminal.
Project Structure
google-mcp-server/
├── server.py # FastAPI app with tool endpoints
├── auth.py # Google OAuth authentication
├── docs_tool.py # Google Docs tool (append content)
├── gmail_tool.py # Gmail tool (create draft)
├── requirements.txt # Dependencies
├── README.md # This file
├── credentials.json # (not committed) OAuth client secrets
└── token.json # (not committed) Saved access tokenOAuth Scopes
https://www.googleapis.com/auth/documents— read and edit Google Docshttps://www.googleapis.com/auth/gmail.compose— create and manage Gmail drafts
Troubleshooting
Issue | Fix |
| Download OAuth credentials from Google Cloud Console |
| Enable Docs and Gmail APIs in your GCP project |
| Delete |
| Run |
Approval prompt not visible | Run the server in a foreground terminal, not as a background service |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Preventive human-approval write-gate for AI agents: writes commit only after a human approves.
Multiple Gmail accounts, editable Google Sheets & Docs for AI agents. Deny-by-default access rules.
The judgment layer for email. Connect Gmail, Outlook, iCloud, Yahoo and IMAP to AI apps in one MCP connection. Nothing sends until you approve it.
Publish drafts to Google Docs for review, then revise and resolve reviewer comments in your AI tool
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceIntegrates with Google Docs and Gmail to enable document editing and email drafting, with approval prompts for each action.-
- FlicenseNot gradedqualityDmaintenanceEnables appending text to Google Docs and creating Gmail drafts, with interactive terminal approval before each action.-
- FlicenseNot gradedqualityDmaintenanceIntegrates with Google Docs and Gmail to append content to documents and create email drafts, featuring a manual approval system.-
- FlicenseNot gradedqualityDmaintenanceEnables interaction with Google Docs and Gmail, allowing users to append text to documents and create email drafts with explicit approval prompts.-