PollyHub

Granola Connector

Clean

Access Granola meeting notes, transcripts, AI summaries, and action items through the Granola MCP connector. Use when querying past meetings, follow-ups, decisions, or searching across notes. Authentication is managed automatically via Polly's OAuth2 system.

SKILL.md

---
name: granola-connector
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:
```bash
export PATH="$HOME/lib/node/bin:$PATH"
if ! command -v mcporter &>/dev/null; then
  npm install -g mcporter --prefix ~/lib/node
fi
```

### 2. 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 when needed.

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

---

## Invocation Pattern

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

---

## Available Tools

### List recent meetings
```bash
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
```bash
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 — they link back to source notes.

### List meeting folders
```bash
mcporter --config ~/.mcporter/mcporter.json call granola.list_meeting_folders
```

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

### Get verbatim transcript
```bash
mcporter --config ~/.mcporter/mcporter.json call granola.get_meeting_transcript meeting_id=<uuid>
```

---

## File Locations

| File | Purpose |
|------|---------|
| `~/.mcporter/mcporter.json` | mcporter config with bearer token |
| `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 — they are managed securely by Polly
- The `GRANOLA_ACCESS_TOKEN` environment variable is injected automatically when the skill runs
Authorstella
Downloads7
Versions4
Published1d ago
Auth Requirements
GRANOLA_ACCESS_TOKENoauth2

integration: granola-mcp

Version History

v1.3.0latest

Added connector-skill tag and polly_managed_connector metadata flag for better discoverability and classification

Apr 9, 2026

Clean.zip
v1.2.0

Add polly_managed_connector flag and connector-skill tag

Apr 9, 2026

Clean.zip
v1.1.0

Security improvement: refresh tokens now managed entirely by Polly's auth system, never exposed to LLM. Removed manual refresh_token.py script.

Apr 9, 2026

Clean.zip
v1.0.0

Initial release of Granola connector with Polly-managed OAuth2 authentication

Apr 9, 2026

Clean.zip

SHA-256 (latest)

cd8a68ae9ca47c066df2dfc1ed3d3139dc2d15368d373e009d4aa11fb77cf13d