spec_version
Return this server's package version plus the pinned upstream commit SHA(s) the bundled data was indexed from.
Takes no parameters.

io.github.xyzzylabsPublished by GitHub account xyzzylabsv0.2.16Updated Oct 24, 2026
Read-only MCP server for the WebAssembly spec: instructions, types, sections, search, proposals.
Read-only MCP server for the WebAssembly spec, letting an assistant look up instructions, types, spec clauses and proposals.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.xyzzylabs%2Fwasm-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"wasm": {
"type": "http",
"url": "https://mcp.xyzzylabs.ai/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.
spec_version — the pinned upstream commit and package version.instruction_get — opcode bytes, category, introducing version,
stack type signature, validation + execution prose anchors / URLs,
and trap conditions (traps + can_trap), by mnemonic (i32.add)
or binary opcode (0x6a).instruction_list — enumerate, filterable by category (numeric,
vector, reference, parametric, variable, table, memory, control,
ref, i31, struct, array, extern), introducing version, or prefix.instruction_search — ranked free-text search across mnemonics,
categories, and opcodes.type_get — value types (number / vector / reference) and type
forms (functype, limits, memtype, …) with defining prose.section_get — one spec clause by id / anchor (structure,
validation, execution, binary, text), with prose, cross-references,
SpecTec formal-rule references, and the rendered URL.section_list — navigate the clause tree by area or anchor prefix.spec_search — full-text search across anchors, titles, and prose.proposal_list — WebAssembly proposals and their phases (from the
pinned WebAssembly/proposals repo), filterable by status, phase,
champion, or affected spec.section_get, section_list, and spec_search take a spec
argument covering all three specs in the WebAssembly/spec repo:
core (default), js-api (the JavaScript embedding API), and
web-api (Web-platform integration). The instruction and type tools
are core-only.
Every tool is:
vendor/PINNED.txt.Wire it into any MCP client by adding the server to its config (the launch command is the same everywhere; only the config file differs):
The Cloudflare Worker in worker/ exposes the same tool
surface as the stdio package over streamable HTTP at a single
unauthenticated endpoint, rate-limited per source IP (30 req / 60 s):
GET /wasm/health reports status and the pinned SHAs; GET /wasm/privacy
states the anonymous, no-storage posture. All spec data is bundled
into the Worker, so it does pure in-memory lookups — no storage, no
network at request time.
The pinned commits live in vendor/PINNED.txt
and are reported by spec_version. A scheduled GitHub Actions
workflow (refresh.yml) SHA-diffs
the upstream repos daily; when a pin moves it re-pins, bumps the patch
version, and tags a release, which publishes the npm package
(release.yml) and redeploys the
Worker (deploy-worker.yml).
Maintainers:
NPM_TOKEN. Configure it once on npmjs.com (wasm-mcp →
Settings → Trusted Publisher → GitHub Actions: org xyzzylabs, repo
wasm-mcp, workflow release.yml).CLOUDFLARE_API_TOKEN + CLOUDFLARE_ACCOUNT_ID,
stored as environment secrets on the cloudflare GitHub
Environment (not repo-wide) with a main + v* deployment rule —
see Securing the deploy credentials.WORKFLOW_PAT PAT (contents: write + workflows) —
without it, refresh still re-pins and tags, but you run release /
deploy manually. (Same secret name tc39-mcp uses, so one PAT — or an
xyzzylabs org secret — can serve both repos.)MIT — see LICENSE.
Source: README.md at commit 3a46742
Return this server's package version plus the pinned upstream commit SHA(s) the bundled data was indexed from.
Takes no parameters.
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; empty + `can_trap:false` when it never traps).
opcodemnemonicEnumerate 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.
prefixcan_trapcategoryintroduced_inRanked free-text search across instruction mnemonics, categories, and opcode hex. Returns hits with a `matched_on` field.
limitqueryrequiredLook up a value type (`i32`, `funcref`, `v128`, …) or type form (`functype`, `limits`, `memtype`, …): classification, sibling members, defining clause prose, formal refs, and URL.
namerequiredFetch 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.
idrequiredspecNavigate 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`.
pathspecmax_leveltitled_onlyanchor_prefixFull-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.
speclimitqueryrequiredList WebAssembly proposals + phases. Filter by `status` (phase-0…phase-5, finished, inactive), `phase` (0–5), `champion`, `affects` (core|js-api|web-api), or `contains`.
phasestatusaffectschampioncontains100% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
npx wasm-mcp{ "mcpServers": { "wasm": { "type": "stdio", "command": "npx", "args": ["wasm-mcp"] } }}https://mcp.xyzzylabs.ai/wasm/mcp