MCP server for searching your local Granola meeting notes.
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) when available
- Supports Granola cache v3 through v6
- 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
Auto-detects the newest Granola cache file (cache-v6.json through cache-v3.json) from ~/Library/Application Support/Granola/ (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
Tools (6)
search_meetingsSearch notes by keyword with optional date/attendee filtersget_meetingGet full meeting details including notes and AI panelslist_meetingsList meetings with pagination and filteringsearch_by_personFind all meetings with a specific personget_transcriptGet transcript segments with timestampsget_meeting_statsGet statistics about your meeting dataConfiguration
{"mcpServers": {"granola": {"command": "uv", "args": ["run", "mcp_granola.server"]}}}