Secure Granola access for AI agents

AI meeting notetaker – capture, transcribe, and search meeting notes via the Granola MCP server

Through Granola, agents can search meeting notes, pull transcripts, and answer natural-language questions across your meetings – every call runs through your policies and is logged for audit.

Server URL: https://mcp.granola.ai/mcp

Credential modes

Granola supports per-org dynamic registration only, so there is no app to create on Granola's side and no client ID or secret to enter. See Credential modes for how it compares with Use SecureAuth's app and Bring your own app.

Before you begin

  • A Granola account.
  • A paid Granola plan (Business or above) if your agents need raw transcripts or meetings older than 30 days. Other MCP tools work on any plan.
  • Workspace admin access in Granola, to turn MCP on for a centrally managed workspace.
  • Administrator access to your Agent Authority workspace, to add the resource.

Setup

  1. In the Agent Authority console, go to Resources and click Add Resource.
  2. Select Granola from the catalog.
  3. On Choose how to install Granola, click Per-org dynamic registration. Selecting it adds the resource right away with its tools pre-configured.
  4. Turn MCP on in Granola, as described in Dynamic client registration below. On centrally managed workspaces MCP is off until a workspace admin enables it, so this step is required before anyone can connect.

After you add the resource, an Admin setup required dialog appears. Its Setup guide button links to the section below.

Dynamic client registration

When you add the resource, the gateway registers its own OAuth client with Granola – the credential that lets it sign users in. The remaining prerequisites are all on the Granola side.

Plan. MCP works on any Granola plan, but pulling raw transcripts and meetings older than 30 days requires a paid plan (Business or above).

Enable MCP. On centrally managed workspaces MCP is off by default. A workspace admin must turn it on in Granola's workspace settings before anyone can connect. The toggle is admin-only, and members see "Workspace admin access required" until it is on.

Which workspace connects. MCP uses the user's active Granola workspace. To connect a different one, switch the active workspace in the Granola desktop app, at the top left, before connecting. Sign-in does not offer a workspace picker.

Verify the connection

The gateway syncs the Granola tools automatically. To check the connection end to end, ask your agent to run a request:

Get my Granola account info

If your email and active workspace come back, the connection is working.

How users connect

Access is per user. Once MCP is enabled, each user connects their own Granola account through a browser sign-in the first time their agent calls a Granola tool: the gateway returns a sign-in link, the user authorizes once, and the tools work from then on. Each connection uses that user's active Granola workspace. Go to Connections to manage linked accounts.

Available tools

ToolDescription
get_account_infoGet the email and active workspace for the connected Granola account
list_meeting_foldersList the user's meeting folders with ID, title, description, and note count
list_meetingsList meeting notes within a time range (this week, last week, or last 30 days)
get_meetingsGet private notes, AI summary, attendees, and metadata for one or more meeting IDs
get_meeting_transcriptGet the full verbatim transcript for a specific meeting
query_granola_meetingsAsk natural-language questions across meeting notes; returns cited responses

Required scopes

The gateway requests this scope automatically when it registers the client, so there is nothing for you to configure. Granola decides what to grant, and any scopes it returns during registration replace the list below.

  • offline_access – lets the gateway refresh the user's access token without asking them to sign in again.

Policy examples

Rules are evaluated first-match-wins from the top of the list, and every org starts with a seeded Allow all rule sitting at the bottom – so a recipe made only of allow rules restricts nothing. Deny-based examples like these work by adding denies above it.

  • Read-only access: nothing to do – every Granola tool is read-only, so the whole surface already is
  • Block transcript access while allowing summaries and search: deny get_meeting_transcript
  • Restrict to natural-language search only: deny list_meeting_folders, list_meetings, get_meetings, and get_meeting_transcript, leaving query_granola_meetings and get_account_info

Next steps

  • Create a policy – start from the transcript-blocking pattern in Policy examples above.
  • Policies – how first-match-wins rule order and the seeded Allow all rule interact.

On this page