Granola MCP
officialConnect Claude, ChatGPT, and other AI tools to your Granola meeting notes via MCP. Query your notes, search transcripts, and get meeting insights in your favorite AI assistants.
What can you do with Granola MCP?
- Search meeting notes — Ask your assistant to find specific topics, decisions, or action items discussed in past meetings.
- List and filter meetings — Ask which meetings you had with a specific person or within a certain timeframe, using
list_meetings. - Retrieve meeting details — Get full notes, including attendees, private notes, and summaries, via
get_meetingsto review outcomes. - Pull verbatim quotes — Request exact transcript excerpts to see how a topic was discussed, using
get_meeting_transcript. - Browse meeting folders — Ask what folders you have access to and their contents, via
list_meeting_folders. - Verify account connection — Confirm which Granola account and workspace is active, using
get_account_info.
Hosted MCP Server
npx add-mcp 'https://mcp.granola.ai/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
Documentation Index
Fetch the complete documentation index at: https://docs.granola.ai/llms.txt Use this file to discover all available pages before exploring further.
Granola MCP
Connect Claude, ChatGPT, and other AI tools to your Granola meeting notes via MCP. Query your notes, search transcripts, and get meeting insights in your favorite AI assistants.
Connect your AI tools to your Granola meeting notes with Granola MCP. Once connected you can use this to: search through your meeting notes, find specific topics discussed in past meetings, browse meeting folders, extract action items or decisions from your notes, answer questions based on your meeting history and more.
Granola supports browser-based OAuth and Enterprise-Managed Authorization (EMA) for compatible identity providers and MCP clients.
What MCP can access
Granola MCP connects as an individual user through browser OAuth. With EMA, the organization's identity provider manages access instead. Both methods return notes that the user can access and that belong to the user's active Granola workspace, subject to the access scopes below.
Notes from other Granola workspaces are not included, even if they're visible in the active workspace through sharing.
| Access scope | What can it access |
|---|---|
| Personal notes |
|
| Public notes |
|
Your plan and workspace settings determine which scopes MCP uses:
| Plan | MCP access |
|---|---|
| Basic (Free) | Personal notes from the last 30 days. Some folder, search, and transcript tools are only available on paid plans. |
| Business | Personal notes and public notes. |
| Enterprise | Workspace admins can configure which scopes are available to members. If neither scope is enabled, members cannot use Granola MCP. |
Set-up guide
Pre-requisites
- A Granola account with existing meeting notes
- AI tool that supports MCP, such as Claude and ChatGPT
How to connect
1. Open and sign in to Claude2. Go to Settings
3. Go to Connectors, search for Granola
4. Connect, authenticate and make sure you're toggled on when
chatting
1. Open and sign in to ChatGPT
2. Go to Settings
3. Search for 'Granola' and connect
4. You can now @Granola or just ask to reference your meetings in ChatGPT
1. Run `claude` in your terminal
2. Run this command:
```bash theme={null}
claude mcp add granola --transport http https://mcp.granola.ai/mcp
```
3. Open a new terminal tab and run `claude` again
4. Run `/mcp`, select the granola MCP, and select 'Authenticate'
5. Ask Claude to reference your meetings
You can manually connect to the Granola MCP by using the public URL{" "}
[https://mcp.granola.ai/mcp](https://mcp.granola.ai/mcp) as a custom connection.
Your AI tool must support:
* **MCP client protocol** using [Streamable HTTP transport](https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http)
* **OAuth 2.0 authentication and metadata discovery** — for a standard connection, your tool must be able to open a browser window for the user to sign in to Granola. After sign-in, the tool receives a bearer token to include in subsequent requests.
Enterprise clients can use [Enterprise-Managed Authorization](#enterprise-managed-authorization) instead of the standard Granola sign-in flow. Each connection still acts on behalf of an individual Granola user; there is no API key or service account access method for MCP.
<Info>
If you need API key access for scripts, automations, or custom integrations, see our [Granola API](./granola-api) instead.
</Info>
Enterprise-Managed Authorization
Enterprise-Managed Authorization (EMA) lets your company control access to Granola MCP through its identity provider (IdP). Users sign in to their MCP client with their company account, and the IdP decides whether they can connect to Granola.
Your IdP controls who can connect. Granola's workspace settings control which notes they can access.
Before you begin
You need:
- A Granola Enterprise workspace with SSO configured
- An IdP and MCP client that support EMA (Granola has tested with Claude & Okta)
- Administrator access to your Granola workspace and IdP, or help from the relevant admins
Each user should already have a Granola account associated with their company identity. If they haven’t used company SSO with Granola before, ask them to sign in to Granola with SSO once before using EMA.
Configure EMA
- In Granola, click your workspace name in the bottom-left corner, then select Settings. Go to Settings → Workspace → General → Apps & connectors → MCP access and enable the note access your company wants to allow.
- In your IdP, add or select Granola and enable its managed authorization or resource server capability.
- Create a managed resource connection from your MCP client to Granola.
- Enter the values below. Your IdP may use different field names or infer some values automatically.
| Field | Value |
|---|---|
| Resource URL | https://mcp.granola.ai/mcp |
| Issuer URL | https://mcp-auth.granola.ai |
| ID-JAG audience | https://mcp-auth.granola.ai |
| Scope | mcp |
| Client ID at resource | The MCP client's Client ID Metadata Document URL |
- Assign the appropriate users or groups to both Granola and the MCP client, then activate the managed resource connection.
With EMA, assigned users do not complete a separate Granola OAuth consent flow. Their access remains subject to both your IdP policy and the MCP access configured in Granola.
If your company builds its own MCP client
Granola supports confidential clients that authenticate with private_key_jwt through a Client ID Metadata Document (CIMD). This lets your client authenticate with its own key pair instead of a client secret issued by Granola.
Your client must implement the MCP EMA extension, obtain an ID-JAG from the company's IdP, and publish a public HTTPS metadata document that declares private_key_jwt and a jwks_uri. Use Granola's OAuth metadata to discover the supported capabilities and endpoints, and use the exact advertised issuer as the audience of the client assertion.
See the MCP EMA specification for the complete protocol requirements.
Example: Claude and Okta
Granola has tested EMA with Claude and Okta Cross App Access (XAA):
- In Okta, add the Granola integration.
- Open the Resource server tab and enable Cross App Access (XAA).
- Follow Okta's instructions to configure a resource server connector between Claude and Granola.
- Use
https://claude.ai/oauth/mcp-oauth-client-metadataas the Client ID at resource.
Tools and descriptions
| Tool | Description | Example prompts |
|---|---|---|
query_granola_meetings | Chat with Granola | See full chat examples here |
list_meeting_folders | Paid plans only — List folders you can access, including folder ID, title, description, and note count. | What meeting folders do I have access to? |
list_meetings | List meeting notes you can access, including meeting ID, title, date, and attendees. Can be filtered by folder on paid plans. | What meetings did I have with Sam last week? |
get_meetings | Read meeting notes you can access, including meeting ID, title, date, attendees, private notes, and summarized notes. | What are the remaining action items for each person on this project? |
get_meeting_transcript | Paid plans only — Zoom in to your transcripts, includes: meeting ID, raw transcript | Give specific quotes of how the team described the issue |
get_account_info | Returns the email and active workspace for the Granola account currently connected to this MCP session — useful for confirming you connected the right Granola account when you have multiple (e.g. personal + work) | Which Granola account am I signed in with? |
Troubleshooting guide
Rate limits will vary depending on your Granola subscription plan and the MCP tool that you're using. Rate limits currently average around 100 requests per minute across all tools. Rate limits are subject to change.<Info>
If you're on the Basic (Free) plan, you can only query notes in the last 30
days.
</Info>
If you're getting a message that your LLM agent can't access your meeting
notes or use the Granola MCP tools, try re-authenticating.
If Granola is connected in Claude but shows **No tools available**, reconnect
the Granola connector in Claude to reset the connection:
1. Go to [Claude connector settings](https://claude.ai/customize/connectors) on the web. You must do this on claude.ai even if you use the Claude desktop app.
2. Select **Granola**.
3. Click the three-dot menu in the top-right.
4. Choose **Disconnect**.
5. Without refreshing the page or navigating away, choose **Connect** again
and complete authentication.
<Info>
If you're on a Claude Team or Enterprise plan, you may need a workspace
admin to disconnect and reconnect Granola for you.
</Info>
If you see this error after completing the OAuth sign-in flow, you may have authenticated with a different email address than the one your Granola account is registered under.
To check which email your Granola account uses, open the Granola app and go to **Settings** (<kbd>⌘</kbd> + <kbd>,</kbd> on macOS, <kbd>Ctrl</kbd> + <kbd>,</kbd> on Windows). Your account email is shown under your profile picture in the top left.
When reconnecting MCP, make sure you sign in with that same email address during the OAuth flow.
If your AI tool says it can't find any notes, or returns no results when you know you have meetings, MCP may be connected to the wrong Granola account or the wrong workspace within the right account.
Ask your AI tool: **"Which Granola account am I signed in with?"** It will use the `get_account_info` tool to return the email and active workspace currently connected to MCP. Then:
* **Right email, wrong workspace**: switch workspace in the Granola desktop app (click your workspace name in the bottom-left corner and pick the right one). MCP follows your active workspace, so the next query will use it. You can also ask your AI tool to switch workspaces for you, for example: **"Switch my Granola workspace to \[workspace name]."**
* **Wrong email entirely**: follow the steps in the **Signed into Claude with the wrong account** accordion below (or the equivalent for your AI tool) to disconnect and reconnect with the correct account.
Here's how to reconnect Claude MCP with a different Granola account:
1. Ask Claude to log out of Granola.
2. Click the [mcp-auth.granola.ai/api/logout](https://mcp-auth.granola.ai/api/logout) link that it gives you.
3. Ask Claude to reconnect to Granola, and sign in with your main Granola account email.
The reason a normal disconnect/reconnect doesn't fix this is that your existing Granola session stays active, so it skips the login step. Logging out through the link clears that session, which lets you pick the right account.
General FAQ
No, you can use different accounts for your AI tool and Granola. You'll authenticate the Granola account you want your AI tool to have access to. To verify which email your Granola account uses, open the Granola app and go to **Settings** (⌘ + , on macOS, Ctrl + , on Windows) — your account email is shown under your profile picture in the top left. First, check which access scopes apply to you:* **Basic (Free):** Personal notes from the last 30 days.
* **Business:** Personal notes and public notes.
* **Enterprise:** Workspace admins configure which scopes are available to members.
Personal notes access does not include every private note in the workspace. The note must be yours, shared directly with you, or in a private folder shared with you. Public notes access includes notes visible to everyone in the workspace, including notes in the Team space.
MCP also only returns notes that belong to the active workspace. If a note was created in another Granola workspace, MCP will not return it from your current workspace, even if you can see it in Granola.
Also confirm that MCP is connected to the right account and active workspace by asking your AI tool: **"Which Granola account am I signed in with?"**
This should happen immediately, and you'll have access to extra tools and upgraded rate limits on your next query.
For a standard browser OAuth connection, no. Granola MCP uses Dynamic Client Registration (DCR), which means credentials are handled automatically. You don't need to generate or enter any client ID or client secret.
If you're using a third-party platform (like Composio) that shows client ID and client secret fields, leave them blank — the platform will register with Granola automatically when you connect.
EMA setup is different. Your identity provider may ask for a **Client ID at resource** when creating the managed connection. Enter the MCP client's Client ID Metadata Document URL. If you're using an existing MCP client such as Claude, use the URL provided by that client; you do not need to create one yourself or enter a client secret.
If you're building your own confidential MCP client, you create and host its Client ID Metadata Document. The document's URL is the client ID, and the client authenticates with its private key rather than a Granola-issued client secret. See [If your company builds its own MCP client](#if-your-company-builds-its-own-mcp-client).
Yes — any tool that implements the [MCP client specification](https://modelcontextprotocol.io/) with Streamable HTTP transport can connect to Granola MCP. Your tool can use browser OAuth, or EMA if it supports the extension and your organization has configured a compatible IdP. See the "Other AI tools" and [Enterprise-Managed Authorization](#enterprise-managed-authorization) sections above.
If you're building a custom integration and need help, reach out to [hey@granola.so](mailto:hey@granola.so).
Enterprise FAQ
Yes. Enterprise admins can configure the note access available to workspace members:1. Go to **Settings → Workspace → General**.
2. Find **MCP access** under **Apps & connectors**.
3. Click **Manage**.
4. Enable **Personal notes**, **Public notes**, both, or neither.
To stop AI tools from reading meeting transcripts, turn off **Meeting transcripts** in the same dialog. It applies to every meeting in your workspace, for everyone who can access it, including admins and people a note is shared with. Notes and summaries stay available. It is on by default.
Access depends on the workspace's current MCP configuration. If neither scope is enabled, members have no MCP access until an admin enables personal notes, public notes, or both.
The controls are under **Settings → Workspace → General → Apps & connectors → MCP access**. All Enterprise workspace members can see the setting, but only admins can change it. If you need another scope enabled, ask your workspace admin.
The note access controls don't. They determine what non-admin workspace members can access through MCP. Enterprise admins can access both personal notes and public notes through MCP.
The **Meeting transcripts** switch applies to everyone, including admins.
This documentation is built and hosted on Mintlify, a developer documentation platform.