Guild Wars 1 MCP
A read-only MCP server for Guild Wars 1 that lets you query public sources (wikis, builds, YouTube, Reddit) and optionally scan a local GW1 installation for metadata.
List Sources (
gw1_sources): View all configured public and local source surfaces.Search Wikis (
gw1_wiki_search): Search Guild Wars Wiki, PvXwiki, or both via their public MediaWiki APIs.Read Wiki Pages (
gw1_wiki_page): Fetch full wiki pages including extracted text, links, categories, and revision metadata.View Recent Wiki Changes (
gw1_wiki_recent_changes): Browse recent public edits on Guild Wars Wiki or PvXwiki.Read Game Updates (
gw1_game_updates): Parse and retrieve recent Guild Wars game update notes from Guild Wars Wiki.Search Builds (
gw1_builds_search): Search the GW1 Builds public API and/or PvXwiki build pages, with optional author inclusion.Analyze Template Codes (
gw1_template_code_analyze): Validate and classify Guild Wars skill/build template codes.Search Reddit (
gw1_subreddit_search): Search r/GuildWars public posts via Atom feed, with sort options and optional author inclusion.List YouTube Sources (
gw1_youtube_sources): View curated official and creator YouTube channel feeds for Guild Wars 1.Fetch YouTube Videos (
gw1_youtube_videos): Retrieve recent videos from curated GW1 YouTube RSS feeds, filterable by query or channel.Cross-Source Search (
gw1_content_search): Search across wiki, PvXwiki, GW1 Builds, YouTube, and Reddit in a single query.Local Install Inventory (
gw1_local_inventory): Opt-in scanner to detect and inventory a local Guild Wars installation or VMware Fusion bundle (e.g.,Gw.exe,Gw.dat, templates,.vmwarevmmetadata), with path redaction by default.
Allows searching and fetching pages from PvXwiki, a Fandom-hosted wiki, including extraction of text, links, categories, and revision metadata.
Provides search of r/GuildWars public Atom results, allowing retrieval of Reddit posts and comments related to Guild Wars.
Supports scanning local VMware Fusion bundle metadata (.vmwarevm, .vmx, .vmdk) when explicit roots are provided, for inventory purposes.
Enables fetching recent public videos from curated official and creator YouTube feeds, returning video metadata and links.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Guild Wars 1 MCPFind updated PvE builds on GW1 Builds"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Guild Wars Reforged MCP
Read-only Model Context Protocol server for Guild Wars Reforged (the 2025 re-release of Guild Wars 1) public sources and opt-in local install inventory. Covers Prophecies, Factions, Nightfall, and Eye of the North.
Sources
Listed alphabetically by name:
Guild Wars Build Creator (mobile UI, pointer-only):
https://guildwars.magical.ch/Guild Wars Wiki:
https://wiki.guildwars.com/api.phpGW1 Builds:
https://gw1builds.com/api/buildsKamadan Trade Chat Search (pointer-only):
https://kamadan.gwtoolbox.com/Local Guild Wars install or VMware Fusion bundle metadata (opt-in roots only)
PvXwiki:
https://gwpvx.fandom.com/api.phpr/GuildWars public Atom search
Speedclear Wiki:
https://wiki.gwscr.com/api.php(high-end SC tactics; niche meta)YouTube public RSS feeds for official and creator channels
Related MCP server: wow-api-mcp
Install
This is a stdio MCP server distributed from GitHub. Replace <owner> with the
GitHub owner or organization that hosts this repository.
Codex
codex mcp add guildwars-reforged -- npx -y github:<owner>/guildwars-reforged-mcp
codex mcp listWith opt-in local inventory:
codex mcp add guildwars-reforged \
--env GW1_LOCAL_ROOTS="/path/to/Guild Wars/or VM.vmwarevm" \
-- npx -y github:<owner>/guildwars-reforged-mcpClaude Code
claude mcp add --scope user guildwars-reforged -- npx -y github:<owner>/guildwars-reforged-mcp
claude mcp listWith opt-in local inventory:
claude mcp add --scope user guildwars-reforged \
-e GW1_LOCAL_ROOTS="/path/to/Guild Wars/or VM.vmwarevm" \
-- npx -y github:<owner>/guildwars-reforged-mcpClaude Desktop
Merge this into ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"guildwars-reforged": {
"command": "npx",
"args": ["-y", "github:<owner>/guildwars-reforged-mcp"]
}
}
}With opt-in local inventory:
{
"mcpServers": {
"guildwars-reforged": {
"command": "npx",
"args": ["-y", "github:<owner>/guildwars-reforged-mcp"],
"env": {
"GW1_LOCAL_ROOTS": "/path/to/Guild Wars/or VM.vmwarevm"
}
}
}
}Restart Claude Desktop after changing the file.
Grok
grok mcp add --scope user guildwars-reforged -- npx -y github:<owner>/guildwars-reforged-mcp
grok mcp list
grok mcp doctorWith opt-in local inventory:
grok mcp add --scope user guildwars-reforged \
-e GW1_LOCAL_ROOTS="/path/to/Guild Wars/or VM.vmwarevm" \
-- npx -y github:<owner>/guildwars-reforged-mcpStart a new Codex, Claude, or Grok session after adding the server. Existing sessions may not pick up newly configured MCP servers.
From a checkout:
npm install
npm run build
node dist/index.jsTools
gw1_sources- list configured public and local source surfaces.gw1_wiki_search- search Guild Wars Wiki, PvXwiki, or both.gw1_wiki_page- fetch a wiki page with extracted text, links, categories, and revision metadata.gw1_wiki_recent_changes- read recent public changes from a wiki source.gw1_game_updates- parse recent Guild Wars game-update sections from Guild Wars Wiki.gw1_builds_search- search GW1 Builds public API and/or PvXwiki.gw1_template_code_analyze- validate, decode, and legality-check Guild Wars template/build codes (professions, attributes, skill names, build rules).gw1_template_encode- build an importable template code from professions, attributes, and skill names, with a legality report (one elite, three PvE-only max, single allegiance, 200 attribute-point budget).gw1_subreddit_search- search r/GuildWars public Atom results.gw1_youtube_sources- list curated official and creator YouTube feeds.gw1_youtube_videos- fetch recent public YouTube videos from curated feeds.gw1_content_search- search across wiki, PvXwiki, GW1 Builds, YouTube, and r/GuildWars.gw1_local_inventory- scan explicit local roots for Guild Wars or VMware Fusion metadata.
Resources
gw1://sources- public source registry.gw1://wiki-sources- MediaWiki source registry.gw1://youtube-sources- official and creator YouTube source registry.
Update Pipeline
Most content is fetched fresh at tool-call time from public APIs and feeds, so the server does not go stale between commits. Three scheduled workflows keep the rest current without manual upkeep:
Source Smoke(Tue/Fri) runs live checks against every public source surface. It commits nothing; it catches dead feeds, API shape changes, and source breakage.Refresh skill index(Mondays) re-extracts the bundled skill index from the Guild Wars Wiki and commits it only when the extracted data actually changed. Because installs resolvegithub:<owner>/guildwars-reforged-mcpto the default branch, a refresh reaches users without needing a release.Keepalive(Wednesdays) makes an empty commit if the repository has been quiet for 45 days, so GitHub's 60-day inactivity rule never disables the schedules above.
Releases are cut only from human pushes to main. A data refresh is typically
one or two corrected skill fields out of roughly 3,000 and does not merit a
version of its own.
Local Inventory
Local inventory is opt-in. The server never scans default locations, home directories, VMware folders, or game installs by itself.
Use explicit roots:
GW1_LOCAL_ROOTS="/path/to/Guild Wars:/path/to/Some VM.vmwarevm" guildwars-reforged-mcpOr pass roots to the gw1_local_inventory tool.
The scanner can detect:
Gw.exeGw.datmetadata onlyTemplatesfolders and plausible template codes in.txtfiles.vmwarevm,.vmx, and.vmdkmetadata
It does not mount virtual disks, parse Gw.dat, follow symlink escapes, or write
scan output. Paths are redacted by default unless a caller explicitly opts out.
Development
npm install
npm run typecheck
npm test
npm run build
npm run smoke:sourcesNotes
This project is not affiliated with ArenaNet, NCSoft, Guild Wars Wiki, PvXwiki, GW1 Builds, Reddit, or VMware. It fetches public, read-only data and returns source URLs so agents can attribute claims back to the original source.
Available Tools
14 toolsgw1_builds_searchSearch GW1 buildsB
Search GW1 Builds public API and/or PvXwiki build pages. Author/handle fields are omitted unless includeAuthors is true.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | No | ||
| source | No | all | |
| includeAuthors | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description itself must disclose behaviors. It does mention that author fields are omitted unless includeAuthors is true, which is a useful behavioral detail. However, it does not disclose other traits such as whether the operation is read-only, rate limits, or the format of results, leaving gaps.
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 concise, with two sentences that front-load the main purpose and add a key behavioral detail. No redundant or unnecessary words.
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?
Given that there is no output schema and 4 parameters, the description is insufficiently complete. It does not explain what 'search' entails (e.g., matching behavior, fields searched), the return format, or any limitations. Sibling tools are similar but the description does not help an agent understand when the tool is the right choice.
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?
The description clarifies the effect of the includeAuthors parameter (authored fields omitted unless true) and hints that source selects between two data sources. However, it does not explain limit, query, or the source enum beyond the provided values. With 0% schema coverage, more parameter detail would be beneficial.
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 clearly states the action ('Search') and resource ('GW1 Builds public API and/or PvXwiki build pages'), with a specific behavioral note. However, it does not differentiate from sibling search tools like gw1_content_search, which could be used for similar queries.
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?
The description implies usage for searching build-specific content from two sources, but it lacks explicit guidance on when to use this tool versus alternatives like gw1_subreddit_search or gw1_wiki_search. No when-not-to-use or alternative suggestions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gw1_content_searchSearch GW1 contentA
Search across Guild Wars Wiki, PvXwiki, GW1 Builds, YouTube, and r/GuildWars for current public content.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| sources | No | ||
| includeAuthors | No | ||
| limitPerSource | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that the tool searches only 'current public content', which is a behavioral boundary, but it does not mention possible rate limits, latency, or that it queries external live endpoints. The verb 'search' implies a read-only operation, but no added detail beyond that.
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?
A single sentence with no redundancy, front-loaded with the primary action and scope. Every word adds value.
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?
The description lacks any mention of the return format or result structure, despite there being no output schema. It also does not explain how this tool relates to the sibling tools (e.g., when to use this vs. a single-source search). For a multi-source aggregator, this leaves gaps in an agent's ability to invoke and interpret results 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?
The schema has zero descriptions, but the description maps the cryptic enum values (wiki, pvx, etc.) to human-readable source names. However, it does not explain the query, includeAuthors, or limitPerSource parameters, though those are reasonably inferable from their names and schema defaults.
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 uses the specific verb 'Search' and names the exact resources (Guild Wars Wiki, PvXwiki, GW1 Builds, YouTube, r/GuildWars) plus a scope qualifier ('current public content'). This clearly distinguishes it from the single-source sibling tools like gw1_wiki_search or gw1_subreddit_search.
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?
The description implies a multi-source search use case but does not explicitly state when to choose this over the sibling single-source tools, nor does it mention alternatives or exclusions. The context is clear but lacks direct guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gw1_game_updatesRead GW1 game updatesC
Parse recent game-update sections from the Guild Wars Wiki Game updates page.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| maxCharactersPerSection | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, description carries full burden but only states 'Parse'. No disclosure of side effects, caching, rate limits, or return format.
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?
Single sentence is concise but lacks important details. Appropriate length for a simple tool, but could be more informative.
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?
Tool has 2 optional parameters and no output schema; description does not cover return format or context of use. Incomplete for effective agent decision-making.
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% and description does not mention parameters at all. No meaning added beyond schema defaults.
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 clearly states the verb 'Parse' and resource 'recent game-update sections from the Guild Wars Wiki Game updates page.' It distinguishes from siblings like gw1_wiki_page and gw1_wiki_recent_changes.
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?
No guidance on when to use this tool vs alternatives. Does not mention any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gw1_local_inventoryInventory local GW1 installA
Opt-in local scanner for Guild Wars installs or VMware Fusion bundles. It never scans default locations. Pass explicit roots or set GW1_LOCAL_ROOTS. Paths are redacted by default.
| Name | Required | Description | Default |
|---|---|---|---|
| roots | No | ||
| maxDepth | No | ||
| maxEntries | No | ||
| redactPaths | No | ||
| useEnvRoots | No | ||
| includeHeaderHashes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description covers key behaviors: opt-in, no default scanning, root specification, and path redaction. However, it omits details about maxDepth, maxEntries, and other params that affect behavior.
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?
Three short sentences, no redundancy, all information is front-loaded. Each sentence adds necessary context.
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?
Given 6 parameters, no output schema, and no annotations, the description is incomplete. It does not mention return value format or behavior of multiple parameters, making it insufficient for an agent to fully understand the tool.
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%, yet the description only explains 'roots' and 'redactPaths' implicitly. It fails to describe maxDepth, maxEntries, useEnvRoots, and includeHeaderHashes, leaving significant gaps.
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 clearly states it is an opt-in local scanner for Guild Wars installs or VMware Fusion bundles, and distinguishes it from sibling tools which are online searches or wiki pages. The verb 'scan' and resource 'local inventory' are specific.
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?
It provides guidance on when to use (opt-in, never scans defaults) and how to specify roots (explicit or env var), but does not explicitly contrast with siblings or state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gw1_skill_index_provenanceSkill index provenanceA
Report where the bundled skill index came from (Guild Wars Wiki, not game files), when it was extracted, which wiki revision it reflects, and its content hash — use this to judge how stale template decode/encode data is.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses the tool's read-only nature and the exact information it returns (source, extraction time, revision, hash). It implies no side effects.
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 a single, well-structured sentence that front-loads the main action and then adds relevant detail. No unnecessary words.
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?
Given the tool's simplicity (no params, no output schema), the description fully explains its purpose and output. No additional information is needed.
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?
There are no parameters, and schema coverage is 100% automatically. The description adds context about the output but not parameter-specific details, which is not needed.
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 clearly states the tool reports provenance of the bundled skill index, specifying the source, extraction time, wiki revision, and content hash. It distinguishes itself from sibling tools by its unique focus on data freshness assessment.
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?
The description explicitly advises using the tool to judge how stale template decode/encode data is, providing a clear use case. However, it does not mention alternatives 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.
gw1_sourcesList GW1 sourcesB
List public Guild Wars 1 sources and the opt-in local inventory surface known to this server.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only states that the tool lists public sources and an opt-in inventory. It does not mention whether authentication is required, rate limits, or any side effects, leaving significant gaps in transparency.
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 a single, front-loaded sentence that conveys the core purpose without unnecessary words. It 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?
Given the tool has no parameters and no output schema, the description is sufficient to understand what it returns. However, it might benefit from mentioning the format or scope (e.g., 'all known' vs 'partial'). Still, for a simple list tool, it is reasonably complete.
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?
The input schema has zero parameters, and schema coverage is 100%. The description adds no parameter-level detail, which is appropriate since there are no parameters. Baseline 4 applies.
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 clearly states the tool lists public GW1 sources and the opt-in local inventory surface. It is specific but does not explicitly differentiate from the sibling 'gw1_local_inventory' tool, though the mention of 'opt-in local inventory surface known to this server' suggests a possible distinction.
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?
No guidance is provided on when to use this tool versus alternatives like gw1_local_inventory or other source-related tools. The description lacks context about typical use cases or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gw1_subreddit_searchSearch r/GuildWarsA
Search r/GuildWars public Atom results. Author/handle fields are omitted unless includeAuthors is true.
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | new | |
| limit | No | ||
| query | Yes | ||
| maxCharacters | No | ||
| includeAuthors | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that author fields are conditionally included and that results are in Atom format, adding behavioral context beyond the schema. However, it does not cover other behavioral aspects like rate limits, pagination, or validation rules.
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?
Two sentences with no extraneous information. The key behavioral constraint (author omission) is front-loaded.
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?
Given 5 parameters with no schema descriptions, no output schema, and no annotations, the description is insufficient. It does not describe the return value format or the impact of parameters like sort and limit.
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?
With 0% schema description coverage, the description only adds meaning for the includeAuthors parameter. It does not explain sort, limit, maxCharacters, or the nature of the query parameter, leaving significant gaps.
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 clearly states the tool searches r/GuildWars using public Atom results and specifies that author fields are omitted unless includeAuthors is true. It effectively distinguishes from sibling tools like gw1_builds_search and gw1_content_search.
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?
The description implies usage for subreddit searching but does not explicitly state when to use this tool versus alternatives. No exclusions or context for when-not to use are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gw1_template_code_analyzeAnalyze GW1 template codeA
Validate, classify, and decode a Guild Wars template/build code. Skill templates are fully decoded into primary/secondary professions, attributes with points, and the eight skills resolved to names via the bundled Guild Wars Wiki skill index.
| Name | Required | Description | Default |
|---|---|---|---|
| input | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden. It discloses the decode behavior (professions, attributes, skills via bundled index) but omits details on invalid input handling, authentication, rate limits, or side effects. It states the action truthfully but could be more comprehensive.
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 a single sentence that efficiently conveys the tool's purpose and decoding details. It is front-loaded with the main verbs. No wasted words, though it could be broken into smaller sentences for readability.
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?
Despite lacking an output schema and annotations, the description gives a good overview of the input (template code) and output (professions, attributes, skills). It does not explain error behavior or output format, but for a single-input tool, the main use case is adequately covered.
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?
The schema defines one input parameter with length constraints. The description calls it 'template/build code', which adds slight context beyond 'string', but does not explain expected format, examples, or encoding differences. With 0% schema coverage in descriptions, the value added over the schema is minimal.
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 clearly specifies three main actions (validate, classify, decode) on a specific resource (GW1 template/build code). It lists the decoding outputs (professions, attributes, skills), making it distinct from sibling tools like gw1_template_encode or search tools.
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?
The description implies when to use (when given a template code to analyze) but lacks explicit guidance on when not to use or explicit comparison to alternatives. For a tool with many siblings, stating that encoding is a separate tool would improve clarity, but it's not required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gw1_template_encodeBuild & encode a GW1 skill templateA
Build a Guild Wars skill template from professions, attributes, and skill names. Returns an importable template code, a legality report (one elite max, three PvE-only max, single allegiance, 200 attribute-point budget, profession checks), per-skill energy/cast/recharge/adrenaline costs, and an energy-sustainability outlook. Use this to construct and sanity-check a build before sharing it.
| Name | Required | Description | Default |
|---|---|---|---|
| skills | Yes | Up to 8 skill names, e.g. 'Wounding Strike'. Use exact wiki names. | |
| primary | Yes | Primary profession, e.g. 'Dervish'. | |
| secondary | No | Secondary profession, or 'None'. | None |
| attributes | No | Base attribute spend (0-12 each), e.g. [{attribute:'Scythe Mastery',points:12}]. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the transparency burden. It discloses the return of a template code, a legality report with specific checks, per-skill costs, and an energy-sustainability outlook, giving a comprehensive view of behavior.
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 concise at three sentences, front-loaded with the core purpose, and contains no superfluous information. Every sentence contributes meaning.
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?
Given the tool's complexity (4 parameters, no output schema), the description adequately covers purpose, usage, and return values. It lacks details on error handling or exact output format, but is largely complete for an agent to use 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 description coverage is 100%, so baseline is 3. The description adds context about the output but does not enhance understanding of individual parameters beyond what the schema already provides (e.g., skill names, attribute points).
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 tool name, title, and description clearly state it builds and encodes a GW1 skill template, specifying the action (build/encode), resource (skill template), and return values. It is well-distinguished from sibling tools like search or analysis tools.
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?
The description advises using the tool 'to construct and sanity-check a build before sharing it,' providing clear context. While it does not explicitly mention when not to use it or alternatives, the sibling tools imply different use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gw1_wiki_pageRead GW1 wiki pageA
Fetch a page from Guild Wars Wiki or PvXwiki and return extracted text, links, categories, and revision metadata without editor usernames.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| source | No | gww | |
| maxCharacters | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the burden. It discloses that it returns extracted text, links, categories, and revision metadata, and notably strips editor usernames. This adds meaningful behavioral context, though it omits error handling or redirect behavior. Still, for a read-only fetch, it is fairly transparent.
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 a single, front-loaded sentence that efficiently conveys the action, target, and output. No wasted words, and it is easy to parse.
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 simple fetch tool, the description covers the core functionality but lacks parameter semantics (especially the source enum and maxCharacters limit) and does not mention failure modes or output format details. Given the absence of annotations and output schema, it is adequate but not fully complete.
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 description coverage is 0%, so the description must compensate by explaining parameters. It does not mention 'title', 'source', or 'maxCharacters' at all, leaving the enum values (gww, pvx, scr) and character limit unexplained. The parameter names and schema offer some hints, but the description adds no value beyond them.
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 clearly states the tool fetches a page from Guild Wars Wiki or PvXwiki and returns extracted text, links, categories, and revision metadata. This is a specific verb-resource combination that distinguishes it from sibling tools like search or recent changes.
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?
The description implies usage: use when you need page content from these wikis. However, it does not explicitly state when not to use it (e.g., use gw1_wiki_search to find pages first) or mention alternatives. Clear context but no exclusions, so a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gw1_wiki_recent_changesRead GW1 wiki recent changesA
Return recent public changes from Guild Wars Wiki or PvXwiki without editor usernames.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| source | No | gww |
TDQS
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 one key behavior (excluding editor usernames) but omits other important traits such as time window, pagination, response format, or rate limits. This is minimal but not completely empty.
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 a single sentence, front-loaded with the verb 'Return', and contains no filler or redundant information. Every word earns its place, making it appropriately concise.
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?
Without an output schema, the description should explain what the response looks like, but it does not describe the return structure or contents. The 'scr' source is unexplained, the meaning of 'recent' is ambiguous, and no guidance on time windows or sorting is given. This under-specification leaves too much for the agent to infer.
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?
The schema has 0% description coverage, yet the description only partially explains the 'source' parameter by naming two wikis, while the enum includes a third 'scr' value that is left unexplained. The 'limit' parameter is not directly described, and the description does not clarify how 'recent' is defined.
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 uses the specific verb 'Return' and names the resource ('recent public changes') from Guild Wars Wiki or PvXwiki. It also adds a distinguishing qualifier ('without editor usernames') that sets it apart from wiki search and page retrieval tools.
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?
The description implies the use case—retrieving recent wiki changes—but provides no explicit guidance on when to prefer this over siblings like gw1_wiki_search or gw1_wiki_page. There is no mention of alternatives or exclusions, leaving the agent to infer the correct context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gw1_wiki_searchSearch GW1 wikisB
Search Guild Wars Wiki, PvXwiki, or both via their public MediaWiki APIs.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | ||
| source | No | both |
TDQS
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 adds 'via their public MediaWiki APIs' which indicates public access, but it does not explain response format, pagination, rate limits, or error behavior. For a simple search tool, some behavioral context is missing.
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 a single, front-loaded sentence with no filler. It efficiently states the core action and scope, earning its place with no redundancy.
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 search tool with three parameters and no output schema or annotations, the description is minimal but workable. It clarifies the data sources and public API nature, but lacks details about return values and result ordering, which would be needed for a fully self-contained description.
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 description coverage is 0%. The description does not explain 'query' or 'limit'; only the phrase 'or both' loosely maps to the 'source' enum. The schema itself provides defaults and enums, but the description does not compensate for the lack of parameter documentation.
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 uses the specific verb 'Search' and clearly identifies the resources (Guild Wars Wiki, PvXwiki, or both). It distinguishes from sibling tools like gw1_wiki_page or gw1_wiki_recent_changes by focusing on cross-wiki search.
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?
The description implies a search use case but does not explicitly state when to use this tool versus alternatives such as gw1_wiki_page. No exclusions or alternative suggestions are provided, though the purpose is reasonably clear from the title and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gw1_youtube_sourcesList GW1 YouTube sourcesC
List curated official and creator YouTube channel feeds for Guild Wars 1, Reforged, build, skill, and guide content.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | all |
TDQS
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 states it lists curated feeds, implying a read-only operation with no side effects. However, it lacks details like whether the list is static or updated frequently, or if authentication is needed.
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 a single concise sentence that communicates the tool's purpose without extraneous words. Slightly more structure could improve clarity, but it is well front-loaded.
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?
The tool has one parameter, no output schema, and no annotations. The description does not cover what the output looks like (e.g., channel names, URLs) or how the scope affects the list, leaving significant gaps for an agent.
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?
The description does not explain the scope parameter or its enum values. With 0% schema description coverage, the description fails to add meaning beyond the schema, leaving the agent unaware of how to filter results.
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 clearly states the tool lists curated official and creator YouTube channel feeds for Guild Wars 1 and related content. It uses specific verbs and resources, and while it doesn't explicitly differentiate from siblings like gw1_sources or gw1_youtube_videos, the purpose is distinct enough.
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?
The description provides no guidance on when to use this tool versus alternatives. It does not mention exclusion criteria or specific contexts, leaving the agent to infer usage from the purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gw1_youtube_videosSearch GW1 YouTube videosB
Fetch recent videos from curated public YouTube RSS feeds. Without a query, filters to likely Guild Wars 1/Reforged videos.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | ||
| scope | No | all | |
| maxTotal | No | ||
| sourceIds | No | ||
| limitPerSource | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full burden. It only mentions fetching from curated RSS feeds and default filtering, but does not disclose whether the operation is read-only, authentication requirements, rate limits, or the recency bound for 'recent' videos.
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 two sentences, front-loaded with the main action, and contains no extraneous information. Every sentence adds value.
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?
Despite having 5 parameters and no output schema or annotations, the description fails to explain key aspects like the scope of sources, result limits, or how to specify custom source IDs. Significant contextual gaps remain for an AI to invoke the tool 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% (no descriptions on any of the 5 parameters). The description only vaguely references the 'query' parameter implicitly. No explanation is given for scope, maxTotal, sourceIds, or limitPerSource, leaving the agent without understanding parameter purpose.
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 clearly states the tool fetches recent videos from curated public YouTube RSS feeds and provides default filtering behavior without a query. This distinguishes it from sibling tools like gw1_youtube_sources, which likely manages source curation, and other search tools.
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?
The description implies that without a query the tool filters to Guild Wars 1/Reforged videos, suggesting query usage may broaden results. However, it lacks explicit guidance on when to use this tool versus alternatives like gw1_content_search or gw1_wiki_search, and does not mention 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.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v2.1.1- Changed
gw1_content_search1 field changed- changed
Input schema / properties / sources / items / enumPrevious value: -[ - "wiki", - "pvx", - "gw1builds", - "youtube", - "reddit" -]New value: +[ + "wiki", + "pvx", + "scr", + "gw1builds", + "youtube", + "reddit" +]
- Changed
gw1_wiki_page1 field changed- changed
Input schema / properties / source / enumPrevious value: -[ - "gww", - "pvx" -]New value: +[ + "gww", + "pvx", + "scr" +]
- Changed
gw1_wiki_recent_changes1 field changed- changed
Input schema / properties / source / enumPrevious value: -[ - "gww", - "pvx" -]New value: +[ + "gww", + "pvx", + "scr" +]
- Changed
gw1_wiki_search1 field changed- changed
Input schema / properties / source / enumPrevious value: -[ - "gww", - "pvx", - "both" -]New value: +[ + "gww", + "pvx", + "scr", + "both" +]
2 tool updates
v1.3.5- Added
gw1_skill_index_provenance - Added
gw1_template_encode
12 tool updates
v0.2.0- First observed
gw1_builds_search - First observed
gw1_content_search - First observed
gw1_game_updates - First observed
gw1_local_inventory - First observed
gw1_sources - First observed
gw1_subreddit_search - First observed
gw1_template_code_analyze - First observed
gw1_wiki_page - First observed
gw1_wiki_recent_changes - First observed
gw1_wiki_search - First observed
gw1_youtube_sources - First observed
gw1_youtube_videos
TDQS
Scored across 14 tools
Each tool has a clearly defined target (wiki, Reddit, YouTube, builds, templates, local), and the cross-source content_search is explicitly an aggregate over the narrower searches. The only mild ambiguity is between gw1_sources and gw1_local_inventory, both touching local inventory, but one lists known surfaces and the other performs scanning.
All 14 tools share the gw1_ prefix, snake_case, and a predictable gw1_<domain>_<kind/action> shape (search, page, encode, analyze, videos, sources). This is a consistent convention even though some suffixes are nouns rather than verbs.
14 tools is within the ideal 3-15 range and each tool covers a distinct task, from wiki browsing to template encoding to cross-source search. None feel redundant or padding.
The set covers the main read/research workflows: wiki search/fetch/updates, community content search, build search, template encode/decode, and local inventory discovery. Minor gaps remain—no equipment/build template handling or wiki history/diff tools—but core workflows have no dead ends.
Maintenance
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
Read-only MCP for the Eco game wiki: search, Markdown pages, and wiki_* lookups. No keys, no writes.
Read-only MCP server for The Quiet Protocol's engines, benchmarks, proof, and business data.
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
Search MCP servers, MCP clients and AI agents, and retrieve listing details. Free, read-only access.
21
Related MCP Servers
AlicenseBqualityNot gradedmaintenanceMCP Server for interacting with Old School RuneScape Wiki API and game data files, providing tools to search the OSRS Wiki and access game data definitions through the Model Context Protocol.19411-- AlicenseNot gradedqualityCmaintenanceMCP 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.1913MIT
- AlicenseAqualityBmaintenanceRead-only MCP server for precise lookup, search, and versioned retrieval of OWASP testing guides (WSTG, MASTG, ISTG, AITG) with full provenance on every result.11Apache 2.0
- FlicenseAqualityBmaintenanceAn MCP server that answers Guild Wars 2 questions by searching the official wiki and GW2 API, with citations.19-