Guild Wars 2 keyless public endpoints (worlds, items, achievements, build, commerce).
This server has critical definition quality gaps. All 10 tools lack parameter descriptions entirely, the rubric requires descriptions for every parameter to guide LLM behavior. Tool descriptions are extremely terse (5-20 chars), well below the 10-1024 char baseline and the 50-200 char LLM-optimized target. No output schemas are documented. Parameter types are present but lack constraints (enums, ranges, formats). The 'ids' parameter appears in 6 tools but is never described, LLMs cannot infer whether to pass comma-separated strings, arrays, or individual values. No error handling guidance. No tool annotations (readOnlyHint, etc.). The server is a thin wrapper around the GW2 API with minimal agent-facing documentation.
Achievements.
Current build id.
Trading-post listings.
Trading-post prices.
Currencies.
Item lookup.
Professions.
Quaggan images.
All 10 tools lack parameter descriptions. The 'ids' parameter (used in 6 tools) has no description, LLMs cannot infer format (comma-separated string vs array vs individual IDs). The 'lang' parameter is undescribed. The 'page' and 'page_size' parameters lack range constraints or defaults.
Tool descriptions are extremely terse (5-20 characters). 'World list.', 'Item lookup.', 'Achievements.' provide no context for when to use each tool, what they return, or how they differ. Baseline is 50-200 chars for LLM-optimized descriptions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 33 | 2026-07-28+ | v2 |
World list.
Current WvW matches.
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields without knowing what each tool returns. The callTool function returns raw API responses without documentation of structure.
No error handling guidance. The callTool function throws generic errors ('GW2: {status}') with no recovery hints. LLMs cannot determine if errors are retryable, user-fixable, or fatal.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). While all tools are READ_ONLY, this is not declared in the schema. Modern MCP clients use annotations to optimize caching and retry logic.