Skip to main content
Glama
Koodattu

wow-addon-api-mcp

by Koodattu

diff_versions

Read-onlyIdempotent

Compare two WoW AddOn API versions to identify added, removed, or changed APIs, with filters for API kind and namespace.

Instructions

List APIs added, removed, or structurally changed between two explicitly selected channel/build targets, with optional kind and namespace filters.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
kindNoOptional result category
limitNoMaximum listed changes
changeNoChange type filterall
namespaceNoOptional exact C_ namespace
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: -[
      -  "from_version"
      -]New value: +[
      +  "from_channel",
      +  "to_channel",
      +  "from_version",
      +  "to_version"
      +]
  2. First observedv0.1.0

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already establish readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description consistently reflects a read-only listing operation and adds that results are limited to added, removed, and structurally changed APIs, but it does not disclose pagination, limit behavior, or namespace matching details.

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 a single, well-structured sentence. The core purpose is front-loaded, and the optional filters are appended without wasted words or redundant restatement of the tool name.

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?

Given that the schema fully documents all parameters and the annotations cover the read-only/idempotent safety profile, an agent can invoke this tool correctly from the definition. Minor gaps remain: there is no output schema and the description does not clarify how diff_versions compares with sibling compare_api, so it is not fully complete.

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%, with all eight parameters documented, including enums, defaults, and constraints (e.g., limit default 50/max 100, change default 'all', channel enum). The description highlights kind and namespace filters but does not add parameter-level meaning beyond the schema, so the baseline of 3 applies.

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 ('List') and resource ('APIs'), and defines the exact scope: APIs added, removed, or structurally changed between two channel/build targets. It is clear, but it does not explicitly distinguish itself from sibling tools like compare_api, so it falls short of 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 description gives no explicit guidance on when to use this tool versus alternatives such as compare_api, get_api_history, or list_versions. There are no exclusion conditions or alternative routing; the only pointer to list_versions appears in the schema, not in the description.

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