The Model Context Protocol (MCP) implementation in Google MCP enables AI models to interact with Google services through a standardized interface.
- Go 1.23.2 or higher
- Google Cloud Platform account with the following APIs enabled:
- Google Calendar API
- Gmail API
- Google Chat API
- Google Cloud credentials (OAuth 2.0 Client ID)
- Install the server:
go install github.com/nguyenvanduocit/google-mcp@latest- Create a
.envfile with your configuration:
# Required for Google Services
GOOGLE_CREDENTIALS_FILE= # Required: Path to Google Cloud credentials JSON file
GOOGLE_TOKEN_FILE= # Required: Path to store Google OAuth tokens
# Optional configurations
ENABLE_TOOLS= # Optional: Comma-separated list of tool groups to enable (empty = all enabled)
PROXY_URL= # Optional: HTTP/HTTPS proxy URL if neededhttps://developers.google.com/workspace/chat/authenticate-authorize-chat-user
- Configure your Claude's config:
{
"mcpServers": {
"google_mcp": {
"command": "google-mcp",
"args": ["-env", "/path/to/.env"]
}
}
}The ENABLE_TOOLS environment variable is a comma-separated list of tool groups to enable. Available groups are:
calendar- Google Calendar toolsgmail- Gmail toolsgchat- Google Chat tools
Leave it empty to enable all tools.
Create a new event in Google Calendar with title, description, time, and attendees.
List upcoming events in Google Calendar with customizable time range and result limit.
Update an existing event's details including title, description, time, and attendees.
Respond to an event invitation (accept, decline, or tentative).
List all available Google Chat spaces/rooms.
Send a message to a Google Chat space or direct message.
Search emails in Gmail using Gmail's search syntax.
Move specific emails to spam folder in Gmail by message IDs.
Create a Gmail filter with specified criteria and actions:
- Filter by sender, recipient, subject, or custom query
- Add labels
- Mark as important
- Mark as read
- Archive messages
List all Gmail filters in the account.
List all Gmail labels in the account.
Delete a Gmail filter by its ID.
Delete a Gmail label by its ID.
In addition to the MCP server, google-mcp ships a standalone CLI binary (google-cli) for direct terminal use — no MCP client needed.
just install-cli
# or
go install github.com/nguyenvanduocit/google-mcp/cmd/google-cli@latestexport GOOGLE_AI_API_KEY=your-api-key
# or
google-cli --env .env <command> [flags]| Command | Description |
|---|---|
list-events |
List Google Calendar events |
create-event |
Create a calendar event |
update-event |
Update a calendar event |
list-emails |
List Gmail emails |
send-email |
Send an email via Gmail |
get-email |
Get email details |
send-chat-message |
Send a Google Chat message |
list-chat-spaces |
List Chat spaces |
search-youtube |
Search YouTube videos |
get-video-details |
Get YouTube video details |
# List calendar events
google-cli list-events --calendar-id primary
# Send an email
google-cli send-email --to recipient@example.com --subject "Hello" --body "World"
# Search YouTube
google-cli search-youtube --query "Go programming"
# JSON output
google-cli list-emails --output json | jq '.[].subject'Every command accepts:
--env string— Path to.envfile--output string— Output format:text(default) orjson
This project is licensed under the MIT License. See LICENSE for details.
brew install nguyenvanduocit/tap/google-mcp