Granola MCP

official

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.

What can you do with Granola MCP?

  • Search meeting notes — Ask your assistant to find specific topics, decisions, or discussions from past meetings using query_granola_meetings.
  • List meeting folders — Use list_meeting_folders to browse accessible folders, including titles, descriptions, and note counts (paid plans only).
  • Retrieve meeting details — Pull up notes, attendees, dates, and summarized content for specific meetings with get_meetings.
  • Extract action items — Ask for remaining action items or decisions per person from a project's meetings via get_meetings.
  • Access transcripts — Get raw transcripts with get_meeting_transcript to pull exact quotes or clarify discussions (paid plans only).
  • Verify account connection — Confirm which Granola account and workspace is active using get_account_info.

Documentation

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 scopeWhat can it access
Personal notes
  • Notes you own in the active workspace
  • Notes in the active workspace shared directly with you
  • Notes in private folders in the active workspace shared with you
Public notes
  • Notes visible to everyone in the active workspace
  • Notes in the active workspace's Team space

Your plan and workspace settings determine which scopes MCP uses:

PlanMCP access
Basic (Free)Personal notes from the last 30 days. Some folder, search, and transcript tools are only available on paid plans.
BusinessPersonal notes and public notes.
EnterpriseWorkspace admins can configure which scopes are available to members. If neither scope is enabled, members cannot use Granola MCP.

Info

MCP follows the active workspace selected in the Granola app. If you belong to more than one workspace, switch workspaces in Granola before asking your AI tool another question. MCP does not combine notes across multiple workspaces.

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 Claude
2. 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 instead.

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

  1. In Granola, go to Settings → Workspace → General → Apps & connectors → MCP access for members. Enable the note access your company wants to allow.
  2. In your IdP, add or select Granola and enable its managed authorization or resource server capability.
  3. Create a managed resource connection from your MCP client to Granola.
  4. Enter the values below. Your IdP may use different field names or infer some values automatically.
FieldValue
Resource URLhttps://mcp.granola.ai/mcp
Issuer URLhttps://mcp-auth.granola.ai
ID-JAG audiencehttps://mcp-auth.granola.ai
Scopemcp
Client ID at resourceThe MCP client's Client ID Metadata Document URL
  1. 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):

  1. In Okta, add the Granola integration.
  2. Open the Resource server tab and enable Cross App Access (XAA).
  3. Follow Okta's instructions to configure a resource server connector between Claude and Granola.
  4. Use https://claude.ai/oauth/mcp-oauth-client-metadata as the Client ID at resource.

Tools and descriptions

ToolDescriptionExample prompts
query_granola_meetingsChat with GranolaSee full chat examples here
list_meeting_foldersPaid plans only — List folders you can access, including folder ID, title, description, and note count.What meeting folders do I have access to?
list_meetingsList 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_meetingsRead 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_transcriptPaid plans only — Zoom in to your transcripts, includes: meeting ID, raw transcriptGive specific quotes of how the team described the issue
get_account_infoReturns 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.

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.

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 top left and pick the right one). MCP follows your active workspace, so the next query will use it.
* **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. Open an incognito/private browsing window and sign in to claude.ai.
2. Go to **Settings -> Connectors** and disconnect Granola.
3. Still in incognito, reconnect Granola. This will prompt you to sign in again, so use your main Granola account email.
4. Once connected, switch back to your normal browser and it should be working with the right account.

The reason a normal disconnect/reconnect doesn't fix this is that your existing Granola session stays active, so it skips the login step. Incognito forces a fresh login, 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 for members** under **Apps & connectors**.
3. Click **Manage**.
4. Enable **Personal notes**, **Public notes**, both, or neither.
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 for members**. All Enterprise workspace members can see the setting, but only admins can change it. If you need another scope enabled, ask your workspace admin. No. The controls determine what non-admin workspace members can access through MCP. Enterprise admins can access both personal notes and public notes through MCP.