
wasm-mcp
Gives Claude read-only access to the WebAssembly core specification, pinned to a specific commit for deterministic results. Query individual instructions by mnemonic or opcode to get stack signatures, validation rules, and trap conditions. Search the spec with free text, navigate section trees across core/js-api/web-api, and list WebAssembly proposals by phase or champion. All spec data is baked in at build time, so there's no runtime network or code execution. Useful when you're writing or debugging Wasm tooling, need to verify instruction semantics, or want Claude to reference formal validation rules without hallucinating. Available as a local stdio server via npx or a public unauthenticated HTTP endpoint with per-IP rate limiting.
- GitHub stars
- 2
- tools
- 9
- transport
- STDIO, HTTP
- last updated
- Jul 11, 2026
Install
From registry metadata$ npx add-mcp https://mcp.xyzzylabs.ai/wasm/mcp --name wasm-mcpRun in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Other ways
Claude Code
$ claude mcp add --transport http wasm-mcp https://mcp.xyzzylabs.ai/wasm/mcpRun in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 9 toolsVerified live against the running server on Nov 6, 2026.
spec_versionReturn this server's package version plus the pinned upstream commit SHA(s) the bundled data was indexed from.
Return this server's package version plus the pinned upstream commit SHA(s) the bundled data was indexed from.
No parameters. Call it with no arguments.
instruction_getFetch one WebAssembly instruction by mnemonic (`i32.add`) or binary opcode (`0x6a`, multi-byte `0xfd 0x89 0x02`): opcode bytes, category, introducing version, stack type signature, validation/execution anchors + URLs, and `traps` (runtime trap conditions with canonical names;...2 params
Fetch one WebAssembly instruction by mnemonic (`i32.add`) or binary opcode (`0x6a`, multi-byte `0xfd 0x89 0x02`): opcode bytes, category, introducing version, stack type signature, validation/execution anchors + URLs, and `traps` (runtime trap conditions with canonical names;...
mnemonicstringopcodestringinstruction_listEnumerate WebAssembly instructions, filterable by `category`, `introduced_in` (1.0|2.0|3.0), mnemonic `prefix`, and `can_trap` (only trapping / only non-trapping). Rows (incl. `can_trap`) sorted by opcode.4 params
Enumerate WebAssembly instructions, filterable by `category`, `introduced_in` (1.0|2.0|3.0), mnemonic `prefix`, and `can_trap` (only trapping / only non-trapping). Rows (incl. `can_trap`) sorted by opcode.
can_trapbooleancategorystringcontrol · numeric · parametric · variable · table · memoryintroduced_instring1.0 · 2.0 · 3.0prefixstringinstruction_searchRanked free-text search across instruction mnemonics, categories, and opcode hex. Returns hits with a `matched_on` field.2 params
Ranked free-text search across instruction mnemonics, categories, and opcode hex. Returns hits with a `matched_on` field.
limitintegerquery*stringtype_getLook up a value type (`i32`, `funcref`, `v128`, …) or type form (`functype`, `limits`, `memtype`, …): classification, sibling members, defining clause prose, formal refs, and URL.1 params
Look up a value type (`i32`, `funcref`, `v128`, …) or type form (`functype`, `limits`, `memtype`, …): classification, sibling members, defining clause prose, formal refs, and URL.
name*stringsection_getFetch one spec clause by id or anchor across `core` / `js-api` / `web-api` (`syntax-numtype`, `valid-unreachable`, `modules`, `streaming-modules`, …): title, prose, cross-references, SpecTec formal refs, and rendered URL.2 params
Fetch one spec clause by id or anchor across `core` / `js-api` / `web-api` (`syntax-numtype`, `valid-unreachable`, `modules`, `streaming-modules`, …): title, prose, cross-references, SpecTec formal refs, and rendered URL.
id*stringspecstringcore · js-api · web-apisection_listNavigate the clause tree of a spec (`core` / `js-api` / `web-api`), filterable by source `path` (`syntax`, `valid`, `exec`, `binary`, `text`, `appendix`), `anchor_prefix`, `titled_only`, and `max_level`.5 params
Navigate the clause tree of a spec (`core` / `js-api` / `web-api`), filterable by source `path` (`syntax`, `valid`, `exec`, `binary`, `text`, `appendix`), `anchor_prefix`, `titled_only`, and `max_level`.
anchor_prefixstringmax_levelintegerpathstringspecstringcore · js-api · web-apititled_onlybooleanspec_searchFull-text search across clause anchors, titles, and prose of a spec (`core` / `js-api` / `web-api`). Ranked anchor-exact > title > anchor > prose, with snippets for body matches.3 params
Full-text search across clause anchors, titles, and prose of a spec (`core` / `js-api` / `web-api`). Ranked anchor-exact > title > anchor > prose, with snippets for body matches.
limitintegerquery*stringspecstringcore · js-api · web-apiproposal_listList WebAssembly proposals + phases. Filter by `status` (phase-0…phase-5, finished, inactive), `phase` (0–5), `champion`, `affects` (core|js-api|web-api), or `contains`.5 params
List WebAssembly proposals + phases. Filter by `status` (phase-0…phase-5, finished, inactive), `phase` (0–5), `champion`, `affects` (core|js-api|web-api), or `contains`.
affectsstringchampionstringcontainsstringphaseintegerstatusstringphase-0 · phase-1 · phase-2 · phase-3 · phase-4 · phase-5Sponsors
Readme
wasm-mcp
Model Context Protocol server for the WebAssembly core specification. SHA-pinned, read-only, deterministic — safe to host as a public unauthenticated endpoint.
Not affiliated with, endorsed by, or sponsored by the W3C WebAssembly Community Group or Working Group.
What it gives you
Details
- Repository
- github.com/xyzzylabs/wasm-mcp
- Website
- mcp.xyzzylabs.ai/wasm
- Category
- Search & Web Crawling
- Package
wasm-mcp- Transport
- STDIO, HTTP
- Registry
- MCP registry, active
- Tools verified
- Nov 6, 2026