
Gongio Mcp
io.github.JustinBeckwithPublished by GitHub account JustinBeckwithv2.0.0Updated Oct 24, 2026
MCP server for Gong.io - access calls, transcripts, and users
Overview
Read-only MCP server for Gong.io that lets an assistant list, search and summarize sales calls, transcripts, trackers, library folders and users.
- What you can do
- List and inspect calls: filter by date, workspace, host, participant, customer, tracker, scope, direction, duration or title, and fetch metadata for one call
- Read call content: AI summaries with key points and action items, plus paginated speaker-attributed transcripts and free-text transcript search
- Find calls by account email domain or by linked CRM opportunity
- Browse keyword trackers, workspaces and public call library folders
- Look up users by ID, creation date or full workspace listing
- When to use it
- Useful when you work with Gong-recorded sales or customer calls and want an assistant to pull call lists, summaries, transcripts or keyword hits without leaving the chat. Also fits deal and account research that joins calls to CRM opportunities or company email domains.
- Requirements
- Runs locally via npx or a global npm install (Node.js 18+), or as a locally built Docker image. Needs Gong API credentials: an Access Key and Secret created by a Gong admin, supplied through the GONG_ACCESS_KEY and GONG_ACCESS_KEY_SECRET environment variables. Network access to the Gong API is required.
Installation
In SourceWeft
- Open Gongio Mcp in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Gong MCP Server
[A cute red panda hitting a gong]An MCP (Model Context Protocol) server that provides access to your Gong.io data. Query calls, transcripts, users, keyword trackers, and more directly from Claude or any MCP-compatible client.
Tools Quick Reference
Response Size & Context Limits
search_calls can return a lot of data. Under the hood it:
- Auto-paginates up to ~5000 calls (50 API pages) per query
- Applies client-side filters (participant, customer, tracker, duration, etc.) after pagination
- Returns a rich per-call format (metadata + summary + topics + participants) by default
Guardrails built in:
- If the formatted output would exceed
MAX_MCP_OUTPUT_LENGTH(default50000chars, configurable via env var), the tool automatically falls back to a compact table with a warning. You still get every call ID and title — drill in withget_call_summaryon specific ones. include: ["outline"]is expensive (~80KB per call). Avoid it in multi-call searches.- Tracker data is filtered to only show trackers matching your
trackersfilter (or non-zero trackers if no filter) — no more walls of(0x)noise.
If your query hits the output cap, narrow it:
- Tighten
fromDateTime/toDateTime - Add
scope: "External"orscope: "Internal" - Add
minDuration: 600to skip short no-shows - Add
customerNameortrackersfilter - Drop heavy
includeoptions likeoutline
Prerequisites
- Node.js 18+ or Docker
- Gong API credentials (Access Key and Secret)
Getting API Credentials
- Log into Gong as an admin
- Go to Company Settings → Ecosystem → API
- Click Create API Key
- Save both the Access Key and Secret (the secret is only shown once)
Installation
Option 1: npx (no install required)
Option 2: Global npm install
Option 3: From source
Option 4: Docker (build locally)
Configuration
Set your Gong credentials as environment variables:
Or pass them inline:
Client Setup
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Using npx:
Using Docker:
Claude Code
Using npx:
Using Docker (after docker build -t gongio-mcp .):
Available Tools
list_calls — List Gong calls with date filtering
List calls with optional date range and workspace filters. Returns minimal call metadata (ID, title, date, duration).
Parameters:
get_call — Get metadata for a specific call
Get the URL, timing, direction, scope, system, and other metadata for one call. Faster than get_call_summary when you only need call metadata.
Parameters:
get_call_summary — AI-generated call summary
Get an AI-generated summary including brief overview, key points, topics, action items, and detailed outline. This is the recommended way to understand a call — use get_call_transcript only if you need exact quotes.
Parameters:
get_call_transcript — Full speaker-attributed transcript
Get the raw transcript with speaker attribution. Transcripts are paginated (default 10KB) to prevent context overflow — use maxLength and offset to navigate.
Parameters:
search_calls — Advanced call search
Search calls with advanced filters including participant lookup, customer name search, and rich content selection. Automatically paginates through all results and returns participant info, brief summary, and topics by default.
Parameters:
Date & workspace
Host / participant
Content & customer
Metadata
Response shape
include options:
Defaults (always returned): participants, brief summary, and topics — ~3KB per call.
Filter behavior notes:
- Filters combine with AND logic.
primaryUserIds+participantUserIdscompose: primary narrows server-side, participant post-filters. customerNamematches any of: CRM account Name field, external participant email domain, or call title (case-insensitive substring).trackersnames are workspace-specific — callget_trackersfirst to see what's configured. Match is case-insensitive substring (so"competitor"matches both"Competitors"and"Competitor Mentions").- When
trackersfilter is set, the relevant tracker content is auto-included and the output shows only the trackers you asked about. Without a filter, only non-zero trackers are shown. - An empty result returns
"No calls found"rather than an error.
See Response Size & Context Limits for how large-result fallback works.
search_calls_by_account — Find calls by account/company (email domain)
Find calls involving a specific account or company by matching the email domains of external participants. The Gong API does not natively support filtering by account name (a known gap) — this tool fetches calls in the date range and post-filters on parties[].emailAddress. Auto-paginates the underlying /v2/calls/extensive endpoint up to maxCalls.
Use this when:
- A prospect has multiple email domains (
acme.com,acme.io, regional TLDs) and you need them all - You need to join external enrichment data (e.g., "all prospects on Klaviyo" from BuiltWith / Clearbit / a vendor-stack graph) — resolve to a domain list upstream and pass it here
- Domain-based matching is more reliable than CRM Account names that drift across systems
Parameters:
Cost note: This is fetch-then-filter. A 90-day window with no other narrowing typically pages through 1–5 API calls. Combine with primaryUserIds to bound cost on long ranges.
search_calls_by_opportunity — Find calls linked to a CRM Opportunity
Find calls linked to specific CRM Opportunities by ID or name substring. Requires Gong-CRM integration (Salesforce / HubSpot) — calls without CRM linkage will not match.
Use this when:
- You want every call on a specific deal —
opportunityIds: ["006xxxxx"]is the most precise option - Opportunity names are descriptive (e.g.
"Acme Q4 Renewal") and you want fuzzy matching across renamed/duplicated opportunities
Parameters:
Cost note: Uses the same fetch-then-filter pattern as search_calls_by_account. CRM context lookup adds no extra API calls — it rides on the same /v2/calls/extensive request with context: "Extended".
search_transcripts — Free-text keyword search across transcripts
Free-text keyword search across call transcript sentences within a bounded date range. Two-phase: (1) /v2/calls/extensive narrows the call set by date + optional primaryUserIds / domains, (2) /v2/calls/transcript fetches transcripts for the narrowed set and returns sentence-level matches with speaker attribution and timestamps.
Prefer Gong Trackers for recurring terms. For competitor names, ESP/tech terms (Klaviyo, Braze, Iterable, Postscript, Attentive, Sendgrid, Customer.io, etc.), and other terms you'll search for repeatedly — set them up as Gong Trackers in the UI (one-time, ~30 minutes for ~20 terms). Then use get_trackers + search_calls + get_call_summary instead. Trackers are server-side, the cost is dramatically lower, and they surface counts and timestamps natively. Use search_transcripts for ad-hoc one-offs.
Cost guard: Date ranges greater than 30 days require additional narrowing via primaryUserIds or domains. A 6-month unbounded scan would burn API quota and is rejected at the schema level.
Parameters:
Returns: Sentence-level matches grouped by call, including speaker name and affiliation (when available), keyword matched, timestamp (mm:ss), and the sentence snippet.
get_trackers — List keyword trackers
List all keyword tracker definitions including tracked phrases, affiliation (whose speech is tracked), and filter queries. Explains tracker hits visible in get_call_summary output.
Parameters:
list_workspaces — List all workspaces
List all Gong workspaces with their IDs and names. Use these IDs as filters in list_calls, search_calls, get_trackers, and other tools. Most companies have 1–3 workspaces (e.g., by region or product line).
Parameters: None
get_user — Get a user's profile
Get a specific user's profile including name, email, title, phone, and settings. Useful for resolving user IDs returned from call data.
Parameters:
search_users — Search users by filter
Search and filter users by IDs or creation date. More flexible than list_users for resolving specific user IDs from call data in bulk.
Parameters:
list_users — List all workspace users
List all Gong users in your workspace. Returns name, email, and title for each user.
Parameters:
list_library_folders — List public call library folders
List all public Gong call library folders for a workspace. Returns folder IDs and names used with get_library_folder_calls. Private and archived folders are not returned.
Parameters:
get_library_folder_calls — Get calls in a library folder
Get all calls saved in a specific Gong library folder. Returns call IDs, titles, curator notes, and snippet timing for clips. Call IDs can be passed directly to get_call_summary or get_call_transcript.
Parameters:
Available Resources
gong://users — All workspace users
Returns a markdown-formatted list of all users in your Gong workspace. Useful for resolving user IDs found in call data.
Parameters: None
Example Prompts
Once connected to Claude, you can ask:
- "List my Gong calls from last week"
- "Get the details for call 123456789"
- "Show me a summary of call 123456789"
- "Get the transcript for call 789012"
- "What workspaces do we have in Gong?"
- "What keywords is Gong tracking for competitors?"
- "What call library folders do we have in Gong?"
- "Show me the calls in the 'Best Discovery Calls' library folder"
- "Who are all the users in our Gong workspace?"
- "Search for calls hosted by Justin (user ID 232255198215877499) in July 2025"
- "Look up these user IDs: 111, 222, 333"
- "Show me all calls from the past 60 days with anyone at acme.com or acme.io"
- "Find every call attached to opportunity 006xxxxx"
- "Find Q3 calls where prospects mentioned Klaviyo or Braze, narrowed to John's calls"
Contributing
Interested in contributing? Check out CONTRIBUTING.md for development setup, testing instructions, and guidelines.
The repository includes gong-openapi.json — a local copy of the Gong API OpenAPI spec. It's useful as a reference when adding new tools: use it to look up endpoint paths, parameter names, and response shapes without leaving your editor. The latest spec can be downloaded from the Gong API documentation.
Source: README.md at commit d3fe991
Tools
0Version history
1- v2.0.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts