Granola MCP Server
Provides access to Granola notes, documents, meeting transcripts, calendar events, and structured note panels through the Granola API, using Supabase credentials stored locally for authentication.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Granola MCP Server search for notes about the Q3 planning meeting"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Granola MCP Server
A Model Context Protocol (MCP) server that provides access to your Granola notes, documents, transcripts, and calendar events using the Granola API.
Features
🔍 Search Notes: Search through all your Granola documents/notes
📝 Search Transcripts: Find meeting transcripts by content
📅 Search Events: Search calendar events
📋 Search Panels: Search structured note panels
📄 Get Documents: Retrieve specific documents by ID
📊 List Documents: List all available documents
Related MCP server: Granola MCP Server
Installation
Install dependencies:
cd granola-mcp-server
npm installBuild the server:
npm run buildConfiguration in Cursor
Add this to your Cursor MCP configuration (usually in .cursor/mcp.json or Cursor Settings):
{
"mcpServers": {
"granola": {
"command": "node",
"args": ["/absolute/path/to/granola-mcp-server/dist/index.js"]
}
}
}Important: Replace /absolute/path/to/granola-mcp-server/dist/index.js with the actual absolute path to your built server.
Usage
Once configured, you can use the MCP tools in Cursor:
search_granola_notes- Search documents by querysearch_granola_transcripts- Search meeting transcriptssearch_granola_events- Search calendar eventssearch_granola_panels- Search document panelsget_granola_document- Get a specific documentget_granola_transcript- Get a specific transcriptlist_granola_documents- List all documents
How It Works
The server uses Granola's API with credentials stored locally at:
~/Library/Application Support/Granola/supabase.jsonIt fetches data from the Granola API and provides search/retrieval capabilities over:
Documents (notes)
Meeting transcripts
Calendar events
Document panels (structured note sections)
Development
# Build
npm run build
# Watch mode
npm run dev
# Run directly
npm startNotes
Requires Granola to be installed and logged in (credentials are read from local config)
Data is fetched from the Granola API in real-time
Available Tools
7 toolsget_granola_documentC
Get a specific Granola document by its ID.
Inputs: id (required).
get_granola_transcriptC
Get a specific Granola transcript by its ID.
Inputs: id (required).
list_granola_documentsB
List all Granola documents with basic metadata.
Inputs: limit.
search_granola_eventsB
Search through Granola calendar events by query string. Returns matching events with details.
Inputs: query (required), limit.
search_granola_notesC
Search through Granola notes/documents by query string. Returns matching documents with their content.
Inputs: query (required), limit.
search_granola_panelsC
Search through Granola document panels (structured note sections) by query string.
Inputs: query (required), limit.
search_granola_transcriptsB
Search through Granola meeting transcripts by query string. Returns matching transcripts with their content.
Inputs: query (required), limit.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 7 tools
Every tool has a clearly distinct purpose targeting different Granola resources (documents, transcripts, events, notes, panels) with specific actions (get, list, search). No ambiguity exists between tools, as each name precisely indicates the resource and operation, preventing misselection.
All tools follow a consistent verb_noun pattern with 'granola' as a prefix (e.g., get_granola_document, search_granola_events). The naming is uniform across all 7 tools, using snake_case and clear verbs (get, list, search), making the set predictable and readable.
With 7 tools, the count is well-scoped for a Granola document/note/transcript/event management server. Each tool earns its place by covering distinct operations (retrieval, listing, searching) across multiple resource types, avoiding bloat while providing comprehensive functionality.
The tool set offers strong coverage for retrieval and search operations across documents, transcripts, events, notes, and panels, with no dead ends. A minor gap exists in CRUD operations, as there are no tools for creating, updating, or deleting resources, but agents can still perform core read and search workflows effectively.
Maintenance
Related MCP Connectors
Search and read your recorded meetings: notes, action items, participants, transcripts.
Search your SalesEQ meetings, read transcripts and summaries, and retrieve frames from recordings.
Search and analyze meeting transcripts, summaries, soundbites and analytics from Fireflies.ai
Search, read and export MeetNotes meeting transcripts, minutes and action items (getmeetnotes.com).
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables access to Granola meeting notes through OAuth authentication, allowing users to search, retrieve, and summarize meeting transcripts and documents.MIT
- AlicenseAqualityDmaintenanceIntegrates local Granola.ai meeting intelligence with Claude Desktop to enable searching and analyzing meeting transcripts, notes, and summaries. Users can perform natural language queries to retrieve meeting details, analyze participant patterns, and access full speaker-identified conversations.5MIT
- AlicenseAqualityDmaintenanceIntegrates Granola.ai meeting intelligence with MCP clients to provide direct access to meeting notes, transcripts, and workspace organization. It allows users to search and retrieve meeting content through natural language by leveraging existing Granola credentials.74MIT
- AlicenseAqualityFmaintenanceEnables searching and retrieving local Granola meeting notes, including transcripts, AI-generated summaries, and action items. It supports filtering by date or attendee and automatically reloads when the local Granola cache is updated.8MIT