mcpField
G
granola

granola

github.com/joelhooks生産性65103 回インストール4 日前に更新
リポジトリ

granola について

granolaは、MCPサーバー経由でJoelのGranola会議ノートにアクセスするコマンドラインスキルです。会議の検索、詳細や文字起こしの取得に対応し、次の操作を含むJSONを返します。

主な機能

  1. 01期間を指定して会議を一覧表示
  2. 02会議の詳細と参加者を取得
  3. 03全文の文字起こしを取得
  4. 04会議ノートを検索
  5. 05次の操作を含むJSONを返却

活用シーン

  1. 01指定期間内の会議を探す
  2. 02会議の要約と参加者を確認
  3. 03会議の文字起こしを取得または検索

MCP 対応

granolaコマンドラインは直接APIではなく、mcporter経由でGranola MCPサーバーに接続します。会議の検索、一覧、詳細、文字起こし取得のツールをラップします。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/joelhooks/joelclaw --skill granola

インストール後、Claude Code で/granolaを入力して読み込まれたか確認します。

詳細

Granola ミーティングインテリジェンス

mcporter 経由で Granola MCP サーバーをラップする granola CLI を使用して、Joel の Granola ミーティングノートにアクセスします。

セットアップ

  • バイナリ: ~/.local/bin/granola
  • ソース: ~/Code/joelhooks/granola-cli
  • 設定: ~/.config/granola-cli/mcporter.json
  • トランスポート: mcporter 経由の MCP(直接 API ではなく、npm パッケージでもありません)
  • 認証: Granola のローカル認証情報を自動的に使用します

CLI コマンド

ミーティング一覧の取得
granola meetings [--range this_week|last_week|last_30_days|custom] [--start YYYY-MM-DD] [--end YYYY-MM-DD]
ミーティングの詳細(概要、参加者)の取得
granola meeting <meeting-id>
全文書き起こしの取得
granola meeting <meeting-id> --transcript
ミーティングの検索
granola search "<query>"
認証/接続の確認
granola --help

MCP トランスポートが機能している場合は "connected": true が返されます。

出力形式

すべてのコマンドは、HATEOAS の next_actions を含むエージェント優先の JSON を返します。

{
  "ok": true,
  "command": "granola meetings",
  "result": { ... },
  "next_actions": [
    { "command": "granola meeting <id>", "description": "Get details" }
  ]
}

重要な注意事項

  • タイムスタンプは UTC です。 Granola はすべての日付を UTC で返します。2 月 26 日の「午後 5:01」と表示されるミーティングは、実際には PST の午前 9:01 です。Joel に表示するときや Vault ファイルに書き込むときは、必ず変換してください。
  • 実際のアクセス可否を確認してください。 Executor に保存されている Granola 接続と現在の統合契約を使用してください。過去のサンドボックスでの EPERM は、あらゆる状況での機能上の制限を意味するわけではありません。まず概要から確認し、生の証拠を取得する場合は、必要なスコープ指定のドリルダウンレシートが必要です。

既知の制限事項

  • レート制限: get_meeting_transcript エンドポイントは厳しいレート制限を適用します。書き起こしの取得をまとめて行わず、間隔を空けてください。
  • 並行処理: 書き起こしの取得時は並行処理数を 1 にしてください。元の並行処理数 3 では API に過剰な負荷がかかりました。
  • ローカルで Granola アプリを起動する必要はありません: MCP サーバーは保存済みの認証情報を使って認証を処理するため、Granola デスクトップアプリを起動しておく必要はありません。

MCP ツール(基盤)

granola CLI は以下の MCP ツールをラップします。

  1. query_granola_meetings — 引用付きの自然言語検索
  2. list_meetings — 期間を指定した一覧取得
  3. get_meetings — ID 配列を指定した詳細取得
  4. get_meeting_transcript — ID を指定した逐語的な書き起こし取得

パイプライン統合

新しいミーティングが検出されたら、Inngest イベントを発行します。

curl -X POST "http://localhost:8288/e/$EVENT_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "meeting/noted",
    "data": {
      "meeting_id": "<id>",
      "title": "<title>",
      "date": "<YYYY-MM-DD>",
      "source": "granola",
      "participants": ["Person A", "Person B"]
    }
  }'

ミーティングを処理する Inngest 関数:

  • check/granola-meetings — 新しいミーティングを確認するイベントトリガー型のチェック
  • granola-check-cron — 新しいミーティングをポーリングする毎時の cron(7 * * * *)
  • granola-backfill — すべてのミーティングを一括でバックフィル

関連項目

  • ADR-0055:Granola ミーティングインテリジェンスパイプライン
  • ソースリポジトリ:~/Code/joelhooks/granola-cli
  • Inngest 関数:packages/system-bus/src/inngest/functions/check-granola.ts
  • ミーティング分析:packages/system-bus/src/inngest/functions/meeting-analyze.ts
  • 書き起こしのインデックス作成:packages/system-bus/src/inngest/functions/meeting-transcript-index.ts

コメント