Gongio MCP vs Salesforce Metadata MCP

A side-by-side look at the Gongio MCP and Salesforce Metadata MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Gongio MCP logoGongio MCPCustomer Data Platforms · Local subprocess (stdio)MCP server for Gong.io - access calls, transcripts, and users64GoodAuth: not declaredSalesforce Metadata MCP logoSalesforce Metadata MCPCustomer Data Platforms · Local subprocess (stdio)The only Salesforce MCP with Agentforce, OmniStudio & DevOps Center tools — 228 total.63GoodAuth: not declared

Verdict: choose Gongio MCP for customer data platforms work as a local process; choose Salesforce Metadata MCP for customer data platforms as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Gongio MCP logoChoose Gongio MCP when

  • You need dedicated capabilities in the Customer Data Platforms domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: GONG_ACCESS_KEY, GONG_ACCESS_KEY_SECRET.
  • You want tools like list_calls, get_call_summary, get_call_transcript.
Explore Gongio MCP

Salesforce Metadata MCP logoChoose Salesforce Metadata MCP when

  • You need dedicated capabilities in the Customer Data Platforms domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: SF_INSTANCE_URL, SF_ACCESS_TOKEN.
  • You want tools like sf_create_custom_object, sf_create_custom_field, sf_add_picklist_values.
Explore Salesforce Metadata MCP

Feature & specification comparison

Rows where the two servers differ are marked.

SpecGongio MCP logoGongio MCPSalesforce Metadata MCP logoSalesforce Metadata MCP
CategoryCustomer Data PlatformsCustomer Data Platforms
Quality signal64/100 · Good63/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredNot declared
PricingNot declaredNot declared
Required env varsGONG_ACCESS_KEYGONG_ACCESS_KEY_SECRETSF_INSTANCE_URLSF_ACCESS_TOKEN
Verified ownerCommunity listingCommunity listing
GitHub stars222
Directory activity 2 views 0 installs 0 upvotes 3 views 0 installs 0 upvotes
Tools1520

Tools & capabilities

Gongio MCP tools 15

  • list_callsList Gong calls with optional date filtering. Returns minimal call metadata (ID, title, date, duration). Use get_call_summary for details or get_call_transcript for full transcript.
  • get_call_summaryGet an AI-generated summary of a single call 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.
  • get_call_transcriptGet the raw transcript for a single call with speaker-attributed text. Only use this when you need exact quotes - prefer get_call_summary for understanding call content. Transcripts are truncated by default (10KB) to prevent context overflow - use maxLength and offset to paginate.
  • list_usersList all Gong users in the organization. Returns name, email, title, and user IDs. Useful when you need a Gong user ID for search_calls filters like primaryUserIds, though for most "find calls by this person" cases you can pass their email directly to primaryUserEmails or participantEmails instead.
  • search_callsSearch Gong calls with rich filters. The primary tool for narrowing down calls before drilling in with get_call_summary or get_call_transcript. Supported filters: - When: fromDateTime, toDateTime (ISO 8601). Always prefer a date range — unbounded queries pull every call in the workspace. - Who hosted: primaryUserIds, primaryUserEmails, excludePrimaryUserIds. - Who participated (host OR attendee OR invitee): participantUserIds, participantEmails, excludeParticipantUserIds, excludeParticipantEmails. - Customer/topic: customerName (CRM account name, email domain, or title substring), titleContains, trackers (see note below). - Metadata: scope (External/Internal), direction, system (Zoom/Meet/…), language (eng/jpn/…), minDuration and maxDuration in seconds. - Output shape: include (array of keyPoints, trackers, highlights, speakers, comments, context, outline, media). Parties + brief + topics are always returned. Behavior: - Auto-paginates up to ~5000 calls. If a user asks for a broad question, guide them to narrow with a date range, scope, minDuration, or customerName first. - trackers filter does case-insensitive substring match on tracker names. Names are workspace-specific — call get_trackers first to see what's configured before guessing. - When the rich output would exceed the output cap, the tool auto-falls back to a compact table showing all IDs/titles. Use get_call_summary on specific IDs to go deeper. - Filters compose with AND logic (primaryUserIds + customerName = hosted by user X on customer Y calls). Usage pattern: narrow with search_calls → drill into specific calls with get_call_summary (AI summary) or get_call_transcript (exact quotes).
  • search_calls_by_accountFind calls involving a specific account/company by matching email domains of external participants. The Gong API does not natively support filtering by account name — this tool fetches calls in the date range and post-filters on parties[].emailAddress. Auto-paginates up to maxCalls. For external tech-stack joins (e.g., "all calls with prospects on Klaviyo"), resolve domains upstream and pass them here.
  • search_calls_by_opportunityFind calls linked to specific CRM Opportunities by ID or name substring. Requires Gong-CRM integration (Salesforce/HubSpot) — calls without CRM linkage will not match. Provide opportunityIds OR opportunityNames (or both).
  • search_transcriptsFree-text keyword search across call transcripts within a bounded date range. Use for ad-hoc searches like "calls mentioning competitor X". For recurring terms, prefer setting up Gong Trackers in the UI and using search_calls + get_call_summary — Trackers are server-side and dramatically cheaper. Date ranges > 30 days require additional narrowing via primaryUserIds or domains. Returns sentence-level matches with speaker attribution and timestamps.
  • get_callGet metadata for a specific Gong call including URL, direction, scope, system, and duration. Faster than get_call_summary when you only need call metadata.
  • get_trackersList keyword tracker definitions configured in a workspace, including every tracked phrase and which side is tracked (company/customer). Call this before using the trackers filter on search_calls so you know what names exist — workspace admins set these up and naming varies (e.g., "Competitors" vs "Competitor Mentions"). Also useful to explain tracker hits that appear in call summaries.
  • get_userGet a specific user profile including name, email, title, phone, and settings. Use to resolve user IDs returned from call data.
  • search_usersSearch and filter users by IDs or creation date. More flexible than list_users for resolving specific user IDs from call data.
  • +3 more on the listing page

Salesforce Metadata MCP tools 20

  • sf_create_custom_objectCreates a new Salesforce Custom Object using the Metadata API. The object name must end with '__c'. Use this when a user asks to create a new object, entity, or table in Salesforce.
  • sf_create_custom_fieldCreates a new custom field on an existing Salesforce object. The field API name must end with '__c'. Supports all field types: Text, Number, Picklist, Lookup, etc.
  • sf_add_picklist_valuesAdds new picklist values to an existing Picklist or MultiselectPicklist field without removing existing values. Use when a user wants to add new options to a dropdown.
  • sf_create_approval_processCreates or updates a Salesforce Approval Process via the Metadata API. Define who can submit, approval steps with approvers, entry criteria, and what happens on approval or rejection.
  • sf_create_validation_ruleCreates or updates a Salesforce Validation Rule on any object via the Metadata API. The errorConditionFormula returns TRUE when data is INVALID. Use for data quality enforcement.
  • sf_create_workflow_field_updateCreates a Workflow Field Update action that can be referenced by Approval Processes, Workflow Rules, or Flows. Sets a field to a literal value, formula result, or null.
  • sf_create_formula_fieldCreates a formula field on any Salesforce object. Supports all return types (Text, Number, Currency, Date, DateTime, Checkbox, Percent) and the full Salesforce formula language: IF/AND/OR/NOT, BLANKVALUE, TEXT, VALUE, DATE, DATEVALUE, TODAY, NOW, date functions (MONTH/YEAR/DAY), math (FLOOR/CEILING/MOD), string functions (LEN/LEFT/RIGHT/MID/TRIM/UPPER/LOWER/CONTAINS/BEGINS), record type and picklist functions (ISPICKVAL, ISNULL, ISBLANK), cross-object field references (e.g. Account.Owner.Name), and VLOOKUP. Complex multi-line formulas are fully supported.
  • sf_deploy_metadataDeploys a set of metadata components directly to the org using the Metadata API SOAP deploy operation. Builds a package.xml and deployment zip in memory. Supports validate-only (checkOnly:true) for pre-deployment validation without making changes. Specify runTests to execute test classes during deployment (required for production). Polls until complete or timeout.
  • sf_check_deploy_statusChecks the status of an in-progress or recently completed metadata deployment by async job ID. Returns the status (Pending, InProgress, Succeeded, Failed, Canceled), component successes, failures, and test results. Use with the deploy ID returned from sf_deploy_metadata.
  • sf_retrieve_metadataRetrieves metadata components from the org and returns their actual file contents. Use this to read existing configuration before making changes, to back up metadata, or to check what is really deployed rather than what you think is deployed. Waits for the async retrieve to finish and unpacks the resulting zip, returning each file's path and source. Large files are truncated. Accepts 'components' (array), or 'metadataType'+'componentName' as a single-item shortcut, or a raw 'packageXml' document — provide exactly one form.
  • sf_delete_metadataPermanently deletes one or more metadata components of a given type via the Metadata API's deleteMetadata call — works for CustomObject, CustomField, Flow, GenAiFunction, GenAiPlugin, GenAiPlannerBundle, Bot, ApexClass, and most other metadata types. There was previously no way to remove anything created by this MCP server (sf_deploy_metadata only supports adding/updating components, not destructiveChanges) — diagnostic or abandoned metadata had nowhere to go. Deletes each fullName independently: check the response's deleted/errors lists rather than assuming all all-or-nothing. Some types have dependency order requirements (e.g. delete a Bot's GenAiFunction/GenAiPlugin/GenAiPlannerBundle before the Bot itself, delete CustomField before its parent CustomObject) — Salesforce will reject a delete that still has dependents, naming them in the error.
  • sf_query_recordsExecutes a SOQL query against the org and returns matching records. Provide the full SOQL string in the query param. Use for reading data, checking existing records before creating, or verifying changes. Supports aggregate queries — GROUP BY with COUNT(), SUM(), AVG(), MAX(), MIN(), e.g.: 'SELECT StageName, COUNT(Id), SUM(Amount) FROM Opportunity GROUP BY StageName' Aggregate results come back as regular records with the aggregate expressions as field keys (e.g. "expr0"). Row cap: 'limit' defaults to 200 and is a ceiling, not a hint. If the SOQL carries its own LIMIT the smaller of the two applies, so a LIMIT in the query can tighten the cap but never raise it. When rows are cut off the response sets truncated: true and reports appliedLimit and limitSource, so a capped result is never mistaken for a complete one.
  • +8 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Gongio MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "gongio-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "gongio-mcp"
      ],
      "env": {
        "GONG_ACCESS_KEY": "YOUR_GONG_ACCESS_KEY_HERE",
        "GONG_ACCESS_KEY_SECRET": "YOUR_GONG_ACCESS_KEY_SECRET_HERE"
      }
    }
  }
}

Salesforce Metadata MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "salesforce-metadata-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "salesforce-metadata-mcp"
      ],
      "env": {
        "SF_INSTANCE_URL": "YOUR_SF_INSTANCE_URL_HERE",
        "SF_ACCESS_TOKEN": "YOUR_SF_ACCESS_TOKEN_HERE"
      }
    }
  }
}

Frequently asked questions

Gongio MCP is categorized under Customer Data Platforms and uses a local stdio subprocess. Salesforce Metadata MCP belongs to Customer Data Platforms and uses a local stdio subprocess. Pick Gongio MCP for customer data platforms work and Salesforce Metadata MCP for customer data platforms.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Gongio MCP has no declared pricing — check the project's own site. Salesforce Metadata MCP has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add gongio-mcp and salesforce-metadata-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Gongio MCP has a quality signal of 64/100 (Good) with 2 views, 0 installs and 22 GitHub stars. Salesforce Metadata MCP has 63/100 (Good) with 3 views, 0 installs and 2 GitHub stars.