# Granola MCP connector

The Granola connector brings your Granola meeting notes and folders to Claude, ChatGPT, Cursor and the Elaichi Agent through one governed endpoint, so anyone on your team can ask what was said in a meeting and get an answer from the notes themselves.

Source: https://elaichi.ai/connectors/granola/

## Facts

| | |
| --- | --- |
| Application | Granola |
| Category | Conversational Intelligence |
| AI tools | 7 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | Yes |

## What you can ask once Granola is connected

- Summarize the customer calls in my Granola notes this week
- Which Granola folders hold last month's renewal meetings
- List action items from yesterday's Granola meeting notes

## Connect Granola in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Granola.
2. Optionally set Share with, then press Connect.
3. Paste a Granola API key. One person generates a token in Granola and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Granola tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Granola to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Granola to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Granola to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Granola to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Granola tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Granola through Elaichi

### Recap a discovery call before the follow-up

Sales. Ask for the key points, objections and next steps from this morning's Granola call note and turn them into a follow-up email while the conversation is still fresh.

### See everything a customer has said this quarter

Customer Success. Pull every Granola note from meetings with one account and get a single view of what they asked for, what they were promised and what is still open.

### Find feature requests buried in customer calls

Product. Search across Granola notes for mentions of a feature or a pain point and get a list of which customers raised it and when.

### Get a weekly digest of team meetings

Leadership. Ask for a summary of the notes in a team's Granola folder from the past week, with decisions and action items grouped by owner.

### Compare interview notes across a panel

Recruiting. Bring together the Granola notes from each interviewer's conversation with a candidate and see where the panel agreed and where it did not.

### Send new Granola notes to other systems

Operations. Set up a Granola webhook endpoint so that when a new meeting note lands, another tool your team already uses is told about it, and adjust or remove that endpoint later without asking an engineer.

## Frequently asked questions

### How do I connect Granola to Claude?

Connecting Granola to Claude takes two steps. First, open Elaichi, choose Granola, and paste in your Granola API key; there is no OAuth application to register and no client ID or secret to generate. Then in Claude go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. Claude will ask you to sign in to Elaichi, and from then on it can read your Granola notes and folders as you.

### Does Granola work with ChatGPT and Cursor as well as Claude?

Yes. Once Granola is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, the Elaichi Agent and any other MCP client. You connect Granola once and every client your team uses picks it up.

### What can an AI agent actually do with my Granola data?

With Granola connected, an AI agent can list your meeting notes, open any single note in full, and see how your notes are organized into folders, so you can ask things like what was decided in Tuesday's customer call or what a particular account has asked for across all of its meetings. It can also set up, change or remove Granola webhook endpoints, which tell another system when a new note arrives. It cannot write or edit the notes themselves.

### Does connecting Granola give the AI every note in my workspace?

No. The AI only sees the Granola notes and folders that the connected Granola account can already see, because every request runs through the access of the person who connected it. Elaichi can narrow that further, for example to reading notes only, but it can never widen access beyond what Granola itself allows.

### Can my team share one Granola connection?

Yes. One person connects Granola with their API key and shares the connection with a team in Elaichi, and nobody else ever handles or sees that key. Each teammate still signs in to Elaichi as themselves, so the audit log records exactly who read which Granola note, even though they are all working through the same connection.

### Can I stop an agent from deleting or changing things in Granola?

Yes. In Elaichi you can restrict a Granola connection action by action, for example allowing notes and folders to be read while blocking the creation, updating or deletion of Granola webhook endpoints. A blocked action is never advertised to Claude, ChatGPT, Cursor or any other client, so no prompt, however worded, can reach it.

### What happens to a Granola connection when someone leaves?

When you offboard someone in Elaichi, their access to Granola through every connected client ends at once. If they had shared a Granola connection with a team, that connection keeps working for everyone else on the team. And if you ever want to remove Granola entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client at the same time.

## All 7 Granola tools

Every tool below is callable through https://api.elaichi.ai/mcp once Granola is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Granola notes** (List). List Granola notes with optional date and folder filters. Returns: id, object, title, owner, created_at, updated_at. Max 30 per page (default 10).
- **Get single Granola note by ID** (Get). Get a single Granola note by id, optionally including the transcript. Returns: id, object, title, owner, created_at, updated_at, web_url, calendar_event, attendees, folder_membership, summary_text, summary_markdown, transcript. Required: id.
- **List all Granola folders** (List). List folders in Granola with cursor-based pagination. Returns: id, object, name, parent_folder_id. Max 30 per page, default 10.
- **List all Granola webhook endpoints** (List). List webhook endpoints in Granola that the current API key can manage. Returns: id, object, url, url_redacted, events, folder_ids, scopes, created_by, enabled, created_at.
- **Create a Granola webhook endpoint** (Create). Create a webhook endpoint in Granola to receive event deliveries at an HTTPS URL. Returns: id, object, url, url_redacted, events, folder_ids, scopes, created_by, enabled, created_at, signing_secret. The signing_secret is only returned in this response. Required: url, scopes.
- **Update a Granola webhook endpoint by ID** (Update). Update a Granola webhook endpoint by id — change its URL, event subscriptions, scopes, folder filter, or enabled state. Returns: id, object, url, url_redacted, events, folder_ids, scopes, created_by, enabled, created_at. Required: id.
- **Delete a Granola webhook endpoint by ID** (Delete). Delete a Granola webhook endpoint by id to stop its deliveries immediately. Returns: id, object, deleted. Required: id.
