wasm-mcp
Read-only MCP server for the WebAssembly spec: instructions, types, sections, search, proposals.
使うべきか
品質と安全性
検出事項(1)
- LOWtype_get 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"wasm-mcp": {
"command": "npx",
"args": [
"wasm-mcp"
]
}
}
}実行可能なパッケージ
0.2.16stdioリモートエンドポイント
https://wasm-mcp.chicoxyzzy.workers.dev/mcpstreamable-httphttps://mcp.xyzzylabs.ai/wasm/mcpstreamable-httpできること
ツール一覧
ツール(9)
🟢spec_version
Return this server's package version plus the pinned upstream commit SHA(s) the bundled data was indexed from.
入力スキーマ
{
"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).
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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.
入力スキーマ
{
"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`.
入力スキーマ
{
"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.
入力スキーマ
{
"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`.
入力スキーマ
{
"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
}コミュニティ
エビデンス