wasm-mcp

Read-only MCP server for the WebAssembly spec: instructions, types, sections, search, proposals.

使うべきか

品質と安全性

A
説明の品質
97%
スキーマの完全性
88%
命名の品質
80%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(1)

  • LOWTool 'type_get' description lacks action verbtype_get 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~1,330トークン数(ツール定義)
~929 B一般的なレスポンスサイズ
注意への影響は中程度(128k コンテキストの 1.04%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "wasm-mcp": {
      "command": "npx",
      "args": [
        "wasm-mcp"
      ]
    }
  }
}

実行可能なパッケージ

npmwasm-mcp0.2.16stdio

リモートエンドポイント

https://wasm-mcp.chicoxyzzy.workers.dev/mcpstreamable-http
https://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
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 9 件
検証済みバージョンは記録されていませんツール 9 件
検証済みバージョンは記録されていませんツール 9 件
検証済みバージョンは記録されていませんツール 9 件