search_calls¶
Find calls by date range, agent name, Compass-score range, or agent-lift band. Returns summaries (not full transcripts). Use get_call_detail for deep dives. Each result includes session_id, agent, date, duration, Compass score, lift, signal count, and a brief summary.
Parameters¶
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
date_from |
string | no | — | Start date (ISO format, e.g. '2026-01-01'). Optional. |
date_to |
string | no | — | End date (ISO format). Optional. |
agent_name |
string | no | — | Filter by agent name (exact match). Optional. |
min_score |
number | no | — | Minimum Compass Score (1.0-5.0). Optional. |
max_score |
number | no | — | Maximum Compass Score (1.0-5.0). Optional. |
lift_band |
string (enum: strong_positive, positive, neutral, negative, strong_negative) | no | — | Filter by agent lift band. |
sort |
string (enum: score_asc, score_desc, date_desc, date_asc, lift_desc) | no | date_desc |
Sort order. Default: date_desc. |
limit |
integer | no | 10 |
Max results (1-50). Default: 10. |
Example call¶
from fastmcp import Client
from fastmcp.client.auth import BearerAuth
async with Client(
"https://mcp.chordia.ai/mcp",
auth=BearerAuth("YOUR_APPLICATION_KEY"),
) as client:
result = await client.call_tool(
"search_calls",
{
"date_from": "2026-01-01",
"date_to": "2026-01-01"
},
)
print(result.content[0].text)
# Plus any of the 8 optional params from the table above.
In Claude Desktop, Cursor, or any MCP-aware client the same call is issued by the LLM automatically once the server is configured — see integrations.
Result¶
Success responses are JSON of the shape below. Optional fields are omitted when the underlying data isn't present.
{
"calls": [
{
"session_id": "a1b2c3d4",
"agent_name": "Alpha Agent",
"date": "2026-05-10T14:22:00Z",
"duration_s": 412,
"compass_score": 4.1,
"lift": 0.22,
"lift_band": "positive",
"signal_count": 9,
"summary": "Customer asked about plan upgrade; agent confirmed and scheduled a follow-up."
}
],
"count": 1
}
Auth context¶
Every call receives the connection's project_id and access_scope
automatically — the caller never passes them. See
Authentication & RBAC for how scope narrows
results.
Errors¶
All tools return JSON. Errors are wrapped in { "error": "..." }. The
most common shapes are documented in
Python integration → Error shape.