Granola
SkillSearchSearch and read Granola meeting notes and transcripts through Granola's OAuth-backed MCP server.
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Granola skill
What this skill tells your AI
The instructions your AI receives, as published by win4r/museai-skills in opt/hatch/skills/granola/SKILL.md and read by ahel’s review.
Purpose
Search Granola meeting notes, summaries, and transcripts through the hosted
Granola MCP server (https://mcp.granola.ai/mcp).
Tooling
Use exec to run:
granola-cli <subcommand> [options]
Connection management
granola-cli status
granola-cli authorize-url
granola-cli exchange-code --code <code> [--redirect-uri <url>]
granola-cli refresh
granola-cli disconnect
MCP operations
granola-cli list-tools
granola-cli call-tool --name <tool> --arguments-json '<json-object>'
--arguments-json must be a JSON object; arrays or scalars are rejected. Use
list-tools first to discover the tool catalogue and each tool's
input_schema.
Auth
OAuth is handled by authd via Dynamic Client Registration + PKCE (S256). The credential stays behind authd; do not read or edit connector auth files.
First-use setup flow
- Run
granola-cli status. - If status is
not_connected, rungranola-cli authorize-url. Whenconnect_urlis present, replace<connect_url>with the returned URL and share exactly this Markdown link:[Connect Granola](<connect_url>); do not paste the raw URL separately. Wait for the user to complete authorization. - After the user authorizes, the browser is redirected via the Muse relay back to this VM, and authd completes the code exchange automatically. The agent resumes once the token lands.
- Re-run
granola-cli status. When status flips toconnectedthe output also includes the discovered MCP tool catalogue.
For manual environments where the relay is not wired up, call
granola-cli exchange-code --code <auth-code> after receiving the code.
Operating Rules
- Run
granola-cli statusbefore any MCP work. If notconnected, complete the setup flow first. - Call
list-toolsbeforecall-toolunless you already know the tool name and its argument shape. Never guess tool names. arguments-jsonmust be a JSON object; wrap every argument appropriately.- Prefer
query_granola_meetingsfor natural-language questions,list_meetingsfor metadata,get_meetingsfor known meeting IDs, andget_meeting_transcriptonly when the user needs verbatim detail. Useget_account_infoto answer which account/workspace is connected and, when results come back empty, to checkmcp_note_access.scopes— a workspace whose MCP access ispublic-only excludes personal notes.list_meetingsdefaults to the last 30 days; when it returns zero meetings, retry withtime_range: "custom"pluscustom_startandcustom_endbefore concluding the account has no meetings, and uselist_meeting_foldersto see what the workspace actually holds. - Preserve Granola citation links in user-facing answers.
- Do not use Granola for calendar scheduling or upcoming-event planning.
- Token refresh happens automatically on 401. If
call-toolkeeps failing withunauthorized, rungranola-cli refreshexplicitly or ask the user to re-authorize.
Signals
- GitHub stars
- 293
- Forks
- 93
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
granola-win4r- Source
- github.com/win4r/museai-skills