Skip to main content
Glama

wow-api-mcp

An MCP server that gives AI coding assistants first-class access to the World of Warcraft addon API — Blizzard's own generated API documentation, the FrameXML/AddOn UI source code, and the Warcraft Wiki — across all four client flavors:

Flavor ID

Game

Source branch

live

Retail

Gethe/wow-ui-source@live

classic

Classic (current expansion)

classic

classic_era

Classic Era (vanilla)

classic_era

classic_anniversary

Classic Anniversary

classic_anniversary

The API documentation is parsed from Blizzard_APIDocumentationGenerated — the machine-readable docs Blizzard ships with the client — so every C_* function signature, event payload, enum, and structure is exact, typed, and per-flavor. No scraping involved.

Tools

Tool

What it does

list_flavors

Flavors with game build, interface version, data commit, API counts

list_systems

API systems/namespaces per flavor, filterable

search_api

Fuzzy full-text search over functions, events, enums, structures

get_api

Full signature detail + cross-flavor availability

diff_api

Compare an API's existence/signature across all four flavors

search_wiki

Search warcraft.wiki.gg (guides, TOC format, widget API, ...)

get_wiki_page

Fetch a wiki page as markdown (cached ~24h, CC BY-SA attributed)

search_source

Regex search over Blizzard's actual UI source per flavor

get_source_file

Read UI source files with line numbers / list directories

Related MCP server: mcdev-mcp

Install

Requires Node 20+. The server is published as @nighthawk42/wow-api-mcp.

Claude Code

claude mcp add wow-api -- npx -y @nighthawk42/wow-api-mcp

Claude Desktop / Cursor / any MCP client (mcpServers JSON):

{
  "mcpServers": {
    "wow-api": {
      "command": "npx",
      "args": ["-y", "@nighthawk42/wow-api-mcp"]
    }
  }
}

From source

git clone https://github.com/Nighthawk42/wow_api_mcp
cd wow_api_mcp
npm ci && npm run build
claude mcp add wow-api -- node /path/to/wow_api_mcp/dist/index.js

Notes:

  • The first search_source/get_source_file call per flavor downloads a ~200 MB source checkout into your OS cache dir (one-time, pinned to the same commit the API data was built from).

  • Wiki pages are fetched on demand and cached for 24 hours.

Development

npm run dev     # run the server from source
npm test        # vitest (offline)
npm run smoke   # exercise every tool end-to-end (needs network)
npm run ingest  # regenerate data/*.json from wow-ui-source

Data is refreshed weekly by a scheduled GitHub Action that opens a PR when upstream changes. See AGENTS.md for architecture details.

Data sources & attribution

  • API documentation and UI source are © Blizzard Entertainment, mirrored by Gethe/wow-ui-source. The data/ files in this repo are machine-derived transformations of Blizzard's generated documentation, provided for interoperability.

  • Wiki content is fetched live from warcraft.wiki.gg and is licensed CC BY-SA 4.0; responses include attribution.

License

MIT (server code). See LICENSE.

Available Tools

9 tools
diff_apiCompare API across flavorsA

Compare an API's existence and signature across all four flavors (live, classic, classic_era, classic_anniversary). Useful to check whether an API exists in a given flavor and whether its signature differs.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesAPI name, qualified or bare

TDQS

A4/5.0
Behavior3/5

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

No annotations provided. The description implies a read-only comparison (no mutation mentioned), but does not explicitly confirm safety, output format, or error behavior. It lists the four flavors, adding some transparency beyond default behavior.

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: first defines the action, second clarifies usefulness. Front-loaded and efficient with no wasted words.

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 one parameter and no output schema, the description adequately explains the tool's purpose and key detail (four flavors). It does not describe output format, but is sufficient for basic understanding.

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 baseline 3 applies. The description does not add additional meaning to the 'name' parameter beyond what the schema provides (qualified or bare).

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

Purpose5/5

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

The description clearly states the tool compares existence and signature across four specific flavors, using a specific verb ('compare') and resource. It distinguishes from sibling tools like get_api (single API) and search_api.

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 says it is useful for checking existence and signature differences across flavors, providing clear context for when to use it. It does not explicitly mention when not to use it or alternatives, but context with siblings implies differentiation.

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

get_apiGet API detailsA

Full documentation for a function, event, or table by name — signature, typed arguments/returns/payload/fields, and cross-flavor availability. Accepts qualified names ("C_Timer.After"), bare names ("After"), or event literals ("PLAYER_ENTERING_WORLD"). Case-insensitive.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesAPI name, qualified or bare
flavorNoGame flavor: live (retail), classic, classic_era (vanilla), classic_anniversarylive

TDQS

A4.1/5.0
Behavior4/5

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

Without annotations, the description carries the full burden of behavioral disclosure. It clearly states what the tool returns (signature, arguments, fields, flavor availability) and the acceptable input patterns. It does not mention error handling or side effects, but the read-only nature is implicit. Given the domain, this is sufficiently transparent.

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 three sentences long, front-loading the core purpose and then elaborating on input specifics. There is no redundancy, and every sentence adds useful information. It is well-structured for quick comprehension.

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?

Given the tool's purpose (retrieving full API documentation) and the absence of an output schema, the description omits details about the output format or structure (e.g., JSON vs text) and error behavior. While the input semantics are well-covered, the output expectations are only vaguely described. Sibling tools exist but are not referenced.

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?

The description adds significant value beyond the schema for the 'name' parameter, providing concrete examples (qualified, bare, event literals) and stating case-insensitivity. The schema coverage is 100%, and both parameters have descriptions, but the description enhances understanding of acceptable input formats.

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

Purpose5/5

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

The description clearly states the tool retrieves full documentation for a function, event, or table by name, including signature, typed arguments/returns/payload/fields, and cross-flavor availability. This verb+resource combination is specific and distinguishes it from sibling tools like diff_api, get_source_file, or search_api.

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

Usage Guidelines3/5

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

The description provides guidance on input formats (qualified names, bare names, event literals) and case-insensitivity, which aids correct invocation. However, it does not explicitly state when to use this tool versus alternatives like get_source_file or search_api, nor does it mention prerequisites or limitations.

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

get_source_fileRead Blizzard UI source fileB

Read a file (or list a directory) from Blizzard's UI source for a flavor, with line numbers. Paths are repo-relative, e.g. "Interface/AddOns/Blizzard_UIParent/Blizzard_UIParent.lua".

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesRepo-relative file or directory path
flavorNoGame flavor: live (retail), classic, classic_era (vanilla), classic_anniversarylive
endLineNo
startLineNo

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the dual behavior (reading files and listing directories) and mentions line numbers. However, it does not detail output format, error handling, or restrictions. Adequate but not comprehensive.

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

Conciseness4/5

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

The description is a single sentence that front-loads the main action. It is concise with no wasted words, though it could be slightly expanded to cover missing parameter details without losing conciseness.

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

Completeness2/5

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

Given no annotations and no output schema, the description should provide more context. It mentions file reading and directory listing but lacks details on output (e.g., content with line numbers vs. file names) and error conditions. It is incomplete for a tool with four parameters.

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

Parameters2/5

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

Schema coverage is 50%; the description adds meaning to the 'path' parameter with an example, but does not describe 'flavor', 'startLine', or 'endLine' beyond the schema constraints. For the undocumented parameters, the description offers no additional value.

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

Purpose5/5

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

The description clearly states the tool reads files (or lists directories) from Blizzard's UI source, with line numbers. The verb 'Read/list' and resource 'Blizzard UI source file' are specific and distinct from sibling tools like search_source or get_wiki_page.

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 does not provide guidance on when to use this tool versus alternatives like search_source or list_flavors. It only states what the tool does, without context on when it is appropriate or when not to use it.

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

get_wiki_pageGet Warcraft Wiki pageA

Fetch a warcraft.wiki.gg page as markdown (cached ~24h). Useful pages: "TOC format", "World of Warcraft API", "Events", "Widget API", "API " for per-function pages, "UIHANDLER " for script handlers.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesPage title, e.g. "TOC format" or "API C_Timer.After"
maxCharsNoTruncate output beyond this length

TDQS

A4.2/5.0
Behavior3/5

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

Without annotations, description adds caching behavior ('cached ~24h') and that output is markdown. However, it does not disclose error handling (e.g., page not found), rate limits, or authentication needs. Cache detail is helpful but incomplete for full transparency.

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: first sentence states purpose and behavior, second provides examples. No unnecessary words, front-loaded with key information.

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 no output schema, the description covers purpose, cache behavior, and example inputs. Lacks details on error handling or output format beyond markdown, but sufficient for a simple fetch tool with two parameters.

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 covers both parameters with descriptions (100% coverage). Description adds value by listing example valid titles ('TOC format', 'API C_Timer.After'), which helps the agent understand the title parameter beyond its schema description. No additional semantics for maxChars.

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

Purpose5/5

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

Clearly states the tool fetches a Warcraft wiki page as markdown, with specific verb 'Fetch' and resource 'page as markdown'. Provides concrete examples of useful pages, distinguishing it from sibling tools like search_wiki which is for searching.

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?

Provides explicit examples of when to use ('Useful pages: ...'), implying the tool is for fetching known page titles. Does not explicitly mention when not to use or alternative tools, but examples guide usage effectively.

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

list_flavorsList WoW flavorsA

List the available WoW client flavors with their game build, interface version, data source commit, and API counts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description must convey behavioral traits. It declares the tool lists data but does not state whether it requires authentication, is read-only, or has rate limits. For a simple read operation, the description is minimally adequate but lacks depth.

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 sentence that efficiently conveys the purpose and output details. Every word adds value, with no redundancy or unnecessary information.

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 the low complexity (no parameters, no output schema), the description adequately covers the tool's purpose and the fields returned. However, without an output schema, the structure is not fully specified, leaving some ambiguity about the exact format.

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?

The input schema has zero parameters, and schema coverage is 100% (trivially). Baseline for 0 parameters is 4. The description adds no parameter info but is not required to; it clarifies the output, which is sufficient.

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

Purpose5/5

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

The description clearly states the tool's function: listing available WoW client flavors. It specifies the exact data returned (game build, interface version, data source commit, API counts), which differentiates it from sibling tools like list_systems that likely list different entities.

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?

Although no explicit when-to-use or alternatives are given, the zero-parameter nature of the tool implies immediate usability. The description implicitly guides the agent to call it to retrieve the list of flavors, and the sibling tools are distinct enough to avoid confusion.

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

list_systemsList API systemsA

List API systems (namespaces) for a flavor. Optionally filter by a case-insensitive substring of the system or namespace name.

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNoSubstring filter on system/namespace name
flavorNoGame flavor: live (retail), classic, classic_era (vanilla), classic_anniversarylive

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses case-insensitive filtering and flavor context, but does not mention default flavor behavior, pagination, or return format. Adequate but not rich.

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, directly to the point, front-loaded with the main action and key modifiers. No redundant information.

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 the simple listing operation, schema covers parameters well, and no output schema exists, the description provides sufficient context for an agent to understand the tool's purpose and primary options.

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 covers 100% of parameters. The description adds value by noting case-insensitivity for the filter, which is not in the schema. It also reiterates the flavor context, though schema already details enum and default.

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

Purpose5/5

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

The description clearly states the verb 'List', the resource 'API systems (namespaces)', and the context 'for a flavor'. It distinguishes from sibling tools like get_api or search_api by specifying the listing operation and optional filtering.

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 implies when to use (listing systems for a flavor) and mentions optional filtering. However, it lacks explicit guidance on when NOT to use or comparisons with alternative sibling tools.

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

search_apiSearch WoW APIA

Fuzzy full-text search over API functions, events, and tables (enums/structures/constants) for a flavor. Searches names, systems, and documentation. Example queries: "C_Timer After", "unit health", "spell cooldown".

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNoRestrict result kindany
limitNo
queryYesSearch terms (names tokenize on _ . and camelCase)
flavorNoGame flavor: live (retail), classic, classic_era (vanilla), classic_anniversarylive

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses fuzzy search and tokenization behavior, but does not describe return format, pagination, or whether results are ordered. It implies read-only operation, but lacks depth.

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 two sentences plus examples, front-loading the core purpose. Every word adds value; no redundancy.

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 tool has no output schema, so the description should explain result structure. It only states 'Searches names, systems, and documentation' without detailing what the response contains (e.g., list of matches, metadata). Adequate but incomplete.

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 coverage is 75%, so baseline is 3. The description adds tokenization info and example queries beyond schema, but the schema already explains most parameters well. The added value is moderate.

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

Purpose5/5

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

The description clearly states it performs 'Fuzzy full-text search over API functions, events, and tables for a flavor.' It specifies the resource categories and provides example queries, distinguishing it from sibling tools like get_api or search_source.

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 gives example queries and implies usage for searching API-related items. However, it does not explicitly mention when to avoid this tool or suggest alternatives like get_api for retrieving a single known function.

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

search_sourceSearch Blizzard UI sourceA

Regex search (POSIX ERE, via git grep) over Blizzard's FrameXML/AddOn UI source code for a flavor — the best way to learn how Blizzard implements UI patterns (templates, mixins, secure code). The first search per flavor downloads a ~200 MB source checkout and may take a minute.

ParametersJSON Schema
NameRequiredDescriptionDefault
flavorNoGame flavor: live (retail), classic, classic_era (vanilla), classic_anniversarylive
patternYesRegex, e.g. "SecureActionButtonTemplate" or "function UIParent_[A-Za-z]+"
pathGlobNoLimit to paths matching a glob, e.g. "Interface/AddOns/Blizzard_ActionBar/**/*.lua"
ignoreCaseNo
maxResultsNo

TDQS

A4.1/5.0
Behavior4/5

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

The description discloses a key behavioral trait: the first search per flavor downloads a ~200 MB source checkout and may take a minute. This is critical for an agent to manage latency expectations. However, it does not mention caching behavior or any authentication/rate limits, though none are required per context.

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 two sentences with no redundant information. The first sentence front-loads the purpose, and the second adds a critical behavioral note. Every word earns its place.

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?

Given the absence of an output schema and annotations, the description should explain the return format. It does not mention what the results look like (e.g., file paths, line numbers, snippets). The tool has 5 parameters and moderate complexity, so some guidance on output is expected for completeness.

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?

The description adds value beyond the schema by specifying the regex flavor (POSIX ERE) and the download behavior related to the flavor parameter. With 60% schema coverage, the description compensates for some missing parameter details, but it could elaborate more on pathGlob, ignoreCase, and maxResults.

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

Purpose5/5

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

The description clearly states the tool performs regex search over Blizzard's UI source code, specifying the regex engine (POSIX ERE) and backend (git grep). It distinguishes itself from sibling tools like search_api or get_wiki_page by targeting source code and positioning it as the best way to learn UI patterns.

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

Usage Guidelines3/5

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

The description implies usage for learning UI patterns but does not explicitly state when to use this tool versus alternatives, nor does it mention any when-not-to-use scenarios. While the purpose is clear, guidance on selection among siblings is absent.

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

search_wikiSearch Warcraft WikiA

Search warcraft.wiki.gg — community documentation for the WoW addon API, UI widgets, events, TOC format, CVars, and guides. Returns page titles to use with get_wiki_page.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
queryYesSearch terms, e.g. "TOC format" or "SecureActionButtonTemplate"

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states that the tool searches and returns page titles, but does not disclose any behavioral traits such as rate limits, authentication requirements, or pagination handling (beyond the limit parameter).

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 two sentences, front-loaded with the purpose, and every word contributes. No redundancy or unnecessary detail.

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 the simple input schema (2 params, no output schema), the description covers the core functionality and links to get_wiki_page. However, it lacks explanation of the limit parameter, pagination behavior, and potential error cases, leaving minor gaps.

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 50%, with query having a description and example in the description ('e.g. "TOC format"'), which adds value. The limit parameter lacks description in both schema and description, though schema provides default and bounds. The description partially compensates for the gap but does not fully cover limit semantics.

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

Purpose5/5

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

The description clearly states it searches warcraft.wiki.gg and lists the content areas (addon API, UI widgets, etc.). It distinguishes from sibling search tools (search_api, search_source) by specifying 'wiki' and mentions that it returns page titles to use with get_wiki_page.

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

Usage Guidelines3/5

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

The description implies that after searching, one should use get_wiki_page, but it does not provide explicit guidance on when to use this tool over other search tools like search_api or search_source. No 'when not to use' or alternatives are discussed.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 9 tool updatesv0.1.0
    • First observeddiff_api
    • First observedget_api
    • First observedget_source_file
    • First observedget_wiki_page
    • First observedlist_flavors
    • First observedlist_systems
    • First observedsearch_api
    • First observedsearch_source
    • First observedsearch_wiki

TDQS

A4/5.0
Disambiguation5/5

Each tool has a distinct, non-overlapping purpose: comparing APIs, fetching docs, reading source, searching, listing flavors/systems. No ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., get_api, search_source, list_flavors). No deviations.

Tool Count5/5

9 tools is well within the ideal range for this domain, covering all necessary operations without excess.

Completeness5/5

The tool set thoroughly covers the WoW API exploration domain: documentation, source code, cross-flavor comparison, and searches. No obvious gaps.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    A local MCP server that lets any MCP-compatible AI client manage a standalone World of Warcraft private server, including server control, database operations, NPC/quest/loot management, and more.
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server that exposes structured World of Warcraft API data (functions, deprecated replacements, enums, events, widget methods) to AI agents, enabling querying and exploration of WoW API without wiki parsing.
    13
    12
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP server that gives LLMs live access to warcraft.wiki.gg API documentation with behavioral notes, restrictions, and patch history for World of Warcraft APIs.
    1
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Nighthawk42/wow_api_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server