wasm-mcp

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

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
97%
Integridad del esquema
88%
Calidad de los nombres
80%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (1)

  • LOWTool 'type_get' description lacks action verben type_get

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,330Tokens (definiciones de herramientas)
~929 BTamaño de respuesta típico
Impacto moderado en la atención (1.04% del contexto de 128k)

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

npmwasm-mcp0.2.16stdio

Puntos de conexión remotos

https://wasm-mcp.chicoxyzzy.workers.dev/mcpstreamable-http
https://mcp.xyzzylabs.ai/wasm/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (9)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada9 herramientas
verificadoversión no registrada9 herramientas
verificadoversión no registrada9 herramientas
verificadoversión no registrada9 herramientas
verificadoversión no registrada9 herramientas
verificadoversión no registrada9 herramientas