resolve_id
Canonicalise a partial ID, display_id, slug, or dysfunction name. Always returns candidates; caller picks.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
Canonicalise a partial ID, display_id, slug, or dysfunction name. Always returns candidates; caller picks.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Input schema / additionalPropertiesAdded value: +falseInput schema / properties / query / maxLengthAdded value: +256Input schema / properties / query / minLengthAdded value: +1Input schema / properties / query / patternAdded value: +"\\S"Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses a key behavior: 'Always returns candidates; caller picks', which tells the agent that the tool returns multiple options and the caller must choose. However, it does not describe the structure of the candidates, error handling, or edge cases like empty results, leaving gaps.
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 extremely concise, with two sentences that pack the core purpose, accepted inputs, and output behavior. Every word adds value, and the key behavioral note ('Always returns candidates; caller picks') is front-loaded. No redundancy or fluff.
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 simple tool with one parameter and no output schema, the description covers the essentials: what it does, what input it expects, and that it returns a list of candidates. It could clarify the output structure or failure modes, but given the low complexity, it is reasonably complete for an agent to invoke it correctly.
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 description coverage is 0%, so the description must explain the parameter. It does state that the query can be a partial ID, display_id, slug, or dysfunction name, giving meaning to the 'query' field beyond the schema's generic string constraints. However, it lacks specifics on formatting, case sensitivity, or examples, so it only partially compensates.
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 'canonicalise' and the resource: partial IDs, display_ids, slugs, or dysfunction names. It distinguishes this tool from siblings like get_dysfunction or list_dysfunctions by focusing on resolution rather than retrieval or listing, though it does not explicitly name alternatives.
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 intended use is implied: use this when you have a partial identifier that needs canonicalization. It does not state when not to use it, nor does it mention alternative tools for full IDs or other resolution scenarios. The guidance is inferable but not explicit.
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.
Each tool targets a distinct aspect of the domain: diagnosis, mapping confusions, retrieving entries, elicitation probes, listing axes/dysfunctions/compromised entries, ID resolution, statistics, severity, and interventions. No two tools overlap in purpose; descriptions clearly differentiate them.
Most tools follow verb_noun pattern (get_*, list_*, resolve_id, score_severity, suggest_intervention), but differential_diagnosis and review_stats deviate (noun-like phrases). The inconsistency is minor and doesn't obscure meaning.
11 tools is well within the ideal 3-15 range. Each tool serves a distinct purpose in the diagnostic workflow, and none feel redundant or missing for the stated domain.
The surface covers listing, retrieval, differential diagnosis, probes, severity, interventions, stats, and ID resolution. Minor gaps exist (e.g., no tool to add/update entries or directly compare two dysfunctions), but these are outside the apparent read-only research scope.