Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Access Granola AI meeting notes via MCP (mcporter). Query meetings, list by date range, get full details, and pull verbatim transcripts. Use when the user as...
Access Granola AI meeting notes via MCP (mcporter). Query meetings, list by date range, get full details, and pull verbatim transcripts. Use when the user as...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Meeting notes AI connected via mcporter call granola.<tool>.
granola.query_granola_meetings query=<string> [document_ids=<uuid[]>] granola.list_meetings [time_range=this_week|last_week|last_30_days|custom] [custom_start=<ISO>] [custom_end=<ISO>] granola.get_meetings meeting_ids=<uuid[]> (max 10) granola.get_meeting_transcript meeting_id=<uuid>
For open-ended questions ("what did we discuss about X?"), use query_granola_meetings For listing meetings in a range, use list_meetings For full details on specific meetings, use get_meetings with IDs from list results For exact quotes or verbatim content, use get_meeting_transcript Prefer query_granola_meetings over list+get for natural language questions. Responses include citation links (e.g. [[0]](url)). Preserve these in replies so the user can click through to original notes.
Complete the Granola OAuth flow at https://mcp-auth.granola.ai/oauth2/authorize Save credentials to config/granola_oauth.json with keys: client_id, refresh_token, access_token, token_endpoint Configure config/mcporter.json with the Granola MCP server entry and Authorization: Bearer <token> header (Optional) Set up a cron job to run scripts/refresh_token.sh periodically, since OAuth tokens expire every ~6 hours
If a call fails with 401/auth error: bash {baseDir}/scripts/refresh_token.sh The script reads config/granola_oauth.json, posts to the token endpoint (https://mcp-auth.granola.ai/oauth2/token), and updates both config/granola_oauth.json and config/mcporter.json with the new access token. Then retry the call. If refresh also fails, the user needs to re-authenticate manually via the OAuth flow above.
config/granola_oauth.json โ OAuth credentials (client_id, refresh_token, access_token, token_endpoint). Contains secrets; do not commit. config/mcporter.json โ MCP server config with bearer token header. Contains secrets; do not commit.
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.