loading…
Search for a command to run...
loading…
Enables Claude Code to manage Gmail, Google Calendar, and Google Drive via a dedicated Google account, keeping personal data separate.
Enables Claude Code to manage Gmail, Google Calendar, and Google Drive via a dedicated Google account, keeping personal data separate.
MCP server giving Hermes (Claude Code running as a personal assistant) scoped access to Gmail, Google Calendar, and Google Drive through a dedicated Hermes Google account — without granting access to your personal Google account.
See docs/superpowers/specs/2026-04-23-hermes-google-design.md for the full design.
Add hermes-google to your project's .mcp.json:
{
"mcpServers": {
"hermes-google": {
"type": "stdio",
"command": "uvx",
"args": ["hermes-google-mcp@latest"]
}
}
}
[email protected])~/.config/hermes-google/oauth_client.jsongit clone https://github.com/jimmy-larsson/hermes-google.git
cd hermes-google
./scripts/setup.sh
The setup script creates the config, runs the OAuth flow (saving the token to
~/.config/hermes-google/token.json), and prints the remaining manual steps.
The OAuth flow opens a browser for consent — it must run on your host machine, not inside a headless container.
If your config and credentials live inside a container (e.g. Docker-mounted
~/.config/hermes-google/), you need to:
config.toml and oauth_client.json to the host filesystem at
~/.config/hermes-google/uvx hermes-google-mcp@latest auth login
token.json is saved on the host — it will be picked up by
the container through the volume mountCreate filters in your personal Gmail to route emails to the Hermes account:
hermes-review) and forwards it to
[email protected] — in a single filterfrom:[email protected] → apply label
hermes[user].calendar_id in config.toml.[drive].default_parent_folder_id in config.toml for a default upload
folder.Once installed, the following tools are available to Hermes in every session:
mail_list_pending, mail_search, mail_get, mail_send_draft,
mail_mark_read, mail_archivecal_list_calendars, cal_list_events, cal_create_event,
cal_update_event, cal_delete_eventdrive_search, drive_list, drive_get, drive_upload, drive_update,
drive_move, drive_deleteauth_statusAll write operations require user confirmation. mail_send_draft is
structurally restricted to your own email; it cannot send to external
recipients.
Same operations via shell:
hermes-google auth status
hermes-google mail list --limit 10
hermes-google mail get <message_id>
hermes-google cal list --start 2026-04-24T00:00:00+09:00 --end 2026-04-25T00:00:00+09:00
hermes-google drive search "Q1 report"
Any one of these fully cuts an integration surface:
hermes-google auth revoke — removes the refresh token locallyclaude mcp remove hermes-google — Hermes loses the tools; Google data
untouchedconda activate hermes-google
pytest
ruff check src tests
# 1. Bump version in pyproject.toml, commit and push
git commit -am "chore: bump version to X.Y.Z"
git push
# 2. Tag locally and push — triggers the CI pipeline
git tag X.Y.Z
git push origin X.Y.Z
# 3. After CI passes, create the GitHub release
gh release create X.Y.Z --verify-tag --generate-notes
# User scope — available in all your projects
claude mcp add -s user hermes-google -- uvx hermes-google-mcp
# Local scope — private to you in this project only
claude mcp add hermes-google -- uvx hermes-google-mcp
Run in your terminal:
claude mcp add hermes-google -- npx Security
Low riskAutomated heuristic from public metadata — not a security guarantee.