Atlas / MCP servers / graphmaxer / graphmaxer-gw1

graphmaxer-gw1SAFE

mcp/graphmaxer/gw1-mcp

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

Verdict
SAFE
Grade
B
Trust score
89 /100
Exposed tools
2 2r · 0w · 0d
Transport
stdio · streamable-http
License
MIT
Stars
1
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

gw1-mcp

A Guild Wars 1 build compiler for LLMs

An MCP (Model Context Protocol) server that gives any compatible LLM client (Claude, ChatGPT, Cursor...) reliable, deterministic knowledge o

Read from source at commit 7cda5812251aOBSERVED · 2026-10-11
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.

claude-code
claude mcp add gw-worker -- npx -y @gw1-mcp/[email protected]
claude-desktop
{
  "mcpServers": {
    "gw-worker": {
      "command": "npx",
      "args": [
        "-y",
        "@gw1-mcp/[email protected]"
      ]
    }
  }
}
03

Exposed tools (2)

2 read · 0 write · 0 destructive.

ToolRiskDescription
AegisreadTarget ally gains a 50% chance to block attacks.
gw1-mcpreadA Guild Wars 1 build compiler for LLMs
04

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (1 observation(s))
Network
declared (3 observation(s))
Shell
declared (1 observation(s))
Dependencies
not all pinned
Secrets in source
none-found

Findings (16)

LOWInventory / provenance · inv.hidden_file · CWE-1104
.oxfmtrc.json
.oxfmtrc.json
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWInventory / provenance · inv.hidden_file · CWE-1104
.release-please-manifest.json
.release-please-manifest.json
Why it matters. hidden member outside the usual dotfiles
Fix. review its purpose
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/gw-data/scripts/import/transform.ts:5
import { normalizeName } from "../../src/normalize.ts";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/gw-data/test/import-heroes.test.ts:19
new URL("../../../gwtoolbox-plugin/AccountExport/hero-names.generated.h", import.meta.url),
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/gw-data/test/provenance-cli.test.ts:26
const REPO_ROOT = resolve(import.meta.dirname, "../../..");
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/gw-data/test/repository.test.ts:258
const quoted = quotedCounts(read("../../../README.md"));
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/gw-data/test/repository.test.ts:275
for (const count of quotedCounts(read("../../../CLAUDE.md"))) {
LOWNetwork egress · net.beacon_words · CWE-200, CWE-319
.github/workflows/update-data.yml:10
# upstream could exfiltrate the job's secrets. So: `import` runs with zero
LOWObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
packages/gw-data/test/import-load.test.ts:437
expect(ok("Аegis")).toThrow(/unexpected characters/); // Cyrillic А homoglyph
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@vitest/coverage-v8, knip, oxfmt, oxlint, tsx, typescript, vitest
Why it matters. 7 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/gw-data/package.json
fastest-levenshtein, @buildwars/gw-skilldata, @codspeed/vitest-plugin, @types/node, ajv
Why it matters. 5 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/gw-mcp/package.json
@buildwars/gw-templates, @modelcontextprotocol/sdk, zod, @codspeed/vitest-plugin, @types/node, ajv, ajv-formats
Why it matters. 7 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/gw-template/package.json
@buildwars/gw-templates, @codspeed/vitest-plugin
Why it matters. 2 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/gw-worker/package.json
@hono/mcp, hono, @codspeed/vitest-plugin, @hono/node-server, @types/node, wrangler
Why it matters. 6 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWPrompt injection · prompt.override · CWE-94, CWE-1427
CLAUDE.md:588
the description gate because "Aegis. Ignore all previous instructions." is 40
Why it matters. asks the agent to drop prior instructions or safety
Fix. remove the instruction
LOWPrompt injection · prompt.transfer_instruction · CWE-94, CWE-1427
CHANGELOG.md:328
* **privacy/security:** correct three inaccurate claims (audit GW1-AUD-06) — /privacy no longer says the IP is 'never stored' (the rate limiter keeps a short-lived per-IP counter); security.txt now in
Why it matters. an instruction to move sensitive data to an outside destination
Fix. remove; a skill never needs the user's secrets off the machine

Gates applied: no_behavioural_pass.

Audited 2026-10-11 · audit v0.4.1 · source sha 7cda5812251afull audit observations/trust-audit/mcp-server/graphmaxer__gw1-mcp.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-117cda5812251aSAFEB89first audit
06

Questions

What is the graphmaxer-gw1 MCP server?

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

What tools does graphmaxer-gw1 expose?

2 in total: 2 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is graphmaxer-gw1 safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.

What credentials does graphmaxer-gw1 need?

No credential environment variables were found in its source, so it appears to need none.

How does graphmaxer-gw1 run?

It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as @gw1-mcp/gw-worker at 0.1.0.

How current is this page?

The grade is for one exact copy of the source (7cda5812251a), read on 2026-10-11. The repository is watched and re-audited when it changes.

Advertisement