Google MCP Server
Allows creating email drafts in Gmail.
Allows appending text to existing Google Docs documents.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google MCP ServerCreate a draft email to alice@example.com with subject 'Hello' and body 'How are you?'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Google MCP Server
A Python FastAPI server that exposes Google Docs and Gmail operations with interactive terminal approval before each action.
Features
POST /append_to_doc — Append text to an existing Google Doc
POST /create_email_draft — Create a Gmail draft email
Interactive approval — Every action prints its name and payload to the terminal and waits for
ybefore proceedingOAuth 2.0 — Authenticates once via browser; reuses
token.jsonon subsequent runs
Related MCP server: Google MCP Server
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 from Google Cloud
└── token.json # (NOT committed) Auto-generated after first loginPrerequisites
Python 3.10+
A Google Cloud project with Google Docs API and Gmail API enabled
OAuth 2.0 Desktop client credentials downloaded as
credentials.json
Google Cloud Setup
Go to Google Cloud Console.
Create or select a project.
Enable these APIs:
Configure the OAuth consent screen (External or Internal, add your email as a test user if External).
Create credentials:
APIs & Services → Credentials → Create Credentials → OAuth client ID
Application type: Desktop app
Download the JSON file and save it as
credentials.jsonin this directory.
Installation
cd google-mcp-server
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txtPlace your downloaded credentials.json in the google-mcp-server/ directory.
First-Time Authentication
On the first API call (or when token.json is missing/expired), a browser window opens for Google sign-in. After approval, credentials are saved to token.json and reused automatically.
To authenticate ahead of time:
python -c "from auth import get_credentials; get_credentials()"Run the Server
python server.pyThe server listens at http://127.0.0.1:8000. Keep the terminal visible — approval prompts appear there.
Interactive API docs: http://127.0.0.1:8000/docs
Usage Examples
Append to a Google Doc
Find the document ID in the URL: https://docs.google.com/document/d/<DOC_ID>/edit
curl -X POST http://127.0.0.1:8000/append_to_doc \
-H "Content-Type: application/json" \
-d '{"doc_id": "YOUR_DOC_ID", "content": "\nHello from the MCP server!\n"}'The terminal shows:
============================================================
Action: append_to_doc
Payload: {'doc_id': '...', 'content': '...'}
============================================================
Approve? (y/n):Type y to proceed, or anything else to reject (returns HTTP 403).
Create a Gmail Draft
curl -X POST http://127.0.0.1:8000/create_email_draft \
-H "Content-Type: application/json" \
-d '{"to": "recipient@example.com", "subject": "Hello", "body": "Draft created via API."}'Approve in the terminal when prompted. The draft appears in Gmail under Drafts.
OAuth Scopes
Scope | Purpose |
| Read and modify Google Docs |
| Create and manage Gmail drafts |
Security Notes
Never commit
credentials.jsonortoken.json(both are in.gitignore).The approval gate is a local safety check — run the server only on trusted machines.
Revoke access anytime at Google Account Permissions.
Troubleshooting
Issue | Fix |
| Download OAuth desktop credentials from Google Cloud Console |
| Add your Google account as a test user on the OAuth consent screen |
| You declined the prompt; retry and type |
Token expired | Delete |
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.
Permissioned access to Gmail, Drive and Calendar via the user's own Google account
Human-in-the-loop approval for agent actions, with verifiable action-bound receipts.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables appending text to Google Docs and creating Gmail drafts with interactive approval via terminal.-
- FlicenseNot gradedqualityCmaintenanceIntegrates with Google Docs and Gmail to append text to documents and create email drafts, with a terminal approval step before any action executes.-
- FlicenseNot gradedqualityCmaintenanceEnables appending content to Google Docs and creating Gmail drafts with interactive human-in-the-loop approval for safety.-
- FlicenseNot gradedqualityCmaintenanceEnables interaction with Google Docs and Gmail, allowing users to append text to documents and create email drafts with explicit approval prompts.-