Skip to main content
Glama
Koodattu

wow-addon-api-mcp

by Koodattu

compare_api

Read-onlyIdempotent

Compare an exact WoW API object across two specified game versions and channels to reveal differences and plan addon compatibility updates.

Instructions

Compare one exact API, event, enum, structure, widget, or system between two explicitly selected channel/build targets.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNoOptional result category
nameYesExact full API or object name
to_channelYesGame channel; never inferred from a version number
to_versionYesPatch, full client build, build number, or latest within the selected channel
from_channelYesGame channel; never inferred from a version number
from_versionYesSource patch or build; use list_versions to discover valid values

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changedv0.5.0
    • addedInput schema / properties / from_channel
      Added value: +{
      +  "description": "Game channel; never inferred from a version number",
      +  "enum": [
      +    "retail",
      +    "forever"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / from_version / description
      Previous value: -"Older retail patch or build"New value: +"Source patch or build; use list_versions to discover valid values"
    • addedInput schema / properties / from_version / minLength
      Added value: +1
    • addedInput schema / properties / to_channel
      Added value: +{
      +  "description": "Game channel; never inferred from a version number",
      +  "enum": [
      +    "retail",
      +    "forever"
      +  ],
      +  "type": "string"
      +}
    • removedInput schema / properties / to_version / default
      Removed value: -"latest"
    • changedInput schema / properties / to_version / description
      Previous value: -"Newer retail patch or build"New value: +"Patch, full client build, build number, or latest within the selected channel"
    • addedInput schema / properties / to_version / minLength
      Added value: +1
    • changedInput schema / required
      Previous value: -[
      -  "name",
      -  "from_version"
      -]New value: +[
      +  "name",
      +  "from_channel",
      +  "to_channel",
      +  "from_version",
      +  "to_version"
      +]
  2. First observedv0.1.0

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the safety profile is established. The description adds scoping detail ('one exact', explicit targets) but does not disclose what the comparison output looks like or whether exact-match semantics affect the result. No contradiction with annotations.

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?

The description is one sentence, front-loaded with the action and resource, and contains no filler. It is easy to parse quickly and leaves the detailed parameter constraints to the schema where they belong.

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

Completeness3/5

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

The schema and annotations cover parameter construction and safety well, so the agent can call the tool without missing required inputs. However, with no output schema, the description does not explain the return format or diff semantics, and it does not address how to choose between this tool and diff_versions. These gaps leave important context to inference.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the parameters are already fully documented. The description's list of object kinds aligns with the optional 'kind' parameter and reinforces exactness, but it does not add meaningful semantics beyond what the input schema already provides.

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?

The description uses a specific verb ('Compare') and identifies the resource and comparison scope: one exact API/event/enum/structure/widget/system between two channel/build targets. It is clear and precise, but it does not explicitly distinguish this from the close sibling diff_versions, so it does not fully earn a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'one exact' and 'explicitly selected channel/build targets' implies this is for precise comparisons rather than discovery, but the description never says when to use this tool versus diff_versions, search_api, or get_api_history. With multiple comparison and lookup siblings, the lack of explicit routing guidance is a significant gap.

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