Google MCP Server
Allows creating email drafts in Gmail.
Allows appending text to existing Google Docs documents.
Click on "Install 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 Docs & Gmail 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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/saksham20189575/mcp-server-new'
If you have feedback or need assistance with the MCP directory API, please join our Discord server