MCP Hub
Back to servers

mcp-granola

An MCP server that provides AI agents access to Granola meeting notes. It enables searching notes, retrieving full content with transcripts, and paginating through meeting history.

glama
Updated
Apr 16, 2026

mcp-granola

License: MIT Node.js MCP

An MCP (Model Context Protocol) server that gives AI agents access to your Granola meeting notes. Search notes, retrieve full content with transcripts, and paginate through your meeting history.

Features

  • List notes with date filtering and cursor-based pagination
  • Get full note content including AI summaries and meeting transcripts
  • Search notes by title or summary keywords
  • Works with Claude Code, Gemini CLI, and any MCP-compatible client
  • Zero external dependencies beyond the MCP SDK

Quick Start

1. Install

npm install @devli13/mcp-granola

Or clone and install locally:

git clone https://github.com/devli13/mcp-granola.git
cd mcp-granola
npm install

2. Get a Granola API key

  1. Open the Granola desktop app
  2. Go to Settings > API
  3. Click Create new key
  4. Copy the key (starts with grn_)

3. Configure

Add to your .mcp.json (Claude Code) or .gemini/settings.json (Gemini CLI):

{
  "mcpServers": {
    "granola": {
      "command": "npx",
      "args": ["-y", "@devli13/mcp-granola"],
      "env": {
        "GRANOLA_API_KEY": "grn_your_api_key_here"
      }
    }
  }
}

Or run directly:

GRANOLA_API_KEY=grn_your_key node server.js

Configuration

Environment VariableRequiredDescription
GRANOLA_API_KEYYesYour Granola API key (starts with grn_). Get it from Granola app > Settings > API.

Tools

ToolDescriptionKey Parameters
list_notesList notes, most-recent firstlimit, created_after, created_before, cursor
get_noteFetch a single note by IDid (required), include_transcript
search_notesSearch notes by title/summary keywordsquery (required), limit

Example: list recent notes

{
  "name": "list_notes",
  "arguments": {
    "limit": 5,
    "created_after": "2025-01-01T00:00:00Z"
  }
}

Example: get a note with transcript

{
  "name": "get_note",
  "arguments": {
    "id": "not_abc123def456",
    "include_transcript": true
  }
}

Limitations

  • Granola API is in beta — endpoints and response shapes may change.
  • Personal API keys only access notes you own or that are shared with you directly.
  • search_notes performs client-side substring matching over the 200 most recent notes. It is not a full-text search engine. For large note volumes, use list_notes with date filters instead.
  • The API only returns notes with generated AI summaries and transcripts. Notes still being processed won't appear.

Rate Limits

Granola enforces rate limits per workspace:

MetricValue
Burst capacity25 requests
Time window5 seconds
Sustained rate5 req/s (300/min)

Contributing

Issues and pull requests are welcome! Please open an issue first to discuss any significant changes.

License

MIT

Reviews

No reviews yet

Sign in to write a review