mcp-google
Allows reading unread emails, fetching full email content by ID, and sending emails via Gmail API.
Allows retrieving today's events, this week's agenda, and creating calendar events via Google Calendar API.
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., "@mcp-googleShow my unread emails"
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.
mcp-google
MCP server for Google APIs — Gmail and Calendar tools for LLM agents.
Install
# Run directly with uvx (no install needed)
uvx mcp-google
# Or install with pip
pip install mcp-googleRelated MCP server: gg-mcp
Environment Variables
Variable | Description |
| OAuth2 client ID from Google Cloud Console |
| OAuth2 client secret |
| JSON array of account configs (see below) |
GOOGLE_ACCOUNTS_JSON format
[
{"email": "personal@gmail.com", "refresh_token": "1//..."},
{"email": "work@company.com", "refresh_token": "1//..."}
]The first account in the array is used as default when no account parameter is specified.
Tools
Phase 1 — Read-only
Tool | Parameters | Description |
|
| List unread emails (subject, sender, date, snippet) |
|
| Get full email content by ID |
|
| Today's events |
|
| This week's agenda |
Phase 2 — Write
Tool | Parameters | Description |
|
| Send an email |
|
| Create a calendar event |
OAuth Setup
Go to Google Cloud Console
Create a project (or select existing)
Enable Gmail API and Google Calendar API
Go to Credentials > Create Credentials > OAuth 2.0 Client ID
Application type: Desktop app
Note the Client ID and Client Secret
Configure OAuth consent screen with required scopes:
https://www.googleapis.com/auth/gmail.readonlyhttps://www.googleapis.com/auth/gmail.sendhttps://www.googleapis.com/auth/calendar.readonlyhttps://www.googleapis.com/auth/calendar.events
Obtain refresh tokens for each account using the OAuth2 flow
Set environment variables (copy
.env.exampleto.envand fill in values)
Obtaining Refresh Tokens
Use the Google OAuth Playground or run a local OAuth flow:
# Quick method via oauth2l
pip install google-auth-oauthlib
python -c "
from google_auth_oauthlib.flow import InstalledAppFlow
flow = InstalledAppFlow.from_client_config(
{'installed': {'client_id': 'YOUR_CLIENT_ID', 'client_secret': 'YOUR_SECRET', 'auth_uri': 'https://accounts.google.com/o/oauth2/auth', 'token_uri': 'https://oauth2.googleapis.com/token'}},
scopes=['https://www.googleapis.com/auth/gmail.readonly', 'https://www.googleapis.com/auth/gmail.send', 'https://www.googleapis.com/auth/calendar.readonly', 'https://www.googleapis.com/auth/calendar.events']
)
creds = flow.run_local_server(port=0)
print(f'Refresh token: {creds.refresh_token}')
"Running
# As MCP server (stdio transport)
mcp-google
# Or directly
python -m mcp_google.serverClaude Desktop config
{
"mcpServers": {
"google": {
"command": "mcp-google",
"env": {
"GOOGLE_CLIENT_ID": "...",
"GOOGLE_CLIENT_SECRET": "...",
"GOOGLE_ACCOUNTS_JSON": "[{\"email\": \"me@gmail.com\", \"refresh_token\": \"...\"}]"
}
}
}
}License
MIT
This server cannot be installed
Maintenance
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/antonio-mello-ai/mcp-google'
If you have feedback or need assistance with the MCP directory API, please join our Discord server