get_project_summary¶
Get high-level metrics for this project: total calls evaluated, average Compass Score, Compass-score distribution, agent-lift band distribution, top signals by frequency, predicted-CSAT average, and agent count. Use for executive summaries or to understand overall performance trends. Optionally filter by date range.
Parameters¶
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
date_from |
string | no | — | Start date (ISO format). Optional. |
date_to |
string | no | — | End date (ISO format). Optional. |
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(
"get_project_summary",
{
"date_from": "2026-01-01",
"date_to": "2026-01-01"
},
)
print(result.content[0].text)
# Plus any of the 2 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.
{
"total_calls": 1284,
"date_range": {"from": "2026-01-01", "to": "2026-05-12"},
"agent_count": 14,
"avg_compass_score": 3.42,
"compass_sample_size": 1102,
"avg_predicted_csat": 4.1,
"csat_sample_size": 1102,
"compass_score_distribution": [
{"bucket": "1.0-2.0", "count": 87},
{"bucket": "2.0-3.0", "count": 211},
{"bucket": "3.0-4.0", "count": 504},
{"bucket": "4.0-5.0", "count": 300}
],
"lift_distribution": [
{"band": "strong_positive", "count": 122},
{"band": "positive", "count": 318},
{"band": "neutral", "count": 410},
{"band": "negative", "count": 174},
{"band": "strong_negative", "count": 78}
],
"top_signals": [
{"signal_key": "empathy_acknowledged", "frequency": 612},
{"signal_key": "next_steps_clear", "frequency": 588}
]
}
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.