Gong MCP has well-structured tool definitions with clear naming (verb_noun pattern) and reasonable descriptions (avg 120 chars). All 5 tools have input schemas with type declarations. However, parameter descriptions are sparse or missing entirely, most parameters lack guidance on format, constraints, or valid values. Output schemas are completely undocumented, forcing LLMs to guess what fields to expect. Error handling is minimal (generic 'Gong API error' messages). No pagination guidance in list_calls despite cursor support. Token injection via _context is non-standard and undocumented.
Get details for a specific Gong call by its ID, including participants, duration, and metadata.
Get the transcript for a specific Gong call. Returns the full conversation transcript.
List recorded calls from Gong. Optionally filter by date range. Supports cursor-based pagination.
List all users in the Gong workspace.
Search Gong calls by keyword. Returns calls that match the search text.
Output schemas completely undocumented. LLMs cannot predict what fields gong_list_calls, gong_get_call, gong_get_transcript, gong_list_users, or gong_search_calls return. This forces guessing and breaks downstream tool chaining.
Parameter descriptions missing or incomplete. 'fromDateTime' and 'toDateTime' lack format guidance (ISO 8601 is mentioned in description but not in param docs). 'cursor' has no explanation of pagination behavior. 'keyword' has no length/format constraints.
Token injection via _context is non-standard and undocumented. The getToken() helper expects args._context.gong.accessToken but this pattern is not explained in tool descriptions or server documentation. LLMs cannot infer this requirement.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Error handling is generic and non-actionable. 'Gong API error (status): text' provides no recovery guidance. LLMs cannot determine if errors are retryable, user-fixable, or fatal.
gong_list_calls supports pagination via cursor but provides no guidance on result limits, total count, or when to stop iterating. LLMs may request unbounded result sets.