npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

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.

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-mcp

Cursor — same JSON block as Claude Desktop, added to your mcp.json via Settings → Cursor Settings → MCP.


Detailed setup

You'll need two things:

  1. Node.js installed on your computer (explained in Step 1)
  2. 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 --version

If 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 --version to confirm.

Step 2: Get your Granola API key

  1. Open the Granola desktop app
  2. Click Settings (gear icon, usually bottom-left)
  3. Go to API
  4. 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:

  1. Open Claude Desktop, click Claude in the top menu bar → Settings
  2. 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.json

On Windows:

  1. Open Claude Desktop, click the menu → SettingsDeveloperEdit Config

Or open it directly: in File Explorer, click the address bar and paste:

%APPDATA%\Claude\claude_desktop_config.json

Edit 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

  1. Save the file (Cmd + S on Mac, Ctrl + S on Windows)
  2. Fully quit and reopen Claude Desktop
  3. 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-mcp

That's it. Granola tools will be available the next time you start Claude Code. Run /mcp inside a session to confirm the connection.


Cursor

  1. Open Cursor → SettingsCursor SettingsMCP
  2. Click + Add new global MCP server — this opens a file called mcp.json
  3. Add the following, 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"
      }
    }
  }
}
  1. 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:
    cat ~/Library/Application\ Support/Claude/claude_desktop_config.json | python3 -m json.tool
    If there's a mistake, it will tell you which line.

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 start

Disclaimer

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