Docs

Team & admin

Granola meeting notes

Turn decisions and action items from your Granola meeting notes into proposed team decisions and shared tasks, with Granola's own MCP server in your coding agent. Comity stores only the decision and a link back.

3 min readUpdated

On this page

Comity has no server-side Granola integration yet: it never connects to your Granola account and never reads your notes. Instead, connect Granola's official MCP server to your coding agent. Your agent then reads your meeting notes with your own Granola access and records what came out of the meeting in Comity: decisions as proposed team decisions, action items as shared tasks.

Each person connects their own Granola account. Granola MCP works on every Granola plan, with Granola's limits: on Basic (free) it reads notes from the last 30 days, and the transcript and folder tools need a paid plan. See Granola's MCP guide.

Connect Granola to your agent

Granola's server is https://mcp.granola.ai/mcp (Streamable HTTP, sign-in with your Granola account in the browser; no API key). Its tools include query_granola_meetings, list_meetings, get_meetings, get_meeting_transcript and list_meeting_folders.

Claude Code

Terminal
claude mcp add granola --transport http https://mcp.granola.ai/mcp

Add --scope user to have it in every project. Start claude again, run /mcp, select granola and choose Authenticate.

Cursor

Add Granola to ~/.cursor/mcp.json (every project) or .cursor/mcp.json (this project), next to Comity:

JSON
{
  "mcpServers": {
    "granola": { "url": "https://mcp.granola.ai/mcp" }
  }
}

Cursor lists it under Settings → MCP; sign in to Granola when it asks. In the Cursor CLI: agent mcp login granola.

Codex

Terminal
codex mcp add granola --url https://mcp.granola.ai/mcp
codex mcp login granola

That writes this to ~/.codex/config.toml:

TOML
[mcp_servers.granola]
url = "https://mcp.granola.ai/mcp"

Other agents: add https://mcp.granola.ai/mcp as a remote (Streamable HTTP) MCP server with OAuth. See Any MCP client.

Ask your agent

Output
Record the decisions and action items from today's planning meeting.
Output
What did we decide about the billing retries in Tuesday's sync?
Output
Go through this week's architecture meetings and propose team decisions for anything we settled about the database.

What the agent does:

  1. Finds the meeting with its Granola tools (list_meetings, get_meetings, query_granola_meetings), as you, with your Granola access.
  2. For each decision, calls decision_record: a short title, the reasons in its own words, the repository (or org-wide), any rules worth enforcing, and the source {kind: "meeting", url: "<the Granola note's link>"}. The decision starts as proposed: an owner or admin confirms it in the dashboard, in Needs you or in a Slack DM. In Claude Code, an owner or admin can confirm it right away in Comity's popup.
  3. For action items, posts a shared task list with task_add (one task per item, in the repository they belong to), so your agents and your teammates' agents can take them.
  4. For "what did we decide" questions, it can check both: Comity's record (decisions, the confirmed version and its history) and the meeting notes. Ask it to say which one it answered from.

The agent doesn't paste transcripts, summaries or quotes from the meeting into Comity: it writes the decision and its reasons briefly and links to the note. Comity tells agents exactly this, in its decision_record tool description and in the agent instructions comity init writes (the same text as the recommended snippet).

Privacy

  • Comity stores only what the agent records: the proposed decision (title, reasons, scope, rules) with the Granola note's link, and any tasks it posts. No transcript, summary or note content, and no Granola credentials.
  • The link opens only for people who can open the note in Granola.
  • In a metadata-only org, decisions keep their title, structural fields and the link; the reasons aren't stored.
  • Your Granola sign-in lives in your agent (Claude Code, Cursor, Codex), per user. Teammates without Granola access don't get it through Comity.
  • Every recorded decision is a proposal until a person confirms it, so nothing from a meeting reaches other agents unreviewed.

Try Comity now.

Start free →

npm i -g comity-cli && comity login && comity init