Guild Wars 1 Build Compiler
REMOTE · GW1-MCP.GRAPHMAXER.WORKERS.DEV · SCANNED AUG 3
GW1 build compiler: skill data, template code encode/decode, validation, hero roster. Read-only.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS not yet verified: we couldn't determine whether a plaintext access path exists. View diagnostics → Unverified
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability84
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1552 tokens (~141/item across 11 items; 8 tools + 3 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · gw1-mcp.graphmaxer.workers.dev
claude mcp add --transport http graphmaxer-gw1-mcp https://gw1-mcp.graphmaxer.workers.dev/mcp
[mcp_servers.graphmaxer-gw1-mcp] url = "https://gw1-mcp.graphmaxer.workers.dev/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"graphmaxer-gw1-mcp": {
"type": "remote",
"url": "https://gw1-mcp.graphmaxer.workers.dev/mcp",
"enabled": true
}
}
} openclaw mcp add graphmaxer-gw1-mcp --url https://gw1-mcp.graphmaxer.workers.dev/mcp --transport streamable-http
mcp_servers:
graphmaxer-gw1-mcp:
url: "https://gw1-mcp.graphmaxer.workers.dev/mcp" {
"mcpServers": {
"graphmaxer-gw1-mcp": {
"type": "http",
"url": "https://gw1-mcp.graphmaxer.workers.dev/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 31 Jul 26 +1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 +1
- Tool coverage: 90% → 100% ▲ functional
- 29 Jul 26 +1
- Server version: 0.9.0 → 0.9.1 functional
- 28 Jul 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Jul 26 66
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Probed https://gw1-mcp.graphmaxer.workers.dev/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=graphmaxer.workers.dev | CN=WE1,O=Google Trust Services,C=US | 11 Jul 2026 | 9 Oct 2026 | ECDSA 256 | ECDSA-SHA256 | b8fc6257136ee7eb0eedc44207d41d8e |
| SANs: graphmaxer.workers.dev, *.graphmaxer.workers.dev | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
DNSSEC insecure
Validation of gw1-mcp.graphmaxer.workers.dev. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| dev. | present | 60074 | 8 | Verified |
| workers.dev. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| x-content-type-options | nosniff |
| referrer-policy | no-referrer |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://gw1-mcp.graphmaxer.workers.dev/mcp | Verified | 200 | |
| http (plaintext) | http://gw1-mcp.graphmaxer.workers.dev/mcp | Inconclusive | 405 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
decode_pawned_team Decode a paw-ned2 team template ~114
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 | Type | Req | Description |
|---|---|---|---|
| pwnd | string | yes | The full pwnd blob, starting with 'pwnd000' |
| Name | Type | Req | Description |
|---|---|---|---|
| builds | array | yes | One entry per team slot, in blob order |
No examples provided.
decode_template Decode a skill template code ~93
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 | Type | Req | Description |
|---|---|---|---|
| code | string | yes | The template code string |
| Name | Type | Req | Description |
|---|---|---|---|
| attributes | array | yes | — |
| primary | string | yes | Primary profession name |
| raw | — | yes | The raw decoded template (ids, not names) |
| secondary | — | yes | Secondary profession name, null for none |
| skills | array | yes | The 8 bar slots in order |
No examples provided.
encode_template Encode a build into a template code ~287
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 | Type | Req | Description |
|---|---|---|---|
| attributes | array | yes | Attribute point allocations (template format caps this at 15 entries) |
| forHero | boolean | — | Set true if this bar is for a hero (PvE-only skills are flagged) |
| forPvp | boolean | — | 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. |
| primary | string | yes | Primary profession, e.g. "Dervish" |
| secondary | string | — | Secondary profession, e.g. "Monk". Omit or "None" for none. |
| skills | array | yes | Exactly 8 skill names in bar order. Use null for an empty slot. Names must be exact English skill names. |
| unlockedSkillIds | array | — | Optional: unlocked skill ids from a GWToolbox account export (/exportaccount). Skills outside this list are flagged as warnings. |
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | — | Official in-game template code (present on success) |
| errors | array | — | Present (non-empty) when resolution failed or the build is invalid |
| valid | boolean | — | false when the build resolved but is illegal; absent on the other two shapes |
| warnings | array | — | Advisories accompanying a successful code |
No examples provided.
get_hero Get a Guild Wars 1 hero ~114
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 | Type | Req | Description |
|---|---|---|---|
| id | integer | — | GWCA HeroID value |
| name | string | — | Hero name, e.g. "Master of Whispers" |
| Name | Type | Req | Description |
|---|---|---|---|
| campaign | — | yes | — |
| campaignId | integer | yes | — |
| id | integer | yes | GWCA HeroID |
| name | string | yes | — |
| profession | — | yes | — |
| professionId | integer | yes | — |
| unlock | string | yes | How the hero is recruited |
No examples provided.
get_skill Get a Guild Wars 1 skill ~124
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 | Type | Req | Description |
|---|---|---|---|
| id | integer | — | Template skill id |
| name | string | — | Exact English skill name, e.g. "Mystic Regeneration" |
| Name | Type | Req | Description |
|---|---|---|---|
| activation | number | yes | — |
| adrenaline | number | yes | — |
| attribute | — | yes | — |
| campaign | — | yes | — |
| description | string | yes | — |
| elite | boolean | yes | — |
| energy | number | yes | — |
| id | integer | yes | — |
| isPvpVersion | boolean | yes | — |
| isRoleplay | boolean | yes | PvE-only skill: max 3 per player bar, none on heroes |
| name | string | yes | — |
| overcast | number | yes | — |
| profession | — | yes | — |
| recharge | number | yes | — |
| sacrifice | number | yes | — |
| type | — | yes | Skill type, e.g. Enchantment Spell |
| upkeep | number | yes | — |
No examples provided.
list_heroes List Guild Wars 1 heroes ~125
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 | Type | Req | Description |
|---|---|---|---|
| campaignName | string | — | Filter by the campaign the hero is recruited in, exact English name: Prophecies, Factions, Nightfall or Eye of the North. |
| professionName | string | — | Filter by the hero's profession, exact English name: Warrior, Ranger, Monk, Necromancer, Mesmer, Elementalist, Assassin, Ritualist, Paragon or Dervish. |
| Name | Type | Req | Description |
|---|---|---|---|
| heroes | array | yes | — |
| total | integer | yes | — |
No examples provided.
search_skills Search Guild Wars 1 skills ~300
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 | Type | Req | Description |
|---|---|---|---|
| attributeName | string | — | Filter by attribute line, exact English name, e.g. "Blood Magic", "Swordsmanship", "Divine Favor". |
| campaignName | string | — | Filter by campaign: Core, Prophecies, Factions, Nightfall, or Eye of the North. |
| elite | boolean | — | If true, return only elite skills; if false, only non-elite; omit for both. |
| includePvpVersions | boolean | — | Include separate '(PvP)' skill versions. Default false — most builds want the PvE version only. |
| limit | integer | — | Maximum number of records to return (1–200, default 50). Narrow filters if you hit it. |
| nameContains | string | — | Case-insensitive substring match on the skill name, e.g. "heal" matches every skill with 'heal' in its name. |
| offset | integer | — | Number of records to skip, for paging through results beyond the limit. |
| professionName | string | — | Filter by profession: Warrior, Ranger, Monk, Necromancer, Mesmer, Elementalist, Assassin, Ritualist, Paragon, Dervish, or None (common / PvE-only skills that belong to no profession). |
| Name | Type | Req | Description |
|---|---|---|---|
| skills | array | yes | Compact records; use get_skill for full details |
| total | integer | yes | Total matches before limit/offset are applied |
No examples provided.
validate_build Validate a build against GW1 rules ~237
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 | Type | Req | Description |
|---|---|---|---|
| attributes | array | yes | Attribute point allocations (template format caps this at 15 entries) |
| forHero | boolean | — | Set true if this bar is for a hero (PvE-only skills are flagged) |
| forPvp | boolean | — | Set true for a PvP character's bar (PvP versions of split skills are only valid then). |
| primary | string | yes | Primary profession, e.g. "Dervish" |
| secondary | string | — | Secondary profession, e.g. "Monk". Omit or "None" for none. |
| skills | array | yes | Exactly 8 skill names in bar order. Use null for an empty slot. Names must be exact English skill names. |
| unlockedSkillIds | array | — | Optional: unlocked skill ids from a GWToolbox account export (/exportaccount). Skills outside this list are flagged as warnings. |
| Name | Type | Req | Description |
|---|---|---|---|
| errors | array | yes | Blocking problems; empty when valid |
| valid | boolean | yes | Whether the build is legal in-game |
| warnings | array | yes | Non-blocking advisories |
No examples provided.