Skip to main content
ClaudeWave

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

MCP ServersOfficial Registry1 stars0 forksTypeScriptMITUpdated today
Install in Claude Code / Claude Desktop
Method: Manual
Claude Code CLI
git clone https://github.com/Graphmaxer/gw1-mcp
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "gw1-mcp": {
      "command": "node",
      "args": ["/path/to/gw1-mcp/dist/index.js"]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
💡 Clone https://github.com/Graphmaxer/gw1-mcp and follow its README for install instructions.
Use cases

MCP Servers overview

<p align="center">
  <img src="assets/brand/logo-512.png" alt="gw1-mcp logo — a golden scythe and an eight-slot skill bar" width="180" height="180">
</p>

<h1 align="center">gw1-mcp</h1>

<p align="center"><em>A Guild Wars 1 build compiler for LLMs</em></p>

<p align="center">
  <a href="https://codecov.io/gh/Graphmaxer/gw1-mcp"><img src="https://codecov.io/gh/Graphmaxer/gw1-mcp/branch/main/graph/badge.svg" alt="coverage"></a>
  <a href="https://github.com/Graphmaxer/gw1-mcp/actions/workflows/ci.yml"><img src="https://github.com/Graphmaxer/gw1-mcp/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
  <a href="https://github.com/Graphmaxer/gw1-mcp/releases/latest"><img src="https://img.shields.io/github/v/release/Graphmaxer/gw1-mcp" alt="latest release"></a>
  <a href="LICENSE"><img src="https://img.shields.io/github/license/Graphmaxer/gw1-mcp" alt="license"></a>
  <a href="https://github.com/Graphmaxer/gw1-mcp/commits/main"><img src="https://img.shields.io/github/last-commit/Graphmaxer/gw1-mcp" alt="last commit"></a>
  <a href="https://gw1mcp.grafana.net/public-dashboards/9002ddf3fb784b46847a65f4afe889fa"><img src="https://img.shields.io/badge/usage-live%20dashboard-orange" alt="live usage dashboard"></a>
</p>

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 1484 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

| Tool                       | Purpose                                                                                           |
| -------------------------- | ------------------------------------------------------------------------------------------------- |
| `get_skill`                | Full record for one skill (by exact name or template id), with closest-match suggestions on typos |
| `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` / `list_heroes` | Heroes with professions, campaigns and unlock notes                                               |
| `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 install
pnpm -r test
pnpm --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](https://github.com/build-wars/gw-templates))
- `packages/gw-data` — game data (1484 skills, Reforged-current) imported from [build-wars/gw-skilldata](https://github.com/build-wars/gw-skilldata) (code MIT; skill descriptions under GFDL / CC BY-NC-SA — see [THIRD_PARTY_NOTICES.md](./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 validation
pnpm --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 --latest
pnpm --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. 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](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](https://github.com/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](./THIRD_PARTY_NOTICES.md). Format documentation from the
[Guild Wars Wiki](https://wiki.guildwars.com/wiki/Skill_template_format)._

## 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](./CONTRIBUTING.md) to get started and
[CLAUDE.md](./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](./THIRD_PARTY_NOTICES.md).
cloudflare-workersguild-warsmcpmcp-servermodel-context-protocoltypescript

What people ask about gw1-mcp

What is Graphmaxer/gw1-mcp?

+

Graphmaxer/gw1-mcp is mcp servers for the Claude AI ecosystem. GW1 build compiler MCP server: skill data, template code encode/decode, validation, hero roster. Read-only. It has 1 GitHub stars and was last updated today.

How do I install gw1-mcp?

+

You can install gw1-mcp by cloning the repository (https://github.com/Graphmaxer/gw1-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is Graphmaxer/gw1-mcp safe to use?

+

Graphmaxer/gw1-mcp has not been audited yet by our security agent. Review the original repository on GitHub before using it in production.

Who maintains Graphmaxer/gw1-mcp?

+

Graphmaxer/gw1-mcp is maintained by Graphmaxer. The last recorded GitHub activity is from today, with 0 open issues.

Are there alternatives to gw1-mcp?

+

Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.

Deploy gw1-mcp to your cloud

Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.

Maintain this repo? Add a badge to your README

Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.

Featured on ClaudeWave: Graphmaxer/gw1-mcp
[![Featured on ClaudeWave](https://claudewave.com/api/badge/graphmaxer-gw1-mcp)](https://claudewave.com/repo/graphmaxer-gw1-mcp)
<a href="https://claudewave.com/repo/graphmaxer-gw1-mcp"><img src="https://claudewave.com/api/badge/graphmaxer-gw1-mcp" alt="Featured on ClaudeWave: Graphmaxer/gw1-mcp" width="320" height="64" /></a>

More MCP Servers

gw1-mcp alternatives