devli13

mcp-granola

Community devli13
Updated

MCP server for the Granola meeting notes API. Search, list, and retrieve notes with transcripts.

mcp-granola

License: MITNode.jsMCP

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 Variable Required Description
GRANOLA_API_KEY Yes Your Granola API key (starts with grn_). Get it from Granola app > Settings > API.

Tools

Tool Description Key Parameters
list_notes List notes, most-recent first limit, created_after, created_before, cursor
get_note Fetch a single note by ID id (required), include_transcript
search_notes Search notes by title/summary keywords query (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:

Metric Value
Burst capacity 25 requests
Time window 5 seconds
Sustained rate 5 req/s (300/min)

Contributing

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

License

MIT

MCP Server ยท Populars

MCP Server ยท New