Skip to main content
ClaudeWave

MCP server for the WebAssembly specification. SHA-pinned instructions, types, sections, full-text search, and proposals — read-only, deterministic, hosted-safe. Not affiliated with the W3C WebAssembly CG/WG.

MCP ServersRegistry oficial2 estrellas0 forksTypeScriptMITActualizado today
ClaudeWave Trust Score
87/100
Trusted
Passed
  • Open-source license (MIT)
  • Actively maintained (<30d)
  • Clear description
  • Topics declared
Last scanned: 6/11/2026
Install in Claude Code / Claude Desktop
Method: NPX · wasm-mcp
Claude Code CLI
claude mcp add wasm-mcp -- npx -y wasm-mcp
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "wasm-mcp": {
      "command": "npx",
      "args": ["-y", "wasm-mcp"]
    }
  }
}
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.
Casos de uso

Resumen de MCP Servers

# wasm-mcp

Model Context Protocol server for the
[WebAssembly core specification](https://webassembly.github.io/spec/core/).
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

- `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.

## Contract

Every tool is:

- **Read-only.** No state mutation, no writes outside an optional
  local cache.
- **Deterministic.** Same input → same output, over the pinned spec
  commit recorded in [`vendor/PINNED.txt`](vendor/PINNED.txt).
- **No execution.** Never compiles, validates-by-running,
  instantiates, or runs any WebAssembly or arbitrary code. Validation
  and reduction rules are returned as data.
- **No auth, no secrets, no PII.** Usable anonymously.
- **No network at request time.** All spec data is fetched and
  indexed at build time and baked into the package.

## Install (stdio, local)

```bash
npx wasm-mcp
```

Wire into Claude Code by adding to your project's `.mcp.json`:

```json
{
  "mcpServers": {
    "wasm": {
      "type": "stdio",
      "command": "npx",
      "args": ["wasm-mcp"]
    }
  }
}
```

## Hosted Worker

The Cloudflare Worker in [`worker/`](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):

```
https://wasm-mcp.chicoxyzzy.workers.dev/mcp
```

`GET /health` reports status and the pinned SHAs; `GET /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.

## Releases & data refresh

The pinned commits live in [`vendor/PINNED.txt`](vendor/PINNED.txt)
and are reported by `spec_version`. A scheduled GitHub Actions
workflow ([`refresh.yml`](.github/workflows/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`](.github/workflows/release.yml)) and redeploys the
Worker ([`deploy-worker.yml`](.github/workflows/deploy-worker.yml)).

Maintainers:

- **npm publish** uses [Trusted Publishing](https://docs.npmjs.com/trusted-publishers)
  (OIDC) — no `NPM_TOKEN`. Configure it once on npmjs.com (wasm-mcp →
  Settings → Trusted Publisher → GitHub Actions: org `xyzzylabs`, repo
  `wasm-mcp`, workflow `release.yml`).
- **Worker deploy** needs `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](https://github.com/xyzzylabs/wasm-mcp/blob/main/docs/deployment.md#securing-the-deploy-credentials).
- For the refresh workflow's tag push to trigger release + deploy,
  add a `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.)

## License

MIT — see [`LICENSE`](LICENSE).
language-specmcpmodel-context-protocolspecificationwasmwebassembly

Lo que la gente pregunta sobre wasm-mcp

¿Qué es xyzzylabs/wasm-mcp?

+

xyzzylabs/wasm-mcp es mcp servers para el ecosistema de Claude AI. MCP server for the WebAssembly specification. SHA-pinned instructions, types, sections, full-text search, and proposals — read-only, deterministic, hosted-safe. Not affiliated with the W3C WebAssembly CG/WG. Tiene 2 estrellas en GitHub y se actualizó por última vez today.

¿Cómo se instala wasm-mcp?

+

Puedes instalar wasm-mcp clonando el repositorio (https://github.com/xyzzylabs/wasm-mcp) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar xyzzylabs/wasm-mcp?

+

Nuestro agente de seguridad ha analizado xyzzylabs/wasm-mcp y le ha asignado un Trust Score de 87/100 (tier: Trusted). Revisa el desglose completo de comprobaciones superadas y flags en esta página.

¿Quién mantiene xyzzylabs/wasm-mcp?

+

xyzzylabs/wasm-mcp es mantenido por xyzzylabs. La última actividad registrada en GitHub es de today, con 0 issues abiertos.

¿Hay alternativas a wasm-mcp?

+

Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.

Despliega wasm-mcp en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

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

Más MCP Servers

Alternativas a wasm-mcp