Skip to main content
Glama
tylerbrabo98

Customer Health MCP

by tylerbrabo98

Get account risk summary

get_account_risk_summary

Compute an account's churn-risk score, band, and key drivers from billing, usage, and support signals, then generate a plain-language health summary for that customer.

Instructions

The flagship synthesis tool: computes an account's churn-risk score and band from its billing, usage, and support signals, lists the specific drivers behind the number, and generates a short human-readable summary paragraph. Use this when someone asks 'why is this account at risk?' or 'give me a health summary for '. Returns a clear error if the accountId does not exist.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
accountIdYesThe account's unique identifier, e.g. "acct_0007"

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
driversYes
summaryYes
riskBandYes
accountIdYes
riskScoreYes
companyNameYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses that the result is a computed synthesis across billing/usage/support, that it includes explanatory drivers and a generated paragraph, and that a missing accountId yields a clear error. It omits cost/latency/auth considerations for what is presumably an expensive aggregation, keeping it out of 5 territory.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core capability, then usage triggers, then the error contract — a logical ordering with no filler sentences. Slightly verbose in stacking three output claims, but each earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value detail is not the description's job. The description still covers purpose, synthesis inputs, when to invoke, and the error case, leaving nothing an agent needs in order to call this single-parameter tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single accountId parameter, so the baseline is 3. The description adds real semantic value beyond the schema by specifying the failure mode — a clear error when the accountId does not exist — which tells the agent what to expect for invalid input.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource pair (computes churn-risk score and band) plus the three signal sources it synthesizes, and enumerates its outputs (score, drivers, summary paragraph). The 'flagship synthesis tool' framing plus the multi-source computation clearly distinguishes it from list_accounts, get_account_details, and list_at_risk_accounts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit trigger phrases ('why is this account at risk?', 'give me a health summary for <company>'), which is clear usage context. It stops short of naming when NOT to use it or pointing to siblings (e.g., list_at_risk_accounts for a roster), so it lacks the exclusion/alternative half of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.