List services
list_servicesList the services Median offers (daily bookkeeping, tax filing, R&D tax credits, CFO advisory) with a short summary and page link for each.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
list_servicesList the services Median offers (daily bookkeeping, tax filing, R&D tax credits, CFO advisory) with a short summary and page link for each.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool is read-only, non-open-world, and idempotent, so the description doesn't need to restate those. It adds value by specifying the exact content of the response (four service categories, short summary, page link per service), which is beyond the annotations and helps the agent anticipate the output without an output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the essential purpose. Every word counts—it lists the services and the output detail (summary and link) without redundancy. There is no fluff or irrelevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (zero parameters, no output schema), the description is complete. It fully explains what the tool returns and names the specific services, making it actionable for an agent. The annotations cover safety and determinism, so no additional behavioral warnings are needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the description carries the full burden of explaining what the tool does and what the response contains. It does this well, mentioning the types of services and the structure (summary + link), which is more than sufficient for a zero-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'list' and the specific resource 'services offered by Median', enumerating the exact categories of services and what the result includes (summary and page link). This distinguishes it from sibling tools like get_pricing or get_company_overview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context by specifying what services are listed, but it does not explicitly state when to prefer this tool over alternatives or when not to use it. However, a zero-parameter tool with a very specific purpose (listing services) inherently separates itself from siblings; the lack of explicit alternatives is acceptable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Tools mostly demand exactly one job: the list/explain/score path is clearly labeled per domain, and the START-HERE markers guide entry points. The fuzzy spots are get_conf_lefts and get_evidence_recipe (both refinement steps after list_compliance_obligations) plus list_services vs get_company_overview (they overlap on what Median does); these are distinguishable from the descritions but are the kinds of pairs that could send an agent the wrong way.
All twelve names follow the same verb_noun snake_case convention with consistent verbs: list the collections (_lists), get facts/computed refinements, explain single-item detail, and score the assessment. The pair structure (list vs explain vs proof) makes the intent predictable from the name for the first decode.
Twelve tools is right within the ideal for a domain-focused server: seven true domain tools (compliance + books) and five content/take-usational helpers. The content cluster (services, overview, pricing, blog, blog_post) is a bit tangential to a compliance/books mission, but this is a company-fronting server, so the zone works with a reason.
Both workflows close their loop: compliance has list → explain → confounders → evidence, and books has list → explain → score, with no obvious dead-end in either. Minor residuals exist (no explicit tool for showing covered versus non-covered states, other collaboration across the two domains), but an agent can work out these as of today's.