mcpField
F
fireflies-transcript

fireflies-transcript

github.com/davidondrej生産性4.2k121 回インストール今日更新
リポジトリ

fireflies-transcript について

fireflies-transcriptは、Fireflies.aiから話者ラベル付きの会議記録を取得する読み取り専用スキルです。会議記録の取得を扱うエージェント向けに、検索、取得、内容確認の手順を示します。

主な機能

  1. 01会議記録の一覧表示と検索
  2. 02発言テキストと話者の取得
  3. 03任意の要約と参加者の取得
  4. 04報告前の記録内容の確認

活用シーン

  1. 01日付やタイトルから会議を検索
  2. 02話者ラベル付き記録のファイル保存
  3. 03記録の話者と話題の確認

インストール

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

$npx skills add https://github.com/davidondrej/skills --skill fireflies-transcript

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

同梱ファイルagents/openai.yaml

詳細

Fireflies Transcript

Fireflies.ai から任意の会議のトランスクリプトを GraphQL 経由でプレーンテキストとして取得します。読み取り専用です。

認証(まず状態を確認)

ローカルの環境ファイルから API キーを読み込みます(パーミッションは 600 に設定し、絶対にコミットしたり表示したりしないでください)。

source "$SERVICE_ENV_FILE"   # exports API_KEY
[ -n "$API_KEY" ] || echo "MISSING KEY - stop and tell the user"

すべての呼び出しは、Authorization: Bearer <API_KEY> と JSON ボディ {"query": "..."} を指定した https://api.fireflies.ai/graphql への POST です。

ステップ 1 - 会議 ID を探す

curl -sS -X POST https://api.fireflies.ai/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <API_KEY>" \
  -d '{"query":"{ transcripts(limit: 25) { id title date duration } }"}' \
  | jq -r '.data.transcripts[] | "\(.id) | \(.title) | \(.date)"'
  • date はエポックからのミリ秒です。macOS では次のように変換します:date -r $((1784127600000/1000))。
  • transcripts(title:) フィルターは完全一致です。一部一致では [] が返されます。 最近の会議を一覧表示して、ローカルで grep してください。
  • アドホックな会議には適切なタイトルがありません(例:Untitled - Wed, 15 Jul 2026 17:00:55 CEST)。 日付と時刻で特定し、タイトルではなく内容または発言者で確認してください。
  • 古い会議は skip: でページネーションします(例:transcripts(limit: 50, skip: 25))。

ステップ 2 - 生のトランスクリプトを取得する

QUERY='{ transcript(id: "MEETING_ID") { title sentences { speaker_name text } } }'
curl -sS -X POST https://api.fireflies.ai/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <API_KEY>" \
  -d "$(jq -nc --arg query "$QUERY" '{query: $query}')" \
  > /tmp/ff.json

# speaker-labeled raw text (usual deliverable)
jq -r '.data.transcript.sentences[] | "\(.speaker_name): \(.text)"' /tmp/ff.json

# bare text only
jq -r '.data.transcript.sentences[].text' /tmp/ff.json

トランスクリプトは数百文に及ぶため、ファイルに保存し、標準出力やチャットに出力しないでください。

同じ transcript(id:) クエリに追加できる任意の項目:summary { overview short_summary keywords }、 participants、duration、meeting_link。

失敗時の対処

  • sentences: null — 録音の処理中か、音声が記録されていません。取得できるものはありません。
  • レスポンスに data ではなく errors[] がある — 通常はフィールド名が誤っています。クエリを修正してください。
  • 401/無効なキー — キーがローテーションされています。ユーザーに新しいキーを依頼し(Fireflies ダッシュボード: Settings -> Developer settings)、ローカルの環境ファイルを更新してください。

完了を報告する前に確認

文数が 0 より多く、発言者やトピックがユーザーの依頼した会議と一致している場合にのみ、取得は成功です。最初の数行を確認し、タイトルだけを信用しないでください。

コメント