Skip to main content
Glama

ImOnFHIR

Compare two IGs

compare_igs
Read-onlyIdempotent

Compare two implementation guides, each "packageId#version": one guide at two versions (version diff) or two guides (stack compare). Over MCP the answer is a bounded summary (counts per change type, the most serious findings, and where the whole report is); POST /api/v1/compare returns the whole report.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "ig_a": "<ig_a>",
      "ig_b": "<ig_b>"
    },
    "name": "compare_igs"
  }
}

Input Schema

NameRequiredDescriptionDefault
ig_aYese.g. "hl7.fhir.us.davinci-pas#2.0.1"
ig_bYese.g. "hl7.fhir.us.davinci-pas#2.1.0"

Output Schema

NameRequiredDescriptionDefault
ig_aYes
ig_bYes
modeYes
riskNo
countsYes
noticeYes
summaryYes
truncatedYes
full_reportYes
top_findingsYes
findings_listedYes
comparison_notesNo
findings_omittedYes
comparison_statusNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is covered. The description adds genuinely new behavior: the MCP response is a bounded summary (counts per change type, top findings, report location) and the full report is only available via the REST endpoint. However, it omits summary size limits, truncation behavior, and any auth or rate-limit notes, so it stops short of a rich behavioral contract.

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

Conciseness5/5

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

Two sentences, zero filler, with the comparison modes and output shape front-loaded and the REST escape hatch last. Every clause carries information an agent needs.

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

Completeness4/5

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

For a two-parameter tool with an output schema, the definition covers input format, both modes, and the nature of the response including where the full report lives. Only minor operational details (summary truncation, error cases for malformed package references) are absent.

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% and both parameters carry examples, so the baseline is 3. The description goes beyond by naming the 'packageId#version' string format and explaining that the two parameters can hold two versions of one guide or two distinct guides, which is real semantic meaning the schema alone does not state.

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

Purpose4/5

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

States a specific verb and resource ('Compare two implementation guides') and immediately scopes it to the two supported modes, version diff and stack compare. It does not explicitly position itself against siblings like compare_payloads, but the resource-level specificity (IGs vs payloads) makes the target unmistakable.

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?

The description defines the two usage conditions precisely: one guide at two versions for a version diff, or two guides for a stack compare. That is clear context for selecting the mode, though it offers no explicit exclusions or guidance on when a sibling tool would be preferable.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources