get_recent_meetingsLABSCO SUMMARY
It reads the cache file, which is why there is no key and no network dependency.
Working from cache-v3.json rather than an API means it is offline, private, and not rate-limited — the trade is that it sees whatever Granola has already synced locally. The split between AI summary and human notes is the useful part: you can ask for what the model wrote versus what you wrote, rather than one merged blob.
What it is
A server that reads Granola's local cache file and exposes meetings, transcripts and summaries — plus analytics — as ten tools.
What you get
- list_meetings and get_meeting — the roster with filters, and full detail on one meeting
- get_transcript returns the speaker-identified transcript; get_meeting_notes separates the AI summary from human notes
- search_meetings searches across titles, content and participants; list_participants lists who was in them
- get_recent_meetings pulls the latest; analyze_patterns and get_statistics report frequency and duration trends
- export_meeting writes a meeting out to markdown
- Everything runs offline against the cache file, so meeting data never leaves the machine
Requirements
Granola installed, with GRANOLA_CACHE_PATH pointing at its cache-v3.json. Install from source with pip install -e . Pure Python standard library — no third-party dependencies, no API key, no account. It reads the cache directly and makes no calls to Granola's servers.
Setup effort
Build from source — git clone https://github.com/pedramamini/GranolaMCP.git
USE CASES
Finding the meeting where something was decided
Search across titles, content and participants, then open the one you meant.
Pulling the actual words someone said
Get the speaker-identified transcript rather than relying on the summary.
Separating the AI summary from your own notes
Read the meeting notes with the generated summary and the human notes kept apart.
Seeing your meeting patterns
Get statistics and pattern analysis on frequency and duration across your history.
Getting a meeting out into a document
Export it to markdown with the formatting intact.
10 tools
Listed in project docs. Your client may show a different list.
list_meetingssearch_meetingsget_meetingget_transcriptget_meeting_noteslist_participantsget_statisticsexport_meetinganalyze_patternsBEFORE YOU INSTALL
What to know first
Tools you get
10 tools named in the project's documentation.
Requires
Python 3.12 or later
INSTALLATION
Connect your client
This one is built from source rather than installed with a single command.
Server setup
git clone https://github.com/pedramamini/GranolaMCP.git
cd GranolaMCP
pip install -e .MCP Clients
Claude Desktop
{
"mcpServers": {
"granola-mcp": {
"command": "python",
"args": [
"-m",
"granola_mcp.mcp"
],
"env": {
"GRANOLA_CACHE_PATH": "/Users/<YOUR_USERNAME>/Library/Application Support/Granola/cache-v3.json"
}
}
}
}Any MCP client
Protocol: STDIO
Command: python -m granola_mcp.mcp
Working Directory: Path to GranolaMCP installation
Environment Variables: Set GRANOLA_CACHE_PATH as needed