mcpField
G
gongio-mcp

gongio-mcp

ローカル
github.com/JustinBeckwithビジネス・マーケティング222 週間前に更新

gongio-mcp について

gongio-mcp は Gong.io のデータにアクセスする MCP サーバーで、Claude などの MCP クライアントから通話、トランスクリプト、ユーザー、キーワードトラッカーを照会できます。Gong に記録された営業通話を確認するチーム向けです。

主な機能

  1. 01日付とワークスペースによる通話一覧
  2. 02要点とアクションアイテムを含む AI 通話サマリー
  3. 03話者別トランスクリプトのページ単位取得
  4. 04参加者、顧客、トラッカー、通話時間による検索
  5. 05トランスクリプト文を対象にしたキーワード検索
  6. 06出力が大きい場合のコンパクトな表への切り替え

活用シーン

  1. 01特定の顧客に関連する通話の要約
  2. 02競合への言及を含む通話の検索
  3. 03トランスクリプトで発言の正確な引用を確認

MCP 対応

MCP サーバーとして、通話、トランスクリプト、ユーザー、ライブラリフォルダー、トラッカーのデータを読み取る 15 のツールを MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"justinbeckwith-gongio": {
"command": "npx",
"args": [
"-y",
"gongio-mcp"
]
}
}
}
起動コマンドnpx -y gongio-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmgongio-mcp2.0.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Gong MCP Server

npm version License: MIT

ゴングを鳴らすかわいいレッサーパンダ

Gong.io のデータにアクセスできる MCP(Model Context Protocol)サーバーです。Claude や MCP 対応クライアントから、通話、文字起こし、ユーザー、キーワードトラッカーなどを直接検索できます。

ツール早見表

ツール説明
list_calls日付やワークスペースで絞り込んで通話を一覧表示します
get_call特定の通話のメタデータを取得します
get_call_summaryAI による要約:要点、トピック、アクションアイテム
get_call_transcript話者ごとに分けた全文の文字起こしを取得します(ページネーション対応)
search_calls参加者、顧客、トラッカー、範囲、通話時間、タイトルなどで通話を詳細に検索します
search_calls_by_accountメールのドメインから、特定のアカウント/企業が関係する通話を検索します
search_calls_by_opportunity特定の CRM 商談に関連する通話を検索します
search_transcripts文字起こしの文全体からキーワードをフリーテキスト検索します
get_trackersキーワードトラッカー(競合他社、トピックなど)を一覧表示します
list_workspacesワークスペースを一覧表示し、ほかのツールで使う ID を取得します
list_library_folders公開通話ライブラリのフォルダーを一覧表示します
get_library_folder_calls特定のライブラリフォルダーに保存された通話を取得します
get_user特定のユーザーのプロフィールを取得します
search_usersID または作成日でユーザーを検索/絞り込みします
list_usersすべてのワークスペースユーザーを一覧表示します

応答サイズとコンテキストの上限

search_calls は大量のデータを返すことがあります。内部では、次の処理を行います。

  • クエリごとに最大 約5000件の通話(API の50ページ分)を自動でページネーションします
  • ページネーションの後に、クライアント側でフィルター(参加者、顧客、トラッカー、通話時間など)を適用します
  • デフォルトでは、通話ごとの詳細な形式(メタデータ+要約+トピック+参加者)を返します

組み込みの安全策:

  • 形式化した出力が MAX_MCP_OUTPUT_LENGTH(デフォルトは50000文字。環境変数で変更可能)を超える場合、警告とともに自動で簡易テーブルに切り替わります。すべての通話 ID とタイトルは取得できます。詳細を確認するには、対象の通話に対してget_call_summaryを実行してください。
  • include: ["outline"]は、通話1件あたり約80KBと負荷が大きいため、複数通話の検索では使用しないでください。
  • トラッカーデータは、trackersフィルターに一致するトラッカーのみ(フィルターがない場合はゼロ以外のトラッカーのみ)に絞り込まれます。これにより、(0x)の情報が大量に表示されることはありません。

クエリが出力上限に達した場合は、検索範囲を絞り込んでください。

  1. fromDateTime/toDateTimeをより限定します
  2. scope: "External"またはscope: "Internal"を追加します
  3. 短い不参加通話を除外するため、minDuration: 600を追加します
  4. customerNameまたはtrackersフィルターを追加します
  5. outlineなど、サイズの大きいincludeオプションを外します

前提条件

  • Node.js 18+ または Docker
  • Gong API の認証情報(Access Key と Secret)
API 認証情報の取得
  1. 管理者として Gong にログインします
  2. Company Settings → Ecosystem → APIに移動します
  3. Create API Keyをクリックします
  4. Access Key と Secret の両方を保存します(Secret は一度しか表示されません)
インストール
オプション1:npx(インストール不要)
npx gongio-mcp
オプション2:npm でグローバルインストール
npm install -g gongio-mcp
gongio-mcp
オプション3:ソースからインストール
git clone https://github.com/JustinBeckwith/gongio-mcp.git
cd gongio-mcp
npm install
npm run build
node dist/index.js
オプション4:Docker(ローカルでビルド)
git clone https://github.com/JustinBeckwith/gongio-mcp.git
cd gongio-mcp
docker build -t gongio-mcp .
docker run --rm -i \
  -e GONG_ACCESS_KEY=your-access-key \
  -e GONG_ACCESS_KEY_SECRET=your-secret-key \
  gongio-mcp
設定

Gong の認証情報を環境変数として設定します。

export GONG_ACCESS_KEY="your-access-key"
export GONG_ACCESS_KEY_SECRET="your-secret-key"

または、インラインで渡します。

GONG_ACCESS_KEY=your-key GONG_ACCESS_KEY_SECRET=your-secret npx gongio-mcp
クライアントの設定 ### Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json(macOS)または %APPDATA%\Claude\claude_desktop_config.json(Windows)に追加します。

npx を使用する場合:

{
  "mcpServers": {
    "gong": {
      "command": "npx",
      "args": ["gongio-mcp"],
      "env": {
        "GONG_ACCESS_KEY": "your-access-key",
        "GONG_ACCESS_KEY_SECRET": "your-secret-key"
      }
    }
  }
}

Docker を使用する場合:

{
  "mcpServers": {
    "gong": {
      "command": "docker",
      "args": ["run", "--rm", "-i",
               "-e", "GONG_ACCESS_KEY",
               "-e", "GONG_ACCESS_KEY_SECRET",
               "gongio-mcp"],
      "env": {
        "GONG_ACCESS_KEY": "your-access-key",
        "GONG_ACCESS_KEY_SECRET": "your-secret-key"
      }
    }
  }
}
Claude Code

npx を使用する場合:

claude mcp add gong -e GONG_ACCESS_KEY=your-key -e GONG_ACCESS_KEY_SECRET=your-secret -- npx gongio-mcp

Docker を使用する場合(docker build -t gongio-mcp . の実行後):

claude mcp add gong -e GONG_ACCESS_KEY=your-key -e GONG_ACCESS_KEY_SECRET=your-secret -- docker run --rm -i -e GONG_ACCESS_KEY -e GONG_ACCESS_KEY_SECRET gongio-mcp

利用可能なツール

list_calls — 日付で絞り込んで Gong の通話を一覧表示

任意の日付範囲やワークスペースで絞り込んで通話を一覧表示します。最小限の通話メタデータ(ID、タイトル、日付、時間)を返します。

パラメーター:

パラメーター必須説明
fromDateTimeいいえISO 8601 形式の開始日時(例:2024-01-01T00:00:00Z)
toDateTimeいいえISO 8601 形式の終了日時(例:2024-01-31T23:59:59Z)
workspaceIdいいえワークスペース ID で通話を絞り込みます(ID の確認には list_workspaces を使用します)
cursorいいえ次のページを取得するためのページネーションカーソル

get_call — 特定の通話のメタデータを取得

1 件の通話の URL、タイミング、方向、スコープ、システムなどのメタデータを取得します。通話メタデータのみが必要な場合は、get_call_summary より高速です。

パラメーター:

パラメーター必須説明
callIdはいGong の通話 ID(数値文字列)

get_call_summary — AI が生成した通話の要約

簡単な概要、要点、トピック、アクション項目、詳細なアウトラインを含む、AI が生成した要約を取得します。通話内容を把握するには、この方法を推奨します。正確な引用が必要な場合にのみ get_call_transcript を使用してください。

パラメーター:

パラメーター必須説明
callIdはいGong の通話 ID(数値文字列)

get_call_transcript — 発言者情報付きの全文トランスクリプト

発言者情報付きの生のトランスクリプトを取得します。コンテキストの過剰な使用を防ぐため、トランスクリプトはページ分割されます(デフォルトは 10KB)。ページ間を移動するには、maxLength と offset を使用します。

パラメーター:

パラメーター必須説明
callIdはいGong の通話 ID(数値文字列)
maxLengthいいえ返す最大文字数(デフォルト:10000、最大:100000)
offsetいいえページネーションで開始する文字オフセット(デフォルト:0)

search_calls — 高度な通話検索

参加者の検索、顧客名の検索、詳細なコンテンツの選択など、高度なフィルターを使って通話を検索します。すべての結果を自動的にページネーションし、デフォルトで参加者情報、簡単な要約、トピックを返します。

パラメーター:

日付とワークスペース

パラメーター説明
fromDateTimeISO 8601 形式の開始日時
toDateTimeISO 8601 形式の終了日時
workspaceIdワークスペース ID で絞り込みます(ID の確認には list_workspaces を使用します)
callIds取得する特定の通話 ID の配列

ホスト/参加者

パラメーター説明
primaryUserIdsホストのユーザー ID(サーバー側)
primaryUserEmailsホストのメールアドレス(大文字と小文字を区別しません)
excludePrimaryUserIdsこれらのホストユーザー ID を除外します
participantUserIds任意の参加者(ホスト/出席者/招待された人)のユーザー ID
excludeParticipantUserIdsいずれかの参加者がこれらのユーザー ID を持つ通話を除外します
participantEmails任意の参加者のメールアドレス(大文字と小文字を区別しません)
excludeParticipantEmailsいずれかの参加者がこれらのメールアドレスを持つ通話を除外します

コンテンツと顧客

パラメーター説明
customerNameCRM アカウント名、外部メールドメイン、タイトルとあいまい一致します
titleContains通話タイトルに部分一致します(大文字と小文字を区別しません)
trackers該当するトラッカーが反応した通話(カウント > 0)。ワークスペース固有のため、get_trackers を使用して確認してください

メタデータ

パラメーター説明
scopeExternal、Internal、または Unknown
directionInbound、Outbound、Conference、または Unknown
system会議プラットフォーム(例:Zoom) — 大文字と小文字を区別しない部分一致
language言語コード(例:eng) — 大文字と小文字を区別しない完全一致
minDuration最小時間(秒)
maxDuration最大時間(秒)

レスポンス形式

パラメーター説明
include追加で返すデータ — 以下の表を参照

include のオプション:

値追加される内容サイズ
keyPointsAI が抽出した要点(箇条書き)1 通話あたり約 5KB
trackersキーワード/スマートトラッカーの検出結果とカウント1 通話あたり約 3KB
highlightsテーマ別にまとめられた、AI が選定したハイライトクリップ1 通話あたり約 3KB
speakers参加者ごとの発話時間1 通話あたり約 1KB
comments通話に投稿された公開コメント変動
contextCRM アカウント/商談との関連付け(HubSpot、Salesforce)1 通話あたり約 1KB
outline項目を含む、セクションごとの完全なアウトライン1 通話あたり約 80KB(大容量)
media音声/動画の URL(有効期間は 8 時間)1 通話あたり約 3KB

デフォルト(常に返されます):参加者、簡単な要約、トピック — 1 通話あたり約 3KB。

フィルターの動作に関する注意事項:

  • フィルターは AND ロジックで組み合わされます。primaryUserIds と participantUserIds は連携します。primary はサーバー側で絞り込み、participant は後処理でフィルタリングします。
  • customerName は、CRM のアカウント Name フィールド、外部参加者のメールドメイン、通話タイトルのいずれかに一致します(大文字と小文字を区別しない部分一致)。
  • trackers の名前は ワークスペース固有 です。まず get_trackers を呼び出して、設定内容を確認してください。一致条件は大文字と小文字を区別しない部分一致です(そのため、"competitor" は "Competitors" と "Competitor Mentions" の両方に一致します)。
  • trackers フィルターを設定すると、該当するトラッカーの内容が自動的に含まれ、出力には指定したトラッカーのみが表示されます。フィルターを指定しない場合は、カウントが 0 より大きいトラッカーのみが表示されます。
  • 結果が空の場合、エラーではなく "No calls found" が返されます。

大きな結果のフォールバック処理については、レスポンスサイズとコンテキスト制限を参照してください。

search_calls_by_account — アカウント/会社(メールドメイン)で通話を検索

外部参加者のメールドメインを照合し、特定のアカウントまたは会社が関係する通話を検索します。Gong API はアカウント名によるフィルタリングをネイティブではサポートしていません(既知の制限)。このツールは指定期間の通話を取得し、parties[].emailAddress に基づいて後処理でフィルタリングします。基盤となる /v2/calls/extensive エンドポイントのページネーションは、maxCalls まで自動的に行われます。

次のような場合に使用してください:

  • 見込み顧客が複数のメールドメイン(acme.com、acme.io、地域別 TLD など)を持ち、すべてを検索する必要がある場合
  • 外部のエンリッチメントデータ(例:BuiltWith/Clearbit/ベンダースタックのグラフから「Klaviyo を利用しているすべての見込み顧客」)と結合する必要がある場合。上流でドメインの一覧を特定し、ここに渡してください
  • システム間で表記が揺れる CRM のアカウント名よりも、ドメインベースの照合のほうが信頼性が高い場合

パラメーター:

| パラメーター | 必須 | 説明 | |-----------|----------|-------------| | `domains` | **はい** | メールドメイン。例:`["acme.com", "acme.io"]`。外部参加者のいずれかが、これらのドメインのメールアドレスを使用している場合、その通話が一致します。 | | `fromDateTime` | いいえ | ISO 8601 形式の開始日 | | `toDateTime` | いいえ | ISO 8601 形式の終了日 | | `workspaceId` | いいえ | ワークスペース ID で絞り込みます | | `primaryUserIds` | いいえ | 通話のホストユーザー ID で事前に絞り込みます(高速なサーバー側処理) | | `matchCrmAccount` | いいえ | CRM Account コンテキストオブジェクト名にドメインのルート部分が含まれる場合も一致させます(例:`"acme.com"` から `"acme"`)。CRM 連携が必要です。デフォルトは `false` です。 | | `maxCalls` | いいえ | 取得して絞り込む通話の最大数(デフォルト:500、最大:5000)。基盤となる API を自動的にページネーションします。 | | `cursor` | いいえ | ページネーションカーソル(上級者向け) |

コストに関する注意: 取得してから絞り込む処理です。他に絞り込み条件を指定せずに 90 日間を対象にした場合、通常は API 呼び出しが 1~5 回発生します。期間が長い場合は primaryUserIds と組み合わせて、コストを抑えてください。

search_calls_by_opportunity — CRM Opportunity に関連付けられた通話を検索

CRM Opportunity の ID または名前の部分文字列を指定して、関連付けられた通話を検索します。Gong-CRM 連携(Salesforce / HubSpot)が必要です。CRM に紐付いていない通話は一致しません。

次のような場合に使用します:

  • 特定の案件に関するすべての通話を取得したい場合 — opportunityIds: ["006xxxxx"] が最も正確な方法です
  • Opportunity の名前が具体的な場合(例:"Acme Q4 Renewal")に、名前が変更された、または重複した Opportunity もあいまい検索したい場合

パラメーター:

パラメーター必須説明
opportunityIdsopportunityIds または opportunityNames のいずれかが必須ですCRM Opportunity ID(Salesforce の 18 文字 ID など)
opportunityNamesopportunityIds または opportunityNames のいずれかが必須ですOpportunity コンテキストオブジェクトの Name フィールドと照合する名前の部分文字列(大文字と小文字を区別しません)
fromDateTimeいいえISO 8601 形式の開始日
toDateTimeいいえISO 8601 形式の終了日
workspaceIdいいえワークスペース ID で絞り込みます
primaryUserIdsいいえ通話のホストユーザー ID で事前に絞り込みます
maxCallsいいえ取得して絞り込む通話の最大数(デフォルト:500、最大:5000)
cursorいいえページネーションカーソル(上級者向け)

コストに関する注意: search_calls_by_account と同じ、取得してから絞り込む方法を使用します。CRM コンテキストの照会に追加の API 呼び出しは発生しません。同じ /v2/calls/extensive リクエストで context: "Extended" を指定して処理します。

search_transcripts — トランスクリプト全体を対象にしたフリーテキストキーワード検索

指定した日付範囲内の通話トランスクリプトの文章を対象に、フリーテキストキーワード検索を行います。2 段階で処理します:(1)/v2/calls/extensive で、日付と任意の primaryUserIds / domains に基づいて通話を絞り込み、(2)/v2/calls/transcript で絞り込んだ通話のトランスクリプトを取得し、話者の情報とタイムスタンプを含む文章単位の一致結果を返します。

繰り返し検索する用語には Gong Trackers を優先してください。 競合他社名、ESP/技術用語(Klaviyo、Braze、Iterable、Postscript、Attentive、Sendgrid、Customer.io など)、その他繰り返し検索する用語は、UI で Gong Trackers に設定してください(初回のみ。約 20 個の用語で約 30 分)。その後は get_trackers、search_calls、get_call_summary を使用してください。Trackers はサーバー側で処理されるため、コストを大幅に削減でき、件数とタイムスタンプも標準で取得できます。search_transcripts は一時的な検索に使用してください。

コスト上限: 30 日を超える日付範囲を指定するには、primaryUserIds または domains による追加の絞り込みが必要です。6 か月間を絞り込みなしで検索すると、API クォータを消費するため、スキーマレベルで拒否されます。

パラメーター:

パラメーター必須説明
keywordsはい検索するキーワードです。それぞれ2文字以上である必要があります。
fromDateTimeはい日付範囲の開始日時(ISO 8601)です。
toDateTimeはい日付範囲の終了日時(ISO 8601)です。
primaryUserIds範囲が30日を超え、domains が設定されていない場合に必須スキャン前に、これらのユーザーが主催した通話に絞り込みます
domains範囲が30日を超え、primaryUserIds が設定されていない場合に必須スキャン前に、これらのドメインの外部参加者がいる通話に絞り込みます
workspaceIdいいえワークスペース ID で絞り込みます
caseSensitiveいいえデフォルトは false です。
wholeWordいいえデフォルトは true です。"ai" は "said" や "again" に一致しません。部分文字列で一致させるには false を設定します。
maxCallsいいえスキャンする通話の最大数です(デフォルト:500)。
maxMatchesPerCallいいえ通話ごとに返す文の一致件数の上限です(デフォルト:10)。ヒット数の多い通話でコンテキストがあふれるのを防ぎます。

返される内容: 通話ごとにグループ化された文単位の一致結果です。話者名と所属(利用可能な場合)、一致したキーワード、タイムスタンプ(mm:ss)、文の抜粋が含まれます。

get_trackers — キーワードトラッカーの一覧

追跡対象のフレーズ、所属(誰の発言を追跡するか)、フィルタークエリを含む、すべてのキーワードトラッカーの定義を一覧表示します。get_call_summary の出力に表示されるトラッカーのヒットについて説明します。

パラメーター:

パラメーター必須説明
workspaceIdいいえワークスペース ID でトラッカーを絞り込みます(ID の確認には list_workspaces を使用してください)

list_workspaces — すべてのワークスペースの一覧

Gong のすべてのワークスペースについて、ID と名前を一覧表示します。これらの ID は、list_calls、search_calls、get_trackers などのツールでフィルターとして使用できます。ほとんどの企業では、ワークスペースは1~3個です(地域や製品ラインごとなど)。

パラメーター: なし

get_user — ユーザープロフィールの取得

名前、メールアドレス、役職、電話番号、設定を含む、特定のユーザーのプロフィールを取得します。通話データから返されたユーザー ID の特定に役立ちます。

パラメーター:

パラメーター必須説明
userIdはいGong ユーザー ID(数値文字列)

search_users — フィルターによるユーザー検索

ID または作成日時でユーザーを検索、絞り込みます。通話データから取得した特定のユーザー ID を一括で特定する場合、list_users より柔軟に使用できます。

パラメーター:

パラメーター必須説明
userIdsいいえ検索する特定のユーザー ID の配列
createdFromDateTimeいいえこの日時以降に作成されたユーザーに絞り込みます(ISO 8601)
createdToDateTimeいいえこの日時以前に作成されたユーザーに絞り込みます(ISO 8601)
cursorいいえページネーションカーソル

list_users — ワークスペース内の全ユーザーの一覧

ワークスペース内のすべての Gong ユーザーを一覧表示します。各ユーザーの名前、メールアドレス、役職を返します。

パラメーター:

パラメーター必須説明
cursorいいえページネーションカーソル
includeAvatarsいいえユーザーのアバター URL を含めるかどうか

list_library_folders — 公開通話ライブラリフォルダーの一覧

ワークスペース内の Gong 公開通話ライブラリフォルダーをすべて一覧表示します。get_library_folder_calls で使用するフォルダー ID と名前を返します。非公開フォルダーとアーカイブ済みフォルダーは返されません。

パラメーター:

パラメーター必須説明
workspaceIdはいフォルダーを一覧表示するワークスペース ID(ID の確認には list_workspaces を使用してください)
get_library_folder_calls — ライブラリフォルダー内の通話を取得

指定した Gong ライブラリフォルダーに保存されている通話をすべて取得します。通話 ID、タイトル、キュレーターのメモ、クリップの開始・終了時間を返します。通話 ID は get_call_summary または get_call_transcript に直接渡せます。

パラメーター:

パラメーター必須説明
folderIdはいライブラリフォルダー ID(list_library_folders から取得する数値文字列)

利用可能なリソース

gong://users — ワークスペース内の全ユーザー

Gong ワークスペース内の全ユーザーの Markdown 形式のリストを返します。通話データに含まれるユーザー ID の特定に便利です。

パラメーター: なし

プロンプトの例

Claude に接続すると、次のように質問できます。

  • 「先週の Gong の通話を一覧表示して」
  • 「通話 123456789 の詳細を取得して」
  • 「通話 123456789 の概要を表示して」
  • 「通話 789012 の文字起こしを取得して」
  • 「Gong にはどのワークスペースがありますか?」
  • 「Gong は競合他社についてどのキーワードを追跡していますか?」
  • 「Gong にはどの通話ライブラリフォルダーがありますか?」
  • 「『Best Discovery Calls』ライブラリフォルダー内の通話を表示して」
  • 「Gong ワークスペース内の全ユーザーを教えて」
  • 「2025 年 7 月に Justin(ユーザー ID 232255198215877499)がホストした通話を検索して」
  • 「これらのユーザー ID を調べて:111、222、333」
  • 「過去 60 日間に acme.com または acme.io のユーザーと行った通話をすべて表示して」
  • 「商談 006xxxxx に関連付けられた通話をすべて検索して」
  • 「見込み客が Klaviyo または Braze に言及した第 3 四半期の通話を検索して、John の通話に絞り込んで」

貢献

貢献に関心がありますか?開発環境のセットアップ、テスト手順、ガイドラインについては、CONTRIBUTING.md をご確認ください。

リポジトリには Gong API の OpenAPI 仕様書のローカルコピー gong-openapi.json が含まれています。新しいツールを追加する際の参考資料として便利です。エディターを離れずに、エンドポイントのパス、パラメーター名、レスポンスの形式を確認できます。最新の仕様書は Gong API のドキュメント からダウンロードできます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。