facts_by_key
One fact across all stations or lines, e.g. key "shower" for every station with a known shower. Use fact_keys for the list.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes |
One fact across all stations or lines, e.g. key "shower" for every station with a known shower. Use fact_keys for the list.
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes |
Changes observed during successful MCP inspections.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It reads as a lookup, but does not confirm read-only safety, describe the return shape, or state what happens for an unknown key. For a zero-annotation tool this is a notable gap.
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?
Two short sentences, front-loaded with the purpose and backed by an example; nothing is wasted. Slightly terse, since brevity here contributes to the transparency gaps.
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?
For a one-parameter lookup with no annotations and no output schema, the description covers purpose and key semantics but omits the return format (e.g. which stations are included, how facts are represented) and behavior on unknown keys. Adequate but incomplete for an agent calling blind.
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?
Schema coverage is 0%, so the description must compensate. The example instantiates the single 'key' parameter meaningfully ('shower', 'known shower'), which is better than nothing, but it doesn't specify the key format, case sensitivity, or valid value set beyond that example.
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?
Names a specific resource ('one fact') and scope ('across all stations or lines') with a concrete example ('key "shower" for every station with a known shower'). It implicitly differentiates from fact_keys by pointing at it for enumeration, though it doesn't explicitly contrast with get_station or search_stations.
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?
Provides clear context for when to use it and routes the agent to the fact_keys sibling for obtaining valid keys. It lacks explicit when-not conditions or guidance on the relationship to get_station/get_line, but the workflow is clear enough.
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.