granola-simple-mcp
v1.0.4
Published
A thin, no-frills MCP wrapper around Granola's official API. Direct bridge to your meeting notes, summaries, and transcripts — nothing clever, just a pass-through you can build on.
Maintainers
Readme
granola-simple-mcp
A thin, no-frills MCP wrapper around Granola's official API. Direct bridge to your meeting notes, summaries, and transcripts — nothing clever, just a pass-through you can build on.
Every tool call maps directly to a Granola API endpoint, and the response is passed through with minimal formatting. This is useful if you prefer to build your own setup instead of relying on built-in connectors in Claude or other platforms.
Works with Claude Desktop, Claude Code, Cursor, and any other MCP-compatible AI tool.
Quick start
Requires Node.js 18+ and a Granola API key (Settings → API in the Granola desktop app).
Claude Desktop — add to ~/Library/Application Support/Claude/claude_desktop_config.json (Mac) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"granola": {
"command": "npx",
"args": ["-y", "granola-simple-mcp"],
"env": {
"GRANOLA_API_KEY": "grn_your_key_here"
}
}
}
}Restart Claude Desktop. Done.
Claude Code:
claude mcp add granola -e GRANOLA_API_KEY=grn_your_key_here -- npx -y granola-simple-mcpCursor — same JSON block as Claude Desktop, added to your mcp.json via Settings → Cursor Settings → MCP.
Detailed setup
You'll need two things:
- Node.js installed on your computer (explained in Step 1)
- A Granola API key (requires a Granola Business or Enterprise plan)
Step 1: Install Node.js
What is Node.js? This connector is a small program written in JavaScript. Node.js is the engine that runs JavaScript programs outside of a browser — think of it like a required app that needs to be installed before other apps can work.
Check if you already have it. Open a terminal:
- Mac: Press
Cmd + Space, type "Terminal", press Enter - Windows: Press the Windows key, type "cmd", press Enter
Then run:
node --versionIf you see a version number like v18.0.0 or higher, you already have it — skip to Step 2.
If you don't have it yet:
- Mac or Windows: Download the installer from nodejs.org — click the big "LTS" button (the stable, recommended version). Run the installer and follow the prompts. When it's done, close and reopen your terminal, then run
node --versionto confirm.
Step 2: Get your Granola API key
- Open the Granola desktop app
- Click Settings (gear icon, usually bottom-left)
- Go to API
- Click Create API key, give it a name (e.g. "Claude"), and copy the key — it will look like
grn_abc123...
Keep this key handy — you'll paste it into a config file in the next step.
Note: API keys require a Granola Business or Enterprise plan.
Step 3: Connect to your AI tool
Claude Desktop
Find and open the config file
Claude Desktop stores its settings in a file called claude_desktop_config.json.
On Mac:
- Open Claude Desktop, click Claude in the top menu bar → Settings
- Click the Developer tab → Edit Config
Or open the file directly: in Finder, press Cmd + Shift + G and paste:
~/Library/Application Support/Claude/claude_desktop_config.jsonOn Windows:
- Open Claude Desktop, click the ≡ menu → Settings → Developer → Edit Config
Or open it directly: in File Explorer, click the address bar and paste:
%APPDATA%\Claude\claude_desktop_config.jsonEdit the file
The file uses JSON — a structured text format that uses curly braces {}, colons :, and quotes "" to organise settings.
If the file is empty, paste in exactly this, replacing grn_your_key_here with your actual API key:
{
"mcpServers": {
"granola": {
"command": "npx",
"args": ["-y", "granola-simple-mcp"],
"env": {
"GRANOLA_API_KEY": "grn_your_key_here"
}
}
}
}If the file already has content (you have other tools connected), add the granola block inside the existing "mcpServers" section. Make sure there's a comma after the previous entry:
{
"mcpServers": {
"some-other-tool": {
"command": "...",
"args": ["..."]
},
"granola": {
"command": "npx",
"args": ["-y", "granola-simple-mcp"],
"env": {
"GRANOLA_API_KEY": "grn_your_key_here"
}
}
}
}What do these lines mean?
"command": "npx"— use npx (a tool bundled with Node.js) to run the connector"args": ["-y", "granola-simple-mcp"]— the name of the connector to download and run"GRANOLA_API_KEY": "grn_your_key_here"— your Granola API key, passed securely to the connector
Save and restart
- Save the file (
Cmd + Son Mac,Ctrl + Son Windows) - Fully quit and reopen Claude Desktop
- Start a new conversation — you should see a hammer 🔨 icon near the chat input. Click it to confirm "granola" tools appear.
Claude Code
Run this command in your terminal, replacing grn_your_key_here with your actual API key:
claude mcp add granola -e GRANOLA_API_KEY=grn_your_key_here -- npx -y granola-simple-mcpThat's it. Granola tools will be available the next time you start Claude Code. Run /mcp inside a session to confirm the connection.
Cursor
- Open Cursor → Settings → Cursor Settings → MCP
- Click + Add new global MCP server — this opens a file called
mcp.json - Add the following, replacing
grn_your_key_herewith your actual API key:
{
"mcpServers": {
"granola": {
"command": "npx",
"args": ["-y", "granola-simple-mcp"],
"env": {
"GRANOLA_API_KEY": "grn_your_key_here"
}
}
}
}- Save the file and restart Cursor.
Step 4: Verify it's working
Try asking your AI tool one of these:
- "List my Granola meetings from the last week"
- "What was discussed in my most recent meeting?"
- "Show me the transcript from yesterday's standup"
If you see your meeting data, you're all set.
What you can ask
| Ask your AI... | What it does |
|---|---|
| "List my meetings from [date range]" | Browses your notes by date |
| "List all my meetings from last week" | Fetches all matching notes in one call (uses return_all) |
| "Get the summary for [meeting title]" | Returns the AI-generated summary, attendees, and folder |
| "Show me the transcript for [meeting]" | Returns the full transcript with speaker labels (You/Other) |
Tools
This server provides three tools, each mapping directly to Granola's official API:
list_notes
List meeting notes, optionally filtered by date range. Returns up to 30 notes per page.
| Parameter | Description |
|---|---|
| created_after | ISO date — only notes created after this date |
| created_before | ISO date — only notes created before this date |
| updated_after | ISO date — only notes updated after this date |
| page_size | Results per page (1-30, default 10) |
| cursor | Pagination cursor from a previous response |
| return_all | Fetch all matching notes in one response (up to 200). Requires at least one date filter. |
When return_all is not used, responses include structured pagination metadata (result count, has_more flag, cursor) so AI tools know to keep paginating.
get_note
Get full details for a specific note: title, owner, attendees, folder, and the AI-generated summary.
get_transcript
Get the full meeting transcript with speaker identification. Each segment is labelled as You (recorded from your microphone) or Other (heard through speakers). Includes pre-split sections for "What you said" and "What others said."
Troubleshooting
"No notes found" The Granola API only returns meetings that have been processed with an AI summary. Very recent meetings or ones that weren't recorded may not appear yet.
"Unauthorized — check your API key"
Your API key is incorrect or missing. Check that it starts with grn_ and has no extra spaces in the config file.
"command not found: npx" Node.js isn't installed or didn't install correctly. Repeat Step 1 and make sure you reopen your terminal after installing.
Tools don't appear in Claude Desktop
- Make sure you saved the config file before restarting
- Check for JSON errors: every
{needs a matching}, and every entry except the last needs a comma after it - On Mac, you can validate your JSON by running this in Terminal:
If there's a mistake, it will tell you which line.cat ~/Library/Application\ Support/Claude/claude_desktop_config.json | python3 -m json.tool
The connector was working but stopped Restart your AI tool. If that doesn't help, your API key may have been revoked — generate a new one in Granola under Settings > API.
API key types
- Personal API key — accesses your own notes and anything shared with you
- Enterprise API key — workspace admin only; accesses all notes in your organisation's Team space
Both work with this connector. See Granola's API docs for details.
For developers
git clone https://github.com/stanleylai/granola-simple-mcp.git
cd granola-simple-mcp
npm install
GRANOLA_API_KEY=grn_your_key_here npm startDisclaimer
This project was built with Claude Code. It's likely fine, but as with any code you didn't write yourself — especially code that handles API keys and meeting data — you should read through src/index.ts before using it if you have any concerns.
License
MIT
