Skip to main content

granola-mcp

MCP server for accessing Granola meeting notes and transcripts in Claude.

Requirements

  • macOS (Granola is macOS-only)
  • Granola desktop app installed and logged in
  • uv for running the server

Quick Start

One-Line Install

curl -fsSL https://raw.githubusercontent.com/Primary-OS/granola-mcp/main/install.sh | bash

Then restart Claude Desktop.

Manual Install

1. Install uv (if needed)

curl -LsSf https://astral.sh/uv/install.sh | sh

2. Configure Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "granola": {
      "command": "uvx",
      "args": ["granola-mcp"]
    }
  }
}

3. Restart Claude Desktop

Tools

Tool Description
find_recent_meetings List recent meetings with metadata
search_meetings Search by title, attendee, or content
get_transcript Get full meeting transcript

Usage Examples

Once installed, ask Claude:

  • "What meetings did I have this week?"
  • "Get the transcript from my call with [company]"
  • "Search my meetings for discussions about pricing"
  • "Summarize my meeting with John from yesterday"

How It Works

This server reads authentication tokens from Granola's local config file: ~/Library/Application Support/Granola/supabase.json

If tokens are expired, it automatically opens Granola.app to refresh them.

Troubleshooting

"Granola config not found"

  • Make sure Granola is installed and you've logged in at least once

"Token expired and auto-refresh failed"

  • Open Granola.app manually, then try again

Server not appearing in Claude

  • Check that uvx is in your PATH: which uvx
  • Restart Claude Desktop completely (quit and reopen)
  • Check the Claude Desktop logs for errors

Development

# Clone and install
git clone https://github.com/Primary-OS/granola-mcp
cd granola-mcp

# Run locally
uv run python -m granola_mcp

# Test with Claude Desktop (local dev)
# Add to claude_desktop_config.json:
{
  "mcpServers": {
    "granola-dev": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/granola-mcp", "python", "-m", "granola_mcp"]
    }
  }
}

License

MIT

Metadata

Release files for granola-mcp 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for granola-mcp 0.1.0
File Size Uploaded Provenance
granola_mcp-0.1.0.tar.gz 9.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for granola-mcp 0.1.0
File Interpreter ABI Platform
granola_mcp-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 19.3 kB

Release files / granola_mcp-0.1.0.tar.gz

Download URL granola_mcp-0.1.0.tar.gz
Size 9.0 kB
Tags Source
SHA-256 checksum
How to use checksums
f1096b396341bc7bac68d602be797ba6575ac251b424e60cdbd5631197123602
BLAKE2b-256 checksum
How to use checksums
6873eb0c93817bd4ba506ef858c1afbc5900deaab63c0845cc8e08013a622574
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.2

Release files / granola_mcp-0.1.0-py3-none-any.whl

Download URL granola_mcp-0.1.0-py3-none-any.whl
Size 10.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5fac14b2f3768784de17d43a9ba1e7ef9e6834ba11f3810a6f178156c8fd4ae4
BLAKE2b-256 checksum
How to use checksums
c3859189f3738c8b79f4fe9e3a079947b6f5a4938488e5050c32c6d08b342cb5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.2

Security for granola-mcp 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page