get_differential_map
All dysfunctions that confuse with this one: forward confuses_with + incoming_references (reverse graph from manifest).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| dysfunction_id | Yes |
All dysfunctions that confuse with this one: forward confuses_with + incoming_references (reverse graph from manifest).
| Name | Required | Description | Default |
|---|---|---|---|
| dysfunction_id | Yes |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Input schema / additionalPropertiesAdded value: +falseInput schema / properties / dysfunction_id / maxLengthAdded value: +256Input schema / properties / dysfunction_id / minLengthAdded value: +1Input schema / properties / dysfunction_id / 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 of behavioral disclosure. It reveals some internal mechanics (reverse graph from manifest) but does not mention side effects, return format, error behavior, or whether the operation is read-only. This is minimal disclosure for a graph-query tool.
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 short and front-loaded, but the single sentence is cryptic and uses jargon ('confuses_with', 'incoming_references') without explanation. It is concise in length but not in clarity, so it only partially earns its place.
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 graph-based tool with no output schema, the description is incomplete. It does not explain the structure of the returned data, pagination, ordering, or edge cases. With many siblings, it also fails to differentiate itself adequately, leaving the agent without enough information to call 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 coverage is 0%, so the description must compensate. It only implicitly refers to 'this one' as the dysfunction_id, without explaining its role, format, or how it is used in the graph traversal. The description adds little meaning beyond the schema's basic type constraints.
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 states the tool returns dysfunctions that confuse with the given one, and mentions combining forward confuses_with and incoming_references. However, the phrasing is cryptic ('All dysfunctions that confuse with this one') and doesn't explicitly say it returns a list or map. It is not a tautology but lacks clarity for an agent unfamiliar with the domain.
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?
There is no mention of when to use this tool versus alternatives like differential_diagnosis or get_dysfunction. No exclusions, prerequisites, or context for selection are provided, leaving the agent without guidance on appropriate invocation.
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.