feat: implement Chorus.ai MCP server with full API coverage#1
Merged
feat: implement Chorus.ai MCP server with full API coverage#1
Conversation
Introduce a complete Model Context Protocol server for the Chorus.ai (ZoomInfo) conversation intelligence platform. The server exposes 39 tools, 6 URI-based resources, and 6 workflow prompts that enable LLMs to interact with sales call data, transcripts, scorecards, and analytics through natural language. Architecture decisions: - JSON:API normalization layer in the API client auto-flattens Chorus responses (data/attributes/id) into plain objects, keeping all 12 tool domain files decoupled from the wire format. - Annotation presets (READ_ONLY, CREATE, DELETE) defined as typed constants eliminate repetition across 39 tool registrations while preserving full MCP spec compliance. - Dual transport support: stdio (default) for CLI/desktop clients, Streamable HTTP for networked deployments. Transport selected via TRANSPORT env var at startup. Tools by domain (39 total): Conversations (5), Users (3), Teams (3), Scorecards (4), Playlists (3), Moments (4 incl. create/delete), Emails (2), Engagements (2), Reports (3), Saved Searches (3), Video Conferences (4 incl. upload/delete), Integrations/Session (3) Workflow prompts: chorus_call_analysis, chorus_deal_risk_assessment, chorus_competitive_intelligence, chorus_meeting_summary, chorus_rep_performance_review, chorus_customer_feedback_synthesis Infrastructure: - Shared services: Axios-based API client with auth injection, HTTP error-to-actionable-message mapper, markdown/JSON formatters with CHARACTER_LIMIT truncation - Zod schemas with .strict() validation on all tool inputs - Pagination via page[size] and cursor on every list endpoint - Jest test suite: 125 tests across 9 suites (unit, integration) covering services, all tool domains, and tool registration integrity - CI: GitHub Actions matrix testing on Node 20/22/24 - Release: tag-triggered npm publish with provenance to @opensourceops/chorus-mcp
608201a to
110e8af
Compare
Set isolatedModules, module commonjs, and moduleResolution node in tsconfig.test.json to satisfy ts-jest's requirement when the base tsconfig uses module Node16. Production tsconfig unchanged.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Introduce a complete Model Context Protocol server for the Chorus.ai (ZoomInfo) conversation intelligence platform. The server exposes 39 tools, 6 URI-based resources, and 6 workflow prompts that enable LLMs to interact with sales call data, transcripts, scorecards, and analytics through natural language.
Architecture decisions:
Tools by domain (39 total):
Conversations (5), Users (3), Teams (3), Scorecards (4), Playlists (3), Moments (4 incl. create/delete), Emails (2), Engagements (2), Reports (3), Saved Searches (3), Video Conferences (4 incl. upload/delete), Integrations/Session (3)
Workflow prompts:
chorus_call_analysis, chorus_deal_risk_assessment, chorus_competitive_intelligence, chorus_meeting_summary, chorus_rep_performance_review, chorus_customer_feedback_synthesis
Infrastructure: