Granola MCP Server
MCP server for searching your local Granola meeting notes.
- Search across notes, titles, and AI summaries
- Filter by date range or attendee
- Pull transcripts when available
- Read AI panels (summaries, action items) that Granola generates
- Reloads automatically when Granola updates its cache
Installation
With mpak
mpak bundle run @nimblebraininc/granola
Local Development
uv sync --dev
uv run python -m mcp_granola.server
Tools
| Tool | Description |
|---|---|
search_meetings | Search notes by keyword with optional date/attendee filters |
get_meeting | Get full meeting details including notes and AI panels |
list_meetings | List meetings with pagination and filtering |
search_by_person | Find all meetings with a specific person |
get_transcript | Get transcript segments with timestamps |
get_meeting_stats | Get statistics about your meeting data |
Data Source
Reads from ~/Library/Application Support/Granola/cache-v3.json (macOS only). Cached in memory, reloads when the file changes.
Development
make check # Run all checks (format, lint, typecheck, test)
make test # Run tests
make test-cov # Run tests with coverage
make format # Format code
make lint # Lint code
make typecheck # Type check with ty
License
MIT