> **Building with AI coding agents?** If you're using an AI coding agent, install the official Scalekit plugin. It gives your agent full awareness of the Scalekit API — reducing hallucinations and enabling faster, more accurate code generation.
>
> - **Claude Code**: `/plugin marketplace add scalekit-inc/claude-code-authstack` then `/plugin install <auth-type>@scalekit-auth-stack`
> - **GitHub Copilot CLI**: `copilot plugin marketplace add scalekit-inc/github-copilot-authstack` then `copilot plugin install <auth-type>@scalekit-auth-stack`
> - **Codex**: run the bash installer, restart, then open Plugin Directory and enable `<auth-type>`
> - **Skills CLI** (Windsurf, Cline, 40+ agents): `npx skills add scalekit-inc/skills --list` then `--skill <skill-name>`
>
> `<auth-type>` / `<skill-name>`: `agent-auth`, `full-stack-auth`, `mcp-auth`, `modular-sso`, `modular-scim` — [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Granola MCP

<div class="grid grid-cols-5 gap-4 items-center">
 <div class="col-span-4">
  Connect to Granola MCP to search meeting notes, inspect detailed meeting metadata, and retrieve verbatim meeting transcripts from Granola's official MCP server.
 </div>
 <div class="flex justify-center">
  <img src="https://cdn.scalekit.com/sk-connect/assets/provider-icons/granola.svg" width="64" height="64" alt="Granola MCP logo" />
 </div>
</div>

Supports authentication: OAuth 2.1

<details>
<summary>What you can build with this connector</summary>

| Use case | Tools involved |
|---|---|
| **Ask natural-language questions across meeting notes** | `granolamcp_query_granola_meetings` |
| **List meetings for a date range** | `granolamcp_list_meetings` |
| **Fetch full details for specific meetings** | `granolamcp_get_meetings` |
| **Retrieve exact spoken wording from a meeting** | `granolamcp_get_meeting_transcript` |

**Key concepts:**
- **Official MCP server**: This connector uses Granola's hosted MCP endpoint at `https://mcp.granola.ai/mcp`.
- **OAuth with browser sign-in**: Authentication uses Granola's OAuth flow with PKCE and dynamic client registration.
- **Read-only access**: The available tools retrieve meeting notes, summaries, metadata, and transcripts. They do not create or modify meetings.
- **Query first for open-ended questions**: Prefer `granolamcp_query_granola_meetings` when the user asks broad questions about meeting content or decisions.

</details>

## Set up the agent connector

1. In your agent connector settings, choose **Granola MCP**.
2. Start the connection flow and sign in to your Granola account in the browser.
3. Approve access to Granola's official MCP server.
4. Return to the app once the OAuth flow completes.
**Authentication details:** Granola MCP uses OAuth with PKCE and dynamic client registration against Granola's official MCP server. No API key or manual endpoint configuration is required for the standard connection flow.

## Usage

<UsageGranolamcpSection />

## Tool list

## `granolamcp_get_meeting_transcript`

Get the full transcript for a specific Granola meeting by ID. Returns only the verbatim transcript content, not summaries or notes.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `meeting_id` | string | Yes | Meeting UUID |
| `schema_version` | string | No | Optional schema version to use for tool execution |
| `tool_version` | string | No | Optional tool version to use for tool execution |

## `granolamcp_get_meetings`

Get detailed meeting information for one or more Granola meetings by ID. Returns private notes, AI-generated summary, attendees, and metadata.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `meeting_ids` | `array<string>` | Yes | Array of meeting UUIDs (max 10) |
| `schema_version` | string | No | Optional schema version to use for tool execution |
| `tool_version` | string | No | Optional tool version to use for tool execution |

## `granolamcp_list_meetings`

List the user's Granola meeting notes within a time range. Returns meeting titles and metadata.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `custom_end` | string | No | ISO date for custom range end. Required if `time_range` is `custom`. |
| `custom_start` | string | No | ISO date for custom range start. Required if `time_range` is `custom`. |
| `schema_version` | string | No | Optional schema version to use for tool execution |
| `time_range` | string | No | Time range to query meetings from. One of `this_week`, `last_week`, `last_30_days`, or `custom`. Defaults to `last_30_days`. |
| `tool_version` | string | No | Optional tool version to use for tool execution |

## `granolamcp_query_granola_meetings`

Query Granola about the user's meetings using natural language. Returns a tailored response with inline citations that reference source meeting notes.

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `document_ids` | `array<string>` | No | Optional list of specific meeting IDs to limit context to |
| `query` | string | Yes | The query to run on Granola meeting notes |
| `schema_version` | string | No | Optional schema version to use for tool execution |
| `tool_version` | string | No | Optional tool version to use for tool execution |

---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
