wasm-mcp
Read-only MCP server for the WebAssembly spec: instructions, types, sections, search, proposals.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (1)
- LOWin type_get
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"wasm-mcp": {
"command": "npx",
"args": [
"wasm-mcp"
]
}
}
}Ausführbare Pakete
0.2.16stdioRemote-Endpunkte
https://wasm-mcp.chicoxyzzy.workers.dev/mcpstreamable-httphttps://mcp.xyzzylabs.ai/wasm/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (9)
🟢spec_version
Return this server's package version plus the pinned upstream commit SHA(s) the bundled data was indexed from.
Eingabe-Schema
{
"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).
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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`.
Eingabe-Schema
{
"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.
Eingabe-Schema
{
"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`.
Eingabe-Schema
{
"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
}Community
Nachweis