chorus
MCP server for Chorus.ai conversation intelligence API
Installation
npx @opensourceops/chorus-mcpAsk AI about chorus
Powered by Claude Β· Grounded in docs
I know everything about chorus. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Chorus MCP Server
A Model Context Protocol (MCP) server for the Chorus.ai conversation intelligence platform. Connect Chorus to any MCP-compatible AI client to access sales call recordings, transcripts, scorecards, and analytics through natural language.
Features
- 39 Tools -- Full Chorus API coverage: conversations, transcripts, scorecards, playlists, moments, emails, engagements, reports, and video conferences
- 6 Resources -- URI-based data access for users, teams, templates, searches, conversations, and playlists
- 6 Workflow Prompts -- Call analysis, deal risk scoring, competitive intel, meeting summaries, rep reviews, and customer feedback synthesis
- Token-Optimized -- Compact markdown and JSON responses reduce token consumption
- Smart Pagination -- Automatic handling on all list endpoints
- Annotation Presets -- READ_ONLY, CREATE, and DELETE access levels
Prerequisites
- Node.js v20.9+, v22+, or v24+ (LTS versions)
- npm v9+
- MCP Client -- Claude Code, Continue.dev, or any MCP-compatible client
- Chorus API Key -- Generate one in your Chorus Personal Settings (API docs)
Quick Start with Claude Code
Run npx directly through Claude Code. No clone, no build.
Step 1: Get Your Chorus API Key
- Log in to Chorus.ai
- Navigate to Personal Settings
- Generate an API token
Step 2: Add the MCP Server
claude mcp add --transport stdio chorus \
--scope user \
-e CHORUS_API_KEY=<YOUR_API_KEY> \
-e CHORUS_TOOL_MODE=readonly \
-- npx -y @opensourceops/chorus-mcp
Replace <YOUR_API_KEY> with your Chorus API token. Set CHORUS_TOOL_MODE to all if you need write and delete tools.
Step 3: Restart Claude Code
Quit and reopen Claude Code for the new server to load.
Step 4: Verify
Ask Claude:
List the available Chorus tools.
You should see 39 tools, including chorus_list_conversations, chorus_get_transcript, and chorus_search_conversations.
Global Install
Install the package globally:
npm install -g @opensourceops/chorus-mcp
Then configure your MCP client to run chorus-mcp-server instead of npx:
{
"mcpServers": {
"chorus": {
"command": "chorus-mcp-server",
"env": {
"CHORUS_API_KEY": "your_api_key",
"CHORUS_TOOL_MODE": "readonly"
}
}
}
}
Available Tools
Conversations (5 read-only)
chorus_list_conversations-- List calls and meetings with filterschorus_get_conversation-- Get conversation metadatachorus_get_transcript-- Get speaker-attributed transcriptchorus_get_conversation_trackers-- Get tracker hits (competitors, keywords)chorus_search_conversations-- Search by keyword, participant, or date
Users (3 read-only)
chorus_list_users-- List all userschorus_get_user-- Get user detailschorus_search_users-- Search users by name or email
Teams (3 read-only)
chorus_list_teams-- List all teamschorus_get_team-- Get team detailschorus_get_team_members-- List members of a team
Scorecards (4 read-only)
chorus_list_scorecards-- List scorecardschorus_get_scorecard-- Get scorecard detailschorus_list_scorecard_templates-- List scoring templateschorus_get_scorecard_template-- Get template details
Playlists & Moments (7 tools: 5 read-only, 2 write)
chorus_list_playlists-- List playlistschorus_get_playlist-- Get playlist detailschorus_list_playlist_moments-- List moments in a playlistchorus_list_moments-- List all momentschorus_get_moment-- Get moment detailschorus_create_moment-- Create a moment (write)chorus_delete_moment-- Delete a moment (write, destructive)
Emails (2 read-only)
chorus_list_emails-- List tracked emailschorus_get_email-- Get email details
Engagements (2 read-only)
chorus_filter_engagements-- Filter engagements with criteriachorus_get_engagement-- Get engagement details
Reports (3 read-only)
chorus_list_reports-- List available reportschorus_get_report-- Get report datachorus_get_activity_metrics-- Get activity metrics
Saved Searches (3 read-only)
chorus_list_saved_searches-- List saved searcheschorus_get_saved_search-- Get saved search detailschorus_execute_saved_search-- Run a saved search and return results
Video Conferences (4 tools: 2 read-only, 2 write)
chorus_list_video_conferences-- List video conferenceschorus_get_video_conference-- Get video conference detailschorus_upload_recording-- Upload a recording (write)chorus_delete_recording-- Delete a recording (write, destructive)
Integrations & Session (3 read-only)
chorus_list_integrations-- List connected integrationschorus_get_integration-- Get integration detailschorus_get_session-- Get current session info
Resources
Access data through MCP resource URIs:
| URI | Description |
|---|---|
chorus://users/{user_id} | User profile |
chorus://teams/{team_id} | Team details |
chorus://scorecard-templates/{template_id} | Scorecard template |
chorus://saved-searches/{search_id} | Saved search definition |
chorus://conversations/{conversation_id}/summary | Conversation summary |
chorus://playlists/{playlist_id} | Playlist with moments |
Prompts
Built-in workflow prompts for common sales intelligence tasks:
| Prompt | Purpose |
|---|---|
chorus_call_analysis | Generate coaching feedback from a sales call |
chorus_deal_risk_assessment | Score deal risk for a prospect |
chorus_competitive_intelligence | Report competitor mentions across calls |
chorus_meeting_summary | Produce structured meeting summary with action items |
chorus_rep_performance_review | Evaluate rep performance from scorecards and metrics |
chorus_customer_feedback_synthesis | Synthesize product feedback from conversations |
Configuration
Environment Variables
| Variable | Default | Description |
|---|---|---|
CHORUS_API_KEY | -- | Chorus API token (required) |
CHORUS_TOOL_MODE | readonly | Tool access level: readonly (read-only tools) or all (includes write and delete tools) |
TRANSPORT | stdio | Transport mode: stdio or http |
PORT | 3000 | HTTP server port (when TRANSPORT=http) |
Transport Modes
The server supports two transport modes:
stdio (default) -- Standard input/output. Use with Claude Code and most MCP clients.
Streamable HTTP -- HTTP-based transport for network deployments:
TRANSPORT=http PORT=3000 CHORUS_API_KEY=your_key CHORUS_TOOL_MODE=readonly npx @opensourceops/chorus-mcp
Local Development
Clone the repository to modify the server, run tests, or contribute.
Step 1: Clone and Build
git clone https://github.com/opensourceops/chorus-mcp-server.git
cd chorus-mcp-server
npm install
npm run build
Step 2: Configure Your MCP Client
Option A: Claude Code (via CLI)
claude mcp add --transport stdio chorus \
-e CHORUS_API_KEY=your_api_key \
-e CHORUS_TOOL_MODE=readonly \
-- $(which node) $(pwd)/dist/index.js
Option B: Manual JSON Configuration
Add to your MCP client's config file:
{
"mcpServers": {
"chorus": {
"command": "node",
"args": ["/absolute/path/to/chorus-mcp-server/dist/index.js"],
"env": {
"CHORUS_API_KEY": "your_api_key",
"CHORUS_TOOL_MODE": "readonly"
}
}
}
}
Step 3: Restart and Verify
Restart your MCP client, then ask:
Show me recent sales calls from Chorus.
Project Structure
chorus-mcp-server/
βββ src/
β βββ index.ts # Entry point
β βββ constants.ts # Shared constants
β βββ types.ts # Type definitions
β βββ services/ # API client, error handler, formatters
β βββ schemas/ # Zod validation schemas
β βββ tools/ # 12 tool domain files
β βββ resources/ # MCP resource handlers
β βββ prompts/ # Workflow prompts
βββ tests/
β βββ unit/
β βββ integration/
β βββ fixtures/
βββ dist/ # Compiled output (generated)
βββ package.json
βββ tsconfig.json
Troubleshooting
API Key Issues
Test your key directly:
curl -H "Authorization: Bearer YOUR_API_KEY" https://api.chorus.ai/v1/conversations
A valid key returns conversation data.
Tools Not Appearing
- Rebuild after code changes:
npm run build - Restart your MCP client (quit and reopen)
- Use absolute paths in manual JSON configuration
Node.js Version Warnings
Use Node.js LTS versions (20.9+, 22+, or 24+). Odd-numbered releases (23, 25) are non-LTS and unsupported. Switch with nvm use 22.
Security
- Never commit
.envfiles or API keys - Store
CHORUS_API_KEYin environment variables, not in code - Destructive tools (
chorus_delete_moment,chorus_delete_recording) require explicit confirmation
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
License
Apache 2.0 -- See LICENSE.
Support
- Issues -- GitHub Issues
- API Reference -- Chorus API Documentation
