Guild Wars 1 Build Compiler
Server Details
GW1 build compiler: skill data, template code encode/decode, validation, hero roster. Read-only.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- Graphmaxer/gw1-mcp
- GitHub Stars
- 1
- Server Listing
- gw1-mcp
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.5/5 across 8 of 8 tools scored.
Each tool has a clear, distinct purpose: decode_pawned_team and decode_template handle different input formats, encode_template is the inverse of decode_template, get_hero/get_skill are exact lookups while list_heroes/search_skills are discovery tools, and validate_build is a separate rule-checking step. No two tools overlap in function.
All tool names follow a consistent verb_noun pattern in snake_case (decode, encode, get, list, search, validate). The verbs clearly indicate the action and the nouns clearly indicate the target, making the naming predictable and coherent.
With 8 tools, the server is well-scoped for its purpose. Each tool addresses a distinct need in the build compilation workflow: decoding, encoding, validation, and resource lookup. The count feels neither sparse nor overwhelming.
The tool surface covers the full lifecycle of working with GW1 build templates: decoding both single and team formats, encoding a build, validating it against game rules, and looking up skills and heroes needed to assemble a build. There are no obvious dead ends or missing operations for the stated purpose.
Available Tools
8 toolsdecode_pawned_teamDecode a paw-ned2 team templateARead-onlyIdempotentInspect
Decode a paw-ned2 team build blob (the 'pwnd0001...>...<' format shared on PvXwiki team pages and by the paw-ned2 tool) into its individual builds: player/hero label, description, and each skill bar fully decoded. Whitespace and line wraps in the pasted blob are tolerated. For a single (non-team) build code, use decode_template instead.
| Name | Required | Description | Default |
|---|---|---|---|
| pwnd | Yes | The full pwnd blob, starting with 'pwnd000' |
Output Schema
| Name | Required | Description |
|---|---|---|
| builds | Yes | One entry per team slot, in blob order |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior. The description adds useful behavioral details: tolerance for whitespace and line wraps, and a clear account of what the decoded output contains. This goes beyond the annotations without contradicting them.
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 sentences, each earning its place: main purpose with format and output, whitespace tolerance, and the alternative-tool pointer. No redundancy or filler.
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?
With a clear input description, explicit output breakdown, whitespace tolerance, and a named alternative for single builds, the description is fully complete for practical use. The presence of an output schema means return-value details need not be repeated.
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 already documents pwnd with a starting-prefix requirement and max length, providing 100% coverage. The description adds contextual meaning by giving the format example 'pwnd0001...>...<' and clarifying it is a team build blob, plus the whitespace-tolerance caveat—valuable beyond the schema.
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 ('Decode a paw-ned2 team build blob') and the resource/format, then specifies the output ('individual builds: player/hero label, description, and each skill bar fully decoded'). It explicitly distinguishes from the sibling tool decode_template, so there is no ambiguity about scope.
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 gives an explicit usage boundary: 'For a single (non-team) build code, use decode_template instead.' It also explains where these blobs are found (PvXwiki team pages, paw-ned2 tool), making it clear when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
decode_templateDecode a skill template codeARead-onlyIdempotentInspect
Decode an in-game GW1 skill template code (e.g. "OwpiMypMBg1cxcBAMBdmtIKAA") into professions, attribute allocations and the 8 skills with their stats and descriptions. This decodes a SINGLE build code; for a multi-hero paw-ned2 team blob, use decode_pawned_team instead.
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | The template code string |
Output Schema
| Name | Required | Description |
|---|---|---|
| raw | Yes | The raw decoded template (ids, not names) |
| skills | Yes | The 8 bar slots in order |
| primary | Yes | Primary profession name |
| secondary | Yes | Secondary profession name, null for none |
| attributes | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is clear. The description adds behavior context by specifying the output content (professions, attribute allocations, 8 skills with stats/descriptions) and the limitation to single codes. It does not repeat the annotations and is consistent with them.
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, with no wasted words. The first sentence front-loads the core function and output, the second provides a clear usage distinction and sibling pointer. The example is valuable and compact.
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 is simple (one parameter), the schema fully documents the parameter, output schema exists, and annotations cover safety. The description covers the purpose, the input format example, and the single-code scope. With output schema present, the description does not need to explain return values, making this sufficiently 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 schema provides 100% coverage for the single 'code' parameter (string, maxLength), so the baseline is 3. The description adds meaningful context by providing a concrete example ('OwpiMypMBg1cxcBAMBdmtIKAA'), clarifying it's an in-game GW1 skill template code, and emphasizing it's a single build code. This goes beyond the schema's generic 'string' description, so a 4 is justified.
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 decodes an in-game GW1 skill template code into professions, attribute allocations, and 8 skills with stats/descriptions. It explicitly distinguishes from decode_pawned_team by noting this handles a SINGLE build code, which differentiates it from siblings like decode_pawned_team. The verb 'decode' is specific and the resource is well-defined.
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 says this decodes a SINGLE build code, and for a multi-hero team blob, use decode_pawned_team instead. This provides clear when-to-use and when-not-to-use guidance with a named alternative. No other sibling tools compete for this exact job.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
encode_templateEncode a build into a template codeARead-onlyIdempotentInspect
Compile a build (professions, attributes, 8 skills by exact English name) into an official in-game template code. The build is validated first; on rule violations the errors are returned instead of a code. Unknown skill names return closest-match suggestions. IMPORTANT: template codes MUST come from this tool — never write or guess a code by hand, hand-written codes are invalid in-game. If unsure, verify any code with decode_template.
| Name | Required | Description | Default |
|---|---|---|---|
| forPvp | No | Set true for a PvP character's bar. PvP versions of split skills are only valid when this is true, and a PvP bar is expected to use them. | |
| skills | Yes | Exactly 8 skill names in bar order. Use null for an empty slot. Names must be exact English skill names. | |
| forHero | No | Set true if this bar is for a hero (PvE-only skills are flagged) | |
| primary | Yes | Primary profession, e.g. "Dervish" | |
| secondary | No | Secondary profession, e.g. "Monk". Omit or "None" for none. | |
| attributes | Yes | Attribute point allocations (template format caps this at 15 entries) | |
| unlockedSkillIds | No | Optional: unlocked skill ids from a GWToolbox account export (/exportaccount). Skills outside this list are flagged as warnings. |
Output Schema
| Name | Required | Description |
|---|---|---|
| code | No | Official in-game template code (present on success) |
| valid | No | false when the build resolved but is illegal; absent on the other two shapes |
| errors | No | Present (non-empty) when resolution failed or the build is invalid |
| warnings | No | Advisories accompanying a successful code |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even with readOnlyHint, idempotentHint, and destructiveHint annotations, the description adds valuable behavioral detail: validation before encoding, returning errors on rule violations, and returning closest-match suggestions for unknown skill names. This goes beyond what annotations state.
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?
Four sentences, each earning its place: purpose, validation behavior, unknown-name handling, and a critical usage warning with a cross-reference to decode_template. No filler or 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?
Given the output schema exists and annotations cover safety traits, the description supplies sufficient context: what the tool does, when to use it, how errors are handled, and what to do if uncertain. It is complete for a tool of this complexity.
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 the schema already documents all 7 parameters in detail. The description adds minimal parameter-specific semantics beyond restating 'exact English name' and the high-level categories (professions, attributes, 8 skills), which is already in the schema.
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 opens with a specific verb and resource: 'Compile a build ... into an official in-game template code.' It clearly distinguishes encode_template from siblings like decode_template and validate_build by stating its function is to produce a template code, not to decode or merely validate.
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 gives explicit usage guidance: template codes must come from this tool, never hand-written, and if unsure, verify with decode_template. It also states that the build is validated first, implying appropriate use cases and a fallback alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_heroGet a Guild Wars 1 heroARead-onlyIdempotentInspect
Look up a GW1 hero by name or by id (GWCA HeroID, matching the AccountExport plugin output). Returns profession, campaign and how the hero is unlocked. Remember: heroes can equip any skill unlocked at ACCOUNT level, but not most PvE-only skills. Use this for one known hero; to browse or filter the roster, use list_heroes instead.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | GWCA HeroID value | |
| name | No | Hero name, e.g. "Master of Whispers" |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | GWCA HeroID |
| name | Yes | |
| unlock | Yes | How the hero is recruited |
| campaign | Yes | |
| campaignId | Yes | |
| profession | Yes | |
| professionId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds contextual behavior: the note about heroes equipping account-unlocked skills and PvE-only restrictions, plus the return contents. It does not mention error handling or edge cases, but the annotations cover safety aspects, and the extra context about game mechanics adds value beyond annotations.
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 three sentences, front-loaded with the primary action and resource. Each sentence serves a distinct purpose: action/returns, relevant game mechanic, and usage guidance. There is no redundant or filler content.
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 lookup tool with an output schema and fully described parameters, the description covers all necessary aspects: what it does, when to use it, and how it differs from siblings. The note about hero skill mechanics also provides context an agent might need to interpret results correctly. Nothing essential is missing.
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?
Both parameters are fully described in the schema (100% coverage). The description adds clarity by explaining the id as 'GWCA HeroID, matching the AccountExport plugin output' and provides a concrete example for name ('Master of Whispers'). This goes beyond the schema's basic descriptions, making parameter usage unambiguous.
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's function: 'Look up a GW1 hero by name or by id', specifies the return values (profession, campaign, unlock method), and distinguishes it from the sibling tool list_heroes by explicitly mentioning 'Use this for one known hero; to browse or filter the roster, use list_heroes instead.'
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?
Provides explicit guidance on when to use this tool versus alternatives: 'Use this for one known hero; to browse or filter the roster, use list_heroes instead.' This directly addresses tool selection and mentions the alternative by name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_skillGet a Guild Wars 1 skillARead-onlyIdempotentInspect
Look up a single GW1 skill by exact English name or by template skill id. Returns full stats (energy, activation, recharge, adrenaline, sacrifice), profession, attribute, campaign, elite flag and description. If the name is not found, returns the closest matches so you can correct spelling. Use this when you already know the exact skill; to discover skills by profession, attribute or name fragment, use search_skills instead.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Template skill id | |
| name | No | Exact English skill name, e.g. "Mystic Regeneration" |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| name | Yes | |
| type | Yes | Skill type, e.g. Enchantment Spell |
| elite | Yes | |
| energy | Yes | |
| upkeep | Yes | |
| campaign | Yes | |
| overcast | Yes | |
| recharge | Yes | |
| attribute | Yes | |
| sacrifice | Yes | |
| activation | Yes | |
| adrenaline | Yes | |
| isRoleplay | Yes | PvE-only skill: max 3 per player bar, none on heroes |
| profession | Yes | |
| description | Yes | |
| isPvpVersion | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly and idempotent hints, so the description doesn't need to repeat safety. It adds the closest-match fallback behavior and the list of returned fields, which is helpful beyond the schema and annotations.
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 sentences, each contributing distinct value: purpose, behavior/fallback, and usage guidance. No wasted 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 a rich output schema and clear behavioral description including error/fallback behavior, the description is sufficiently complete. It also covers the primary alternative tool, making it contextually complete for selection.
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?
Both parameters are fully described in the input schema (100% coverage), so the baseline is 3. The description reinforces exact-name and template-ID semantics but doesn't add material new parameter details beyond the schema.
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 looks up a single GW1 skill by exact English name or template ID, with a specific verb and scope. It explicitly distinguishes itself from search_skills by noting the exact-skill use case, so it fully differentiates from siblings.
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?
Explicit guidance is provided: 'Use this when you already know the exact skill' and points to search_skills for discovery by profession/attribute/name fragment. This is a clear when-to-use and alternative recommendation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_heroesList Guild Wars 1 heroesARead-onlyIdempotentInspect
List all GW1 heroes, optionally filtered by profession or campaign name. Useful for team-building: shows which professions are coverable by heroes and how each hero is unlocked.
| Name | Required | Description | Default |
|---|---|---|---|
| campaignName | No | Filter by the campaign the hero is recruited in, exact English name: Prophecies, Factions, Nightfall or Eye of the North. | |
| professionName | No | Filter by the hero's profession, exact English name: Warrior, Ranger, Monk, Necromancer, Mesmer, Elementalist, Assassin, Ritualist, Paragon or Dervish. |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | Yes | |
| heroes | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so no additional safety disclosure is needed. The description adds context beyond annotations by revealing that the output shows which professions are coverable by heroes and how each hero is unlocked, which is helpful behavioral information about the tool's output. It doesn't describe pagination/ordering, but the presence of an output schema likely covers return structure.
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: the first states the primary action and optional filters, the second adds the use case and output value. It is front-loaded with the verb 'List' and contains 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?
For a simple list tool with rich schema coverage (both params fully described), read-only annotations, and an output schema, the description adequately covers purpose, usage context, and what the output conveys. No critical information is missing for an agent to select and invoke this 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 description coverage is 100%, with both parameters fully documented using exact allowed values. The description repeats 'profession or campaign name' without adding extra meaning beyond the schema, so the baseline of 3 is appropriate.
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 'List all GW1 heroes, optionally filtered by profession or campaign name' – a specific verb ('List') and resource ('GW1 heroes') with modifiers. It also implicitly distinguishes from the sibling get_hero by focusing on the list of all heroes rather than a single hero.
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 a concrete use case ('team-building') and indicates what the tool shows (professions coverable, unlock status). It does not explicitly mention alternative tools or when-not-to-use, but the context is clear enough for an agent to decide when this list tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_skillsSearch Guild Wars 1 skillsARead-onlyIdempotentInspect
Search the full GW1 skill database by profession, attribute, campaign, elite flag or name fragment (valid values are documented per parameter). Returns compact records; use get_skill for full details.
| Name | Required | Description | Default |
|---|---|---|---|
| elite | No | If true, return only elite skills; if false, only non-elite; omit for both. | |
| limit | No | Maximum number of records to return (1–200, default 50). Narrow filters if you hit it. | |
| offset | No | Number of records to skip, for paging through results beyond the limit. | |
| campaignName | No | Filter by campaign: Core, Prophecies, Factions, Nightfall, or Eye of the North. | |
| nameContains | No | Case-insensitive substring match on the skill name, e.g. "heal" matches every skill with 'heal' in its name. | |
| attributeName | No | Filter by attribute line, exact English name, e.g. "Blood Magic", "Swordsmanship", "Divine Favor". | |
| professionName | No | Filter by profession: Warrior, Ranger, Monk, Necromancer, Mesmer, Elementalist, Assassin, Ritualist, Paragon, Dervish, or None (common / PvE-only skills that belong to no profession). | |
| includePvpVersions | No | Include separate '(PvP)' skill versions. Default false — most builds want the PvE version only. |
Output Schema
| Name | Required | Description |
|---|---|---|
| total | Yes | Total matches before limit/offset are applied |
| skills | Yes | Compact records; use get_skill for full details |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, covering the safety profile. The description adds useful behavioral context by stating the tool returns 'compact records' rather than full data, and scopes it to the 'full GW1 skill database' — detail not present in annotations or schema alone.
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, zero fluff. The first sentence names the action and filter dimensions; the second gives output granularity and points to the sibling tool for detail. Every phrase 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?
The tool is moderately complex with 8 optional parameters and an output schema, but the schema already documents all parameter semantics and return structure. The description appropriately notes the compact-record nature and the get_skill alternative. It does not mention pagination behavior explicitly, though offset/limit are well-documented in the schema, so the description is sufficient for correct usage.
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 every parameter (elite, limit, offset, campaignName, nameContains, attributeName, professionName, includePvpVersions) already has a detailed description. The tool description adds only a high-level summary of filter dimensions and notes that valid values are documented per parameter, which does not materially exceed what the schema provides. Baseline 3 is appropriate.
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 the resource "full GW1 skill database", listing concrete filter dimensions (profession, attribute, campaign, elite flag, name fragment). It clearly distinguishes from the sibling get_skill by noting it returns compact records for searching rather than full details.
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 directs the agent to 'use get_skill for full details,' naming the appropriate alternative for follow-up lookups. It implies search_skills is for initial filtered discovery, but it does not enumerate scenarios where sibling search-like tools might be preferable, so it stops short of full when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_buildValidate a build against GW1 rulesARead-onlyIdempotentInspect
Check a build (professions, attributes, 8 skills by exact English name) against Guild Wars 1 rules: one elite max, profession/attribute ownership, primary attributes, duplicates, rank ranges. Returns { valid, errors, warnings } without encoding.
| Name | Required | Description | Default |
|---|---|---|---|
| forPvp | No | Set true for a PvP character's bar (PvP versions of split skills are only valid then). | |
| skills | Yes | Exactly 8 skill names in bar order. Use null for an empty slot. Names must be exact English skill names. | |
| forHero | No | Set true if this bar is for a hero (PvE-only skills are flagged) | |
| primary | Yes | Primary profession, e.g. "Dervish" | |
| secondary | No | Secondary profession, e.g. "Monk". Omit or "None" for none. | |
| attributes | Yes | Attribute point allocations (template format caps this at 15 entries) | |
| unlockedSkillIds | No | Optional: unlocked skill ids from a GWToolbox account export (/exportaccount). Skills outside this list are flagged as warnings. |
Output Schema
| Name | Required | Description |
|---|---|---|
| valid | Yes | Whether the build is legal in-game |
| errors | Yes | Blocking problems; empty when valid |
| warnings | Yes | Non-blocking advisories |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent behavior, so the description adds value by specifying the return structure ({valid, errors, warnings}) and explicitly noting it does not perform encoding. The listed validation rules also give the agent an accurate expectation of the tool's behavior without contradicting the annotations.
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 covers purpose, input format, validation rules, and return shape. It is slightly dense but contains no fluff. It earns a 4 rather than 5 because the long list of rules in one sentence could be slightly easier to parse if broken up.
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 7 parameters and the existence of an output schema, the description is quite complete: it states the input types (professions, attributes, 8 skills), key validation rules, return shape, and a distinguishing trait (no encoding). The output schema will fill in detailed return fields, so the description does not need to.
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 parameters are fully documented in the schema. The description adds minimal extra semantic value: it mentions 'exact English name' for skills and the general input of professions, attributes, and skills, but does not go beyond the schema. Baseline of 3 is appropriate.
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 starts with a specific verb 'Check' and clearly states the resource (a build) and the domain (Guild Wars 1 rules). It enumerates the exact rules validated and differentiates from sibling tools by emphasizing this is validation rather than encoding/decoding or retrieval.
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 clear context for when to use the tool: whenever one needs to validate a build against GW1 rules. While it doesn't explicitly name alternatives or exclusions, the sibling tools (encode/decode/search/get) are obviously different, so the usage context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseBqualityAmaintenanceRead-only MCP server for public Guild Wars 1 sources (wiki, builds, YouTube, Reddit) and optional local install inventory.Last updated141MIT
- AlicenseAqualityCmaintenanceProvides read-only access to OSRS Calc's skill calculators, training plans, FAQ, and official links for Old School RuneScape planning.Last updated2MIT
- Alicense-qualityCmaintenanceEnables querying Guild Wars 2 game data including items and achievements via natural language, part of the Pipeworx MCP gateway.Last updatedMIT
- Flicense-qualityBmaintenanceExposes comprehensive Pokémon data from the main games and Pokémon GO through MCP tools, including stats, evolutions, moves, types, abilities, items, and GO-specific features like raid bosses, Community Days, and IV estimation.Last updated25
Your Connectors
Sign in to create a connector for this server.