wasm-mcp
Read-only MCP server for the WebAssembly spec: instructions, types, sections, search, proposals.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen type_get
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"wasm-mcp": {
"command": "npx",
"args": [
"wasm-mcp"
]
}
}
}Paquetes ejecutables
0.2.16stdioPuntos de conexión remotos
https://wasm-mcp.chicoxyzzy.workers.dev/mcpstreamable-httphttps://mcp.xyzzylabs.ai/wasm/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (9)
🟢spec_version
Return this server's package version plus the pinned upstream commit SHA(s) the bundled data was indexed from.
Esquema de entrada
{
"type": "object",
"properties": {},
"additionalProperties": false
}🟢instruction_get(mnemonic, opcode)
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).
Esquema de entrada
{
"type": "object",
"properties": {
"mnemonic": {
"type": "string",
"description": "Instruction mnemonic, e.g. `i32.add`. Case-insensitive, exact."
},
"opcode": {
"type": "string",
"description": "Binary opcode hex, e.g. `0x6a` or `0xfd 0x89 0x02`. Exact."
}
},
"additionalProperties": false
}🟢instruction_list(category, introduced_in, prefix, can_trap)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"control",
"numeric",
"parametric",
"variable",
"table",
"memory",
"ref",
"i31",
"struct",
"array",
"extern",
"vec"
],
"description": "Instruction category."
},
"introduced_in": {
"type": "string",
"enum": [
"1.0",
"2.0",
"3.0"
],
"description": "Introducing version."
},
"prefix": {
"type": "string",
"description": "Mnemonic prefix, e.g. `i32.`. Case-insensitive."
},
"can_trap": {
"type": "boolean",
"description": "Keep only instructions that can (true) / cannot (false) trap."
}
},
"additionalProperties": false
}🟢instruction_search(query, limit)
Ranked free-text search across instruction mnemonics, categories, and opcode hex. Returns hits with a `matched_on` field.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search text."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Max hits."
}
},
"required": [
"query"
],
"additionalProperties": false
}🟢type_get(name)
Look up a value type (`i32`, `funcref`, `v128`, …) or type form (`functype`, `limits`, `memtype`, …): classification, sibling members, defining clause prose, formal refs, and URL.
Esquema de entrada
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Type or type-form name. Case-insensitive, exact."
}
},
"required": [
"name"
],
"additionalProperties": false
}🟢section_get(id, spec)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Clause id or anchor."
},
"spec": {
"type": "string",
"enum": [
"core",
"js-api",
"web-api"
],
"description": "Which spec (default core)."
}
},
"required": [
"id"
],
"additionalProperties": false
}🟢section_list(spec, path, anchor_prefix, titled_only, max_level)
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`.
Esquema de entrada
{
"type": "object",
"properties": {
"spec": {
"type": "string",
"enum": [
"core",
"js-api",
"web-api"
],
"description": "Which spec (default core)."
},
"path": {
"type": "string",
"description": "Source path / prefix."
},
"anchor_prefix": {
"type": "string",
"description": "Id/anchor prefix."
},
"titled_only": {
"type": "boolean",
"description": "Drop anchor-only blocks."
},
"max_level": {
"type": "integer",
"minimum": 1,
"maximum": 6,
"description": "Cap heading depth."
}
},
"additionalProperties": false
}🟢spec_search(query, spec, limit)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Search text."
},
"spec": {
"type": "string",
"enum": [
"core",
"js-api",
"web-api"
],
"description": "Which spec (default core)."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Max hits."
}
},
"required": [
"query"
],
"additionalProperties": false
}🟢proposal_list(status, phase, champion, affects, contains)
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`.
Esquema de entrada
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"phase-0",
"phase-1",
"phase-2",
"phase-3",
"phase-4",
"phase-5",
"finished",
"inactive"
],
"description": "Lifecycle status."
},
"phase": {
"type": "integer",
"minimum": 0,
"maximum": 5,
"description": "Numeric phase 0–5."
},
"champion": {
"type": "string",
"description": "Champion substring."
},
"affects": {
"type": "string",
"description": "Affected spec (finished only)."
},
"contains": {
"type": "string",
"description": "Name/champion substring."
}
},
"additionalProperties": false
}Comunidad
Evidencia