Connect your AI Agents to Granola in minutes

Available tools
list_folders
List accessible folders alphabetically with cursor pagination. Returns folder IDs, names, and parent folder IDs. Use a folder ID with listnotes' folderid filter to list the notes in a folder and its child folders.
list_notes
List meeting notes with cursor pagination. Filter server-side by createdbefore/createdafter/updatedafter (ISO 8601) or folderid (use listfolders to find folder IDs). Only notes with a generated AI summary appear. Returns lean summaries with note IDs; use getnote for summary text, attendees, and transcript.
get_note
Get a meeting note by ID: AI summary (plain text and markdown), attendees, calendar event, folder membership, and web URL. Set includetranscript=true to also return the timestamped transcript with speaker labels (can be large). Use listnotes to find note IDs.
validate_credential
Validate the Granola API key by making a lightweight list-notes call (page_size=1).
create_webhook_endpoint
Register an HTTPS URL to receive note events (note.generated, note.edited, note.regenerated, note.accessgranted). Requires url and scopes ('personal' and/or 'public'); omit events to subscribe to all. Returns the endpoint ID plus a signingsecret shown only once — store it to verify delivery signatures (Standard Webhooks HMAC-SHA256).
list_webhook_endpoints
List all configured webhook endpoints with their IDs, URLs, subscribed events, scopes, and enabled state. Returns not-found if the webhooks API is unavailable for the workspace. Use deletewebhookendpoint to remove one.
delete_webhook_endpoint
Delete a webhook endpoint by ID; deliveries stop immediately. Use listwebhookendpoints to find endpoint IDs (format whe_...).

How to set up Merge Agent Handler
In an mcp.json file, add the configuration below, and restart Cursor.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "url": "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
5 "headers": {
6 "Authorization": "Bearer yMt*****"
7 }
8 }
9 }
10}
11Open your Claude Desktop configuration file and add the server configuration below. You'll also need to restart the application for the changes to take effect.
Make sure Claude is using the Node v20+.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "yMt*****"
14 }
15 }
16 }
17}Open your Windsurf MCP configuration file and add the server configuration below.
Click on the refresh button in the top right of the Manage MCP server page or in the top right of the chat box in the box icon.
Learn more in the official documentation ↗
1{
2 "mcpServers": {
3 "agent-handler": {
4 "command": "npx",
5 "args": [
6 "-y",
7 "mcp-remote@latest",
8 "https://ah-api.merge.dev/api/v1/tool-packs/<tool-pack-id>/registered-users/<registered-user-id>/mcp",
9 "--header",
10 "Authorization: Bearer ${AUTH_TOKEN}"
11 ],
12 "env": {
13 "AUTH_TOKEN": "<ah-production-access-key>"
14 }
15 }
16 }
17 }In Command Palette (Cmd+Shift+P on macOS, Ctrl+Shift+P on Windows), run "MCP: Open User Configuration".
You can then add the configuration below and press "start" right under servers. Enter the auth token when prompted.
Learn more in the official documentation ↗
1{
2 "inputs": [
3 {
4 "type": "promptString",
5 "id": "agent-handler-auth",
6 "description": "Agent Handler AUTH_TOKEN", // "yMt*****" when prompt
7 "password": true
8 }
9 ],
10 "servers": {
11 "agent-handler": {
12 "type": "stdio",
13 "command": "npx",
14 "args": [
15 "-y",
16 "mcp-remote@latest",
17 "https://ah-api-develop.merge.dev/api/v1/tool-packs/{TOOL_PACK_ID}/registered-users/{REGISTERED_USER_ID}/mcp",
18 "--header",
19 "Authorization: Bearer ${input:agent-handler-auth}"
20 ]
21 }
22 }
23}FAQs on using Merge's Granola MCP server
FAQs on using Merge's Granola MCP server
What is a Granola MCP?
It's an MCP server that lets your agents access data and functionality from Granola via tools. Your agents can invoke these tools to pull a meeting's structured notes, list notes from a specific folder, retrieve attendee and summary details from a call, register a webhook for new note events, and more.
Granola offers an official MCP server, but you can also use one from a third-party platform, like Merge Agent Handler.
How can I use the Granola MCP server?
The use cases naturally depend on the agent you've built, but here are a few common ones:
- Meeting summaries pushed to other tools: when a call ends, an agent can pull the structured note from Granola and post a summary to the relevant Slack channel or project thread
- Action-item extraction and task creation: an agent can scan a note's action items and create a matching task in Asana or Linear, assigned to the person named in the note
- CRM logging after sales calls: after a sales call wraps, an agent can pull the note's summary and attendee list from Granola and log it against the deal in Salesforce or HubSpot
- Searchable meeting knowledge base: an agent can index notes and transcripts from Granola into a vector store or Notion database so teammates can ask questions across every past meeting instead of searching one at a time
What are popular tools for Granola's MCP server?
Here are some of the most commonly used tools:
list_folders: lists the folders an authenticated user can access, alphabetically with cursor pagination. Useful for agents that need to scope a search to a specific team or project folder before pulling notes
list_notes: returns meeting notes filtered by date range or folder, with cursor pagination. Use this when an agent needs to survey recent meetings before deciding which ones to act on
get_note: retrieves a single note's summary, attendees, and optionally its full transcript. Call this when an agent needs complete context on one specific meeting
create_webhook_endpoint: registers an HTTPS URL to receive events when new notes are created. Good for workflows that need to react to a meeting the moment it's processed, rather than polling
list_webhook_endpoints: displays the webhook endpoints currently configured along with their settings. Helpful when an agent needs to confirm a workflow is still wired up correctly
delete_webhook_endpoint: removes a webhook endpoint by ID. Useful for agents that manage their own event subscriptions and need to clean up ones no longer in use
What makes Merge Agent Handler's Granola MCP server better than alternative Granola MCP servers?
There are several reasons to run Granola through Merge Agent Handler instead of a standalone or self-built MCP server:
- Enterprise-grade security and DLP: Merge Agent Handler includes built-in data loss prevention controls that let you block or redact sensitive fields before they reach an agent. For Granola, this means you can prevent full meeting transcripts, attendee contact details, or confidential deal and negotiation content discussed on calls from being exposed even when the agent has broad read access
- Managed authentication and credentials: Merge stores and refreshes Granola credentials on your behalf. You never expose raw API keys or OAuth tokens to an agent or manage token rotation manually
- Real-time observability and audit trail: Every tool call made against Granola is logged with timestamp, tool name, input parameters, and response metadata. You can audit exactly what an agent read or wrote without instrumenting anything yourself
- Tool Packs and controlled access: Tool Packs let you bundle specific Granola tools with tools from other connectors into a single MCP endpoint, scoped to a specific use case. An agent gets exactly the tools it needs, nothing more
How can I start using Merge Agent Handler's Granola MCP server?
You can take the following steps:
1. Create or log into your Merge Agent Handler account.
2. Install the Merge CLI by running pipx install merge-api, then run merge configure to link the CLI to your Merge account and merge login to authenticate your session.
3. Register the Agent Handler MCP server with Claude Code by running claude mcp add --transport http agent-handler https://ah-api.merge.dev/mcp, then open Claude Code and run /mcp to confirm agent-handler appears with a connected status.
4. Select agent-handler from the MCP list. This opens a browser window where you select which integrations to authenticate. Choose Granola and complete the auth flow. Merge stores and manages the credentials going forward.
5. Open a Claude Code session and start querying Granola data directly. The first time you use a Granola tool, a Magic Link may appear to complete connector authentication.
If you want to connect Merge Agent Handler's Granola MCP with internal or customer-facing agentic products, you can follow the steps in our docs.
Can employees use Merge Agent Handler to connect their AI tools to Granola?
Yes, Agent Handler for Workforce lets your employees connect Claude, ChatGPT, Microsoft Copilot, Cursor, and other MCP-compatible AI tools to Granola without bypassing IT governance.
Instead of setting up direct connections with personal credentials that IT can't monitor or revoke, each employee authenticates through Agent Handler and gets individual credentials tied to their identity. An employee can ask Claude to pull up notes from last week's customer call, summarize action items from a meeting, or search past calls for a specific topic, all within IT-defined permissions.
Every tool call an employee's AI makes to Granola is also inspected against your DLP rules and logged to a searchable audit trail, giving security teams full visibility into what data was accessed and by whom.
Ready to try it out?
Whether you're an engineer experimenting with agents or a product manager looking to add tools, you can get started for free now
















