Skip to content

feat: add Granola MCP skill with OAuth + auto-refresh#103

Closed
bholagabbar wants to merge 3 commits intoopenclaw:mainfrom
bholagabbar:granola-mcp
Closed

feat: add Granola MCP skill with OAuth + auto-refresh#103
bholagabbar wants to merge 3 commits intoopenclaw:mainfrom
bholagabbar:granola-mcp

Conversation

@bholagabbar
Copy link

Summary

Replaces the outdated CSV-based Granola skill with a fully working MCP integration using Granola's official Streamable HTTP endpoint.

What changed

  • Full MCP support via mcporter connecting to https://mcp.granola.ai/mcp
  • 4 tools: query_granola_meetings, list_meetings, get_meetings, get_meeting_transcript
  • OAuth setup script: Handles dynamic client registration, PKCE flow, browser sign-in, and auto-configures mcporter
  • Token refresh script: Refreshes the 6-hour access token using the stored refresh token, suitable for cron

How it works

  1. scripts/oauth_setup.sh performs the full OAuth 2.0 PKCE flow (discovers endpoints, registers client, opens browser, captures callback, exchanges tokens)
  2. scripts/refresh_token.sh refreshes tokens and updates mcporter config (run via cron every 5h)
  3. All 4 Granola MCP tools are then available via mcporter call granola.<tool>

Supersedes

This replaces the approach in skills/mvanhorn/granola-notes/ which used CSV imports and shared note fetching. Granola now has official MCP support, making those workarounds unnecessary.

Testing

Tested live against mcp.granola.ai/mcp — full OAuth flow, token refresh, and all 4 tool calls confirmed working.

@openclaw-barnacle
Copy link

Thanks for the pull request! This repository is read-only and is automatically synced from https://clawhub.ai, so we can’t accept changes here. Please make updates on the website instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant