Skip to main content
Glama
giantrotta24

google-mcp

by giantrotta24
README.md
# google-mcp

Multi-account Google MCP server exposing Gmail and Calendar read tools over stdio.

## Security notes

- `credentials.json` is local-only and must never be committed.
- Copy `credentials.template.json` to `credentials.json` and fill it with your local OAuth client values.
- Refresh tokens are stored in your OS keychain (`keyring`), not in source control.

## Setup

1. Install dependencies:
   - `uv sync`
2. Create local OAuth client config:
   - `cp credentials.template.json credentials.json`
3. Set expected account emails (optional but recommended for auth safety checks):
   - `export GOOGLE_MCP_PERSONAL_EMAIL="you@example.com"`
   - `export GOOGLE_MCP_WORK_EMAIL="you@company.com"`
4. Optionally set a specific work calendar filter:
   - `export GOOGLE_MCP_WORK_CALENDAR="calendar-id-or-summary"`
5. Authorize each account:
   - `uv run auth_setup.py personal`
   - `uv run auth_setup.py work`

## Run server

- `uv run server.py`

## Integration tests

These hit real Google APIs.

- Basic live tests:
  - `RUN_LIVE_TESTS=1 uv run integration_smoke.py`
- Include destructive keychain mutation test:
  - `RUN_LIVE_TESTS=1 RUN_DESTRUCTIVE_TESTS=1 uv run integration_smoke.py`

## Publish safety checks

- Run local security guardrail:
  - `python scripts/security_check.py`
- Optional pre-commit integration:
  - `uv tool install pre-commit`
  - `pre-commit install`
  - `pre-commit run --all-files`
- CI runs the same script on every push/PR via `.github/workflows/security-check.yml`.

TDQS

B3.3/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a unique combination of service (calendar vs gmail) and account type (personal vs work), making it impossible to confuse one tool with another.

Naming Consistency5/5

All tools follow a strict pattern: {service}_{action}_{account}, using snake_case consistently. This makes the naming predictable and easy to understand.

Tool Count5/5

With 4 tools, the count is appropriate for a focused server that distinguishes between two services across two accounts, avoiding unnecessary complexity.

Completeness3/5

The tool set covers listing events and searching emails, but is limited to these read operations. Missing capabilities like creating or modifying events/schedules are notable gaps for a full Google workspace integration.

Maintenance

ActivityMaintained
ResponsivenessNo issues