Granola MCP Server

Integrate Granola.ai meeting intelligence with MCP clients

README.md

Granola MCP Server

A Model Context Protocol (MCP) server for integrating Granola.ai meeting intelligence with Claude Desktop and other MCP clients. Access your meetings, notes, and transcripts directly from AI assistants.

⚠️ Disclaimer

This is an unofficial, community-built tool. It is not affiliated with, endorsed by, or supported by Granola, Inc.

This server uses undocumented APIs discovered through network inspection. Use of this tool may violate Granola's Terms of Service. Use at your own risk.

If you are from Granola and would like this repository removed or would like to discuss official API access, please open an issue.

Features

  • 🔍 Meeting Search - Search meetings by title, content, and participants
  • 📝 Full Content Access - Retrieve complete meeting notes in Markdown format
  • 🏢 Workspace Management - List and filter by workspaces (organizations)
  • 📁 Folder Organization - List and filter by document folders
  • 🔄 Real-time API Access - Direct access to Granola's API
  • 🔐 Secure Authentication - Uses your existing Granola credentials
  • Smart Caching - 5-minute cache for optimal performance

Prerequisites

  • Node.js 18+
  • Granola.ai installed and logged in on macOS
  • Claude Desktop (or another MCP client)

Installation

git clone https://github.com/EoinFalconer/granola-mcp-server.git
cd granola-mcp-server
npm install
npm run build

Configuration

Claude Desktop

Add to your claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "granola": {
      "command": "node",
      "args": ["/path/to/granola-mcp-server/index.js"]
    }
  }
}

Then restart Claude Desktop.

Available Tools

Tool Description Parameters
search_meetings Search meetings by title/content query, limit?
get_meeting_details Get meeting metadata meeting_id
get_meeting_content Get full notes as Markdown meeting_id
list_workspaces List all workspaces -
list_folders List document folders workspace_id?
filter_by_workspace Filter meetings by workspace workspace_id
filter_by_folder Filter meetings by folder folder_id

Usage Examples

Once configured, use natural language in Claude:

  • "Search for meetings about quarterly planning"
  • "Get the content from yesterday's standup"
  • "List all my workspaces"
  • "Show me meetings in the Sales folder"

How It Works

Authentication

The server reads your existing Granola credentials from:

~/Library/Application Support/Granola/supabase.json

No additional login required - it uses your existing Granola session.

API Integration

  • Direct REST API calls to Granola's backend
  • ProseMirror content converted to readable Markdown
  • In-memory caching with 5-minute TTL

Troubleshooting

"Failed to get access token"

Ensure Granola is installed and you're logged in. The server needs:

~/Library/Application Support/Granola/supabase.json

Server not appearing in Claude

  1. Verify the config path is correct
  2. Run npm run build
  3. Restart Claude Desktop completely

Development

npm run build      # Compile TypeScript
npm run watch      # Watch mode
npm run dev        # Build and run

Credits & Acknowledgments

This project was inspired by and built upon the reverse-engineering work of:

Thank you for sharing your findings with the community! 🙏

Related Projects

Contributing

Contributions welcome! Please feel free to submit issues and pull requests.

License

MIT © Eoin Falconer

Tools 7

search_meetingsSearch meetings by title/content
get_meeting_detailsGet meeting metadata
get_meeting_contentGet full notes as Markdown
list_workspacesList all workspaces
list_foldersList document folders
filter_by_workspaceFilter meetings by workspace
filter_by_folderFilter meetings by folder

Try it

Search for meetings about quarterly planning
Get the content from yesterday's standup
List all my workspaces
Show me meetings in the Sales folder

Frequently Asked Questions

What are the key features of Granola MCP Server?

Search meetings by title, content, and participants. Retrieve complete meeting notes in Markdown format. List and filter meetings by workspaces and document folders. Secure authentication using existing local Granola credentials. Smart caching with 5-minute TTL for performance.

What can I use Granola MCP Server for?

Quickly summarizing key action items from past client meetings. Searching across multiple workspaces to find specific project discussions. Converting meeting transcripts into structured documentation for team wikis. Retrieving meeting context to prepare for follow-up conversations.

How do I install Granola MCP Server?

Install Granola MCP Server by running: git clone https://github.com/EoinFalconer/granola-mcp-server.git && cd granola-mcp-server && npm install && npm run build

What MCP clients work with Granola MCP Server?

Granola MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Granola MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Open Conare