PollyHub

Granola

Clean

Access Granola meeting notes, transcripts, AI summaries, and action items through the Granola MCP connector using managed OAuth2 authentication.

SKILL.md

---
name: Granola
description: >
  Query and retrieve Granola meeting notes, transcripts, summaries, and action items using the Granola MCP connector.
  Use when the user asks about meetings, what was discussed, follow-ups, decisions, action items, or wants to search across meeting notes.
  Keywords: granola, meeting, notes, transcript, summary, action items, follow-up, discussed.
metadata:
  polly:
    polly_managed_connector: true
    auth:
      - env: GRANOLA_ACCESS_TOKEN
        type: oauth2
        integration_id: granola-mcp
        description: Granola OAuth access
        scopes:
          - openid
          - email
          - profile
          - offline_access
    primaryEnv: GRANOLA_ACCESS_TOKEN
---

# Granola Connector

Access your Granola meeting notes, transcripts, and AI summaries through the
[Granola MCP Server](https://mcp.granola.ai/mcp) using `mcporter`.

---

## Prerequisites

### 1. Ensure mcporter is available
Always run this before invoking any Granola tools:

  export PATH="$HOME/lib/node/bin:$PATH"
  if ! command -v mcporter &>/dev/null; then
    npm install -g mcporter --prefix ~/lib/node
  fi

### 2. Write mcporter config
Always write the config before invoking any tools — this connects mcporter
to Granola's remote MCP server:

  mkdir -p ~/.mcporter
  cat > ~/.mcporter/mcporter.json << EOFCONFIG
  {
    "mcpServers": {
      "granola": {
        "url": "https://mcp.granola.ai/mcp",
        "headers": {
          "Authorization": "Bearer $GRANOLA_ACCESS_TOKEN"
        }
      }
    }
  }
  EOFCONFIG

### 3. Authentication

This skill uses Polly-managed OAuth2 authentication. The access token is
automatically managed and refreshed by Polly's auth system via the
GRANOLA_ACCESS_TOKEN environment variable.

No manual token refresh is needed — Polly handles token refresh automatically.

On first use, if not connected, call:
  manage_auth(action="connect", integration_id="granola-mcp", auth_env="GRANOLA_ACCESS_TOKEN")

---

## Invocation Pattern

  export PATH="$HOME/lib/node/bin:$PATH"
  mcporter --config ~/.mcporter/mcporter.json call granola.<tool_name> [key=value ...]

---

## Available Tools

### List recent meetings
  mcporter --config ~/.mcporter/mcporter.json call granola.list_meetings time_range=this_week
  # time_range options: this_week | last_week | last_30_days

### Query meetings with natural language
  mcporter --config ~/.mcporter/mcporter.json call granola.query_granola_meetings query="what were the action items from this week?"
  # Always preserve citation links [[0]](url) in your response

### List meeting folders
  mcporter --config ~/.mcporter/mcporter.json call granola.list_meeting_folders
  # Note: requires a paid Granola plan

### Get full meeting details (summary, notes, attendees)
  mcporter --config ~/.mcporter/mcporter.json call granola.get_meetings meeting_ids='["<uuid>","<uuid>"]'
  # meeting_ids must be valid UUIDs

### Get verbatim transcript
  mcporter --config ~/.mcporter/mcporter.json call granola.get_meeting_transcript meeting_id=<uuid>
  # Note: requires a paid Granola plan

---

## Plan Restrictions

The following capabilities require a paid Granola plan:
- list_meeting_folders — returns error on free tier
- get_meeting_transcript — returns error on free tier

---

## File Locations

~/.mcporter/mcporter.json    mcporter config pointing to remote MCP server
scripts/oauth_setup.py       Initial OAuth PKCE setup (for manual setup only)

---

## Notes

- Access tokens are valid for ~6 hours and are automatically refreshed by Polly's auth system
- The LLM never directly accesses refresh tokens — managed securely by Polly
- The GRANOLA_ACCESS_TOKEN environment variable is injected automatically when the skill runs
- meeting_ids in get_meetings must be valid UUID format — non-UUID strings will return a validation error
AuthorManasi
Downloads21
Versions3
PublishedApr 12, 2026
Auth Requirements
GRANOLA_ACCESS_TOKENoauth2

integration: granola-mcp

Version History

v1.0.2latest

Update SKILL.md

Apr 14, 2026

Clean.zip
v1.0.1

Remove Connector from display name

Apr 13, 2026

Clean.zip
v1.0.0

Initial release

Apr 12, 2026

Clean.zip

SHA-256 (latest)

45ec106ae059c905e4dadc3b862c13a35efc1775dd3e095721a139eade230d77