Guild Wars 1 Build Compiler

io.github.Graphmaxer由 GitHub 帳號 Graphmaxer 發布v1.1.3更新於 Nov 2, 2026

GW1 build compiler: skill data, template code encode/decode, validation, hero roster. Read-only.

已驗證Streamable HTTP可網頁執行知識與記憶開發者工具

概覽

AI 產生的概覽

激戰 1(Guild Wars 1)配裝編譯器:查詢技能與英雄、驗證配裝,並編碼或解碼官方遊戲內模板代碼。

可以做什麼
  • 依名稱、職業、屬性、章節、精英標記或名稱片段查詢與搜尋技能,拼字錯誤時提供最接近的建議
  • 將單一遊戲內模板代碼解碼為職業、屬性分配與八個技能及其數值
  • 將 paw-ned2 隊伍代碼解碼為每位玩家或英雄的技能列
  • 依激戰 1 規則驗證配裝,例如最多一個精英技能、屬性歸屬與重複技能
  • 將具名配裝編碼為官方遊戲內模板代碼
  • 依名稱、ID、職業或章節查詢或列出英雄,並附解鎖說明
適用情境
適合在助理協助規劃激戰 1 配裝時使用,需要準確的技能資料、經過規則驗證的配裝,以及真的能在遊戲中使用的模板代碼,而不是看似合理的猜測。也方便讀取 wiki 頁面上的配裝代碼與隊伍代碼。
執行需求
遠端 Streamable HTTP 端點;未宣告驗證、環境變數或標頭。README 中的自架方式需要 Node 22 以上與 pnpm,部署到 Cloudflare Workers 需先執行 wrangler 登入。
安裝前請注意
服務本身為唯讀,但其說明的選用 GWToolbox 匯出會把帳號狀態複製到剪貼簿,其中包含目前角色名稱,貼到公開場合前請先檢查。技能描述來自第三方資料,依 GFDL / CC BY-NC-SA 條款提供。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Guild Wars 1 Build Compiler,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.Graphmaxer%2Fgw1-mcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "guild-wars-1-build-compiler": {
      "type": "http",
      "url": "https://gw1-mcp.graphmaxer.workers.dev/mcp"
    }
  }
}

README

[gw1-mcp logo — a golden scythe and an eight-slot skill bar]

gw1-mcp

A Guild Wars 1 build compiler for LLMs

[coverage] [CI] [CodSpeed] [latest release] [license] [last commit] [live usage dashboard] [LobeHub MCP] [listed on mcp.so] [Glama connector, quality A]

An MCP (Model Context Protocol) server that gives any compatible LLM client (Claude, ChatGPT, Cursor…) reliable, deterministic knowledge of Guild Wars 1 builds: skill data lookup, official template code encoding/decoding, and build validation.

The MCP is a compiler, not a brain. The LLM does the strategic reasoning; this server does the things that must be exact.

Why not just ask the LLM?

Ask an AI assistant for a Guild Wars build without this server and you typically get: a plausible-sounding bar with a skill that does not exist, an attribute spread that exceeds the point budget, stats quoted from a decade-old balance patch — and a template code that decodes to garbage when you paste it in-game, because codes are bit-packed and cannot be hallucinated character-by-character.

With gw1-mcp connected, the same assistant looks up the 1516 real skills (current with Reforged balance, refreshed weekly), validates the build against the actual game rules, and hands you an official template code produced by an encoder — not predicted by a language model. The strategic conversation stays exactly as good as your assistant; the facts stop being wrong.

Tools

  • get_skill — full record for one skill (by exact name or template id), with closest-match suggestions on typos. Official French skill names resolve too (Sceau de guérison -> Healing Signet); every other name field is English-only
  • search_skills — filtered search: profession, attribute, campaign, elite, name substring
  • decode_template — in-game template code → professions, attributes, 8 skills with stats
  • encode_template — named build → validated, official in-game template code
  • validate_build — GW1 rule check: one elite max, profession/attribute ownership, primary attributes, duplicates
  • get_hero — hero record by exact name or GWCA id
  • list_heroes — hero roster with professions, campaigns and unlock notes, filterable by profession/campaign
  • decode_pawned_team — paw-ned2 team blobs (PvXwiki team pages) → every bar decoded

Resources: gw1://guide/build-workflow (methodology for the LLM), gw1://meta (professions, attribute lines, campaigns, skill-type list and data import date) and gw1://heroes.

Quick start

bash
pnpm installpnpm -r testpnpm --filter @gw1-mcp/gw-mcp dev   # stdio server

Packages

  • packages/gw-template — template code codec (zero dependencies; round-trip tested against in-game/PvX codes and differentially fuzzed against @buildwars/gw-templates)
  • packages/gw-data — game data (1516 skills, Reforged-current) imported from build-wars/gw-skilldata (code MIT; skill descriptions under GFDL / CC BY-NC-SA — see THIRD_PARTY_NOTICES.md)

The codec is verified four ways: 27 golden fixtures (including nine live in-game emissions) covering all 10 primary professions and all 5 campaigns (sourced from PvXwiki, gw1builds.com, the official wiki and the pre-2007 in-game format, several verified down to the skill-id level), fuzzed round-trips, differential testing against an independent implementation, and malformed-input rejection tests. Validation rules are table-tested one by one. pnpm test:coverage for the numbers.

  • packages/gw-mcp — the MCP server (transport-agnostic core + stdio entry)
  • packages/gw-worker — Streamable HTTP wrapper (Hono), runs on Cloudflare Workers and Node

Deploy to Cloudflare Workers

bash
pnpm --filter @gw1-mcp/gw-worker check    # offline bundling validationpnpm --filter @gw1-mcp/gw-worker deploy   # needs `wrangler login` once

The server is stateless (a fresh McpServer per request over bundled data), so it fits the Workers model with zero configuration: no Durable Objects, no KV, no secrets. Free plan is plenty.

Connect it

  • claude.ai / Claude app: Settings → Connectors → Add custom connector → https://gw1-mcp.<your-subdomain>.workers.dev/mcp
  • Claude Code: claude mcp add --transport http gw1 https://…/mcp or locally over stdio: claude mcp add gw1 -- pnpm --filter @gw1-mcp/gw-mcp dev
  • Local HTTP without Cloudflare: pnpm --filter @gw1-mcp/gw-worker dev:node then point any client at http://localhost:8787/mcp

Regenerating game data

bash
pnpm --filter @gw1-mcp/gw-data update @buildwars/gw-skilldata --latestpnpm --filter @gw1-mcp/gw-data run import:data# or, to import the upstream's published release files (what the weekly workflow does):pnpm --filter @gw1-mcp/gw-data run import:data -- https://build-wars.github.io/gw-skilldata

GWToolbox integration

gwtoolbox-plugin/ contains a read-only GWToolbox plugin adding /exportaccount: it copies your account state as JSON to the clipboard — which includes your current character's name, so read it before pasting it somewhere public. The export has two skill lists — learnedCharacterSkills (skills your current character has actually learned) and unlockedAccountSkills (everything unlocked account-wide, e.g. for heroes). Paste it in your conversation and pass the list that matches what you're building for as unlockedSkillIds to validate_build / encode_template: use learnedCharacterSkills for a build your character will equip, or unlockedAccountSkills for hero bars — proposed skills you don't own are flagged. Windows build instructions in gwtoolbox-plugin/README.md.

Roadmap

MCP resources for build archetypes and hero constraints, hero availability from campaign progression, and upstreaming the account export into GWToolbox itself. See CLAUDE.md for the full architecture notes.


This project is not affiliated with ArenaNet or NCSoft. Guild Wars is a trademark of NCSoft Corporation. Game data is imported from build-wars/gw-skilldata; its code is MIT but the skill descriptions originate from the Guild Wars community wikis under the GFDL and CC BY-NC-SA 2.5 (a NonCommercial license) — see THIRD_PARTY_NOTICES.md. Format documentation from the Guild Wars Wiki.

Development

bash
pnpm install && pnpm -r test

Node >= 22, pnpm 11. Nothing builds to dist — exports point at the .ts sources and the worker bundles via wrangler. See CONTRIBUTING.md to get started and CLAUDE.md for the full architecture, conventions and the honest register of known debts.

License

Source code: MIT (see LICENSE). Bundled game data carries separate terms — see THIRD_PARTY_NOTICES.md.

來源:README.md,提交 684b78a

工具

8

get_skill

Get a Guild Wars 1 skill

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.

輸入參數idname

search_skills

Search Guild Wars 1 skills

Search the full GW1 skill database by profession, attribute, campaign, elite flag or name fragment (valid values are documented per parameter). Returns compact records, at most `limit` of them alongside a `total` count of every match — a full page is not the whole result, page with offset. Use get_skill for full details.

輸入參數elitelimitoffsetcampaignNamenameContainsattributeNameprofessionNameincludePvpVersions

decode_template

Decode a skill template code

Decode an in-game GW1 skill template code (e.g. "OwpiMypMBg1cxcBAMBdmtIKAA") into professions, attribute allocations and the 8 skills with their stats and descriptions. Whitespace and line wraps in the pasted code are tolerated. This decodes a SINGLE build code; for a multi-hero paw-ned2 team blob, use decode_pawned_team instead.

輸入參數code必填

decode_pawned_team

Decode a paw-ned2 team template

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.

輸入參數pwnd必填

encode_template

Encode a build into a template code

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.

輸入參數forPvpskills必填forHeroprimary必填secondaryattributes必填unlockedSkillIds

validate_build

Validate a build against GW1 rules

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 — use encode_template instead when you also want the template code, since it runs these same rules and refuses on any error.

輸入參數forPvpskills必填forHeroprimary必填secondaryattributes必填unlockedSkillIds

get_hero

Get a Guild Wars 1 hero

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 NO PvE-only skill at all — including Signet of Capture. validate_build with forHero=true reports each one as an error, not a warning. Use this for one known hero; to browse or filter the roster, use list_heroes instead.

輸入參數idname

list_heroes

List Guild Wars 1 heroes

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.

輸入參數campaignNameprofessionName

版本歷史

1
  1. v1.1.3最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分