Coval MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Logging level | info |
| COVAL_API_KEY | Yes | Your Coval API key | |
| COVAL_API_BASE_URL | No | API base URL | https://api.coval.dev/v1 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_runsA | List evaluation runs. Each run = agent + persona + test_set. Returns run_id, status, tags. Filter by tag: filter='tag="regression"'. |
| get_runA | Get run status/results. Status: PENDING→RUNNING→COMPLETED. Completed runs include metrics (custom per org) and output_ids for transcripts. |
| create_runA | Launch evaluation: agent + persona + test_set. Optionally add tags for filtering. Poll get_run until status=COMPLETED to see metrics. |
| list_agentsC | List agents (AI systems to evaluate). Model types: VOICE, OUTBOUND_VOICE, SMS, WEBSOCKET, CHAT. Use agent_id when creating runs. |
| get_agentA | Get agent config: model_type, phone_number (voice), endpoint (websocket/chat), and display_name. |
| create_agentB | Create a new agent configuration. Specify the model type (voice, chat, SMS, websocket) and connection details. |
| update_agentA | Update an existing agent configuration. Only provided fields will be updated. |
| list_test_setsB | List test sets (collections of test cases). Each contains scenarios to run against an agent. Use test_set_id when creating runs. |
| get_test_setA | Get test set details: display_name, description, and test case count. Use list_test_cases to see individual scenarios. |
| create_test_setA | Create a test set to organize test cases. After creating, use create_test_case to add scenarios. |
| list_test_casesB | List test cases. Filter by test_set_id. Each has input_str (scenario text or JSON message array) and optional expected_behaviors. |
| get_test_caseA | Get test case details: input_str (the scenario), expected_behaviors, and metadata. |
| create_test_caseA | Create test case in a test set. input_str: single scenario message OR JSON array [{role,content},...] for multi-turn conversations. |
| update_test_caseC | Update test case input_str, expected_behaviors, or other fields. |
| list_metricsA | List available evaluation metrics. Metrics define how agent performance is measured. Set include_builtin=true to see built-in metrics. |
| get_metricA | Get detailed information about a specific metric. Shows metric type, description, and configuration. |
| list_personasB | List personas (simulated users). Each has voice_name, language_code, background_sound (off/office/crowd/airport/etc), and behavior prompt. Required for runs. |
| get_personaA | Get persona details: voice_name, language_code (BCP-47), background_sound, persona_prompt (behavior), wait_seconds, conversation_initiation (speak_first/wait_for_user). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 18 tools
Each tool targets a distinct resource (agent, run, test case, test set, metric, persona) with specific CRUD operations, leaving no ambiguity between tools.
All tool names follow a consistent verb_noun pattern (create_, get_, list_, update_), making it easy to predict tool purpose from the name.
18 tools cover the complete lifecycle of evaluating AI agents (agents, personas, test sets, runs, metrics) without being overly numerous or sparse.
Core workflows are covered, but missing delete operations for agents, test cases, and test sets, as well as update for test sets, leave minor gaps in the surface.