Server definition
- Hash
- sha256:6d16b4f80f9e60db534f385ae4aa8b77e14d4a396f80e47e255b45ef5e236a38
- What it is
- What a remote MCP server returned when asked what it offers: 9 tools
The blob, as servednamed by its sha256
{
"instructions": "wasm-mcp serves read-only structured data from the WebAssembly core\nspecification (https://github.com/WebAssembly/spec). Every response\nis deterministic over data pinned to a specific upstream commit and\nbaked into the package at build time.\n\nNot affiliated with, endorsed by, or sponsored by the W3C WebAssembly\nCommunity Group or Working Group.\n\nCommon workflow:\n 1. `spec_version` — call first when you need to cite the spec or\n report what you're reading. Returns the pinned upstream commit.\n 2. `instruction_search` — find an instruction from a partial name\n or symptom (\"extend\", \"trunc\", \"0x6a\") when you don't know the\n exact mnemonic. Returns ranked lightweight hits.\n 3. `instruction_get { mnemonic }` or `{ opcode }` — the full\n record for one instruction: opcode bytes, category, stack type\n signature, and validation/execution prose anchors + URLs.\n 4. `instruction_list { category? }` — enumerate instructions,\n filterable by category, introducing version, or mnemonic prefix.\n 5. `type_get { name }` — a value type or type form ('i32',\n 'funcref', 'functype', 'limits') with its defining clause prose.\n 6. `spec_search { query }` — full-text search across clause\n anchors, titles, and prose when you don't know the anchor.\n 7. `section_get { id, spec? }` — one spec clause by anchor (e.g.\n 'syntax-numtype', 'valid-unreachable'): prose, cross-refs,\n SpecTec formal-rule references, and the rendered URL.\n 8. `section_list { spec?, path? }` — navigate the clause tree,\n scoped to an area ('syntax', 'valid', 'exec', 'binary', 'text',\n 'appendix').\n\nThe section tools (section_get / section_list / spec_search) cover\nthree specs via a 'spec' argument: 'core' (default — the instruction\nset, validation, execution, binary + text formats), 'js-api' (the\nJavaScript embedding API), and 'web-api' (Web-platform integration).\nThe instruction and type tools are 'core'-only.\n 9. `proposal_list { status? }` — WebAssembly proposals and their\n phases, from the pinned WebAssembly/proposals repo.\n\nNote on formal notation. Since 2025 the spec is authored in SpecTec;\nvalidation / execution clauses are generated from formal rules. This\nserver keeps the hand-written prose and records each clause's SpecTec\nrule names in 'formal_refs', with 'url' linking the rendered\nnotation. It does not itself render the formal grammar / reduction\nrules — follow the URL for those.\n\nThe tool surface is intentionally narrow:\n - Read-only. No tool mutates state or writes to disk / the network.\n - Deterministic. Same input → same output, over the pinned commit.\n - No execution. Tools never compile, validate-by-running,\n instantiate, or run any WebAssembly or arbitrary code. Validation\n and reduction rules are returned as data (the prose / typing\n judgement), not by applying them.\n\nTransport differences:\n - The stdio server (npx wasm-mcp) exposes all 9 tools.\n - The hosted Cloudflare Worker exposes 9 of them.\n - Tools that need a subprocess or filesystem (0 today)\n are stdio-only.",
"tools": [
{
"description": "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).",
"inputSchema": {
"additionalProperties": false,
"properties": {
"mnemonic": {
"description": "Instruction mnemonic, e.g. `i32.add`. Case-insensitive, exact.",
"type": "string"
},
"opcode": {
"description": "Binary opcode hex, e.g. `0x6a` or `0xfd 0x89 0x02`. Exact.",
"type": "string"
}
},
"type": "object"
},
"name": "instruction_get",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"can_trap": {
"description": "Keep only instructions that can (true) / cannot (false) trap.",
"type": "boolean"
},
"category": {
"description": "Instruction category.",
"enum": [
"control",
"numeric",
"parametric",
"variable",
"table",
"memory",
"ref",
"i31",
"struct",
"array",
"extern",
"vec"
],
"type": "string"
},
"introduced_in": {
"description": "Introducing version.",
"enum": [
"1.0",
"2.0",
"3.0"
],
"type": "string"
},
"prefix": {
"description": "Mnemonic prefix, e.g. `i32.`. Case-insensitive.",
"type": "string"
}
},
"type": "object"
},
"name": "instruction_list",
"outputSchema": null
},
{
"description": "Ranked free-text search across instruction mnemonics, categories, and opcode hex. Returns hits with a `matched_on` field.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"limit": {
"description": "Max hits.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "Search text.",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "instruction_search",
"outputSchema": null
},
{
"description": "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`.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"affects": {
"description": "Affected spec (finished only).",
"type": "string"
},
"champion": {
"description": "Champion substring.",
"type": "string"
},
"contains": {
"description": "Name/champion substring.",
"type": "string"
},
"phase": {
"description": "Numeric phase 0–5.",
"maximum": 5,
"minimum": 0,
"type": "integer"
},
"status": {
"description": "Lifecycle status.",
"enum": [
"phase-0",
"phase-1",
"phase-2",
"phase-3",
"phase-4",
"phase-5",
"finished",
"inactive"
],
"type": "string"
}
},
"type": "object"
},
"name": "proposal_list",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"id": {
"description": "Clause id or anchor.",
"type": "string"
},
"spec": {
"description": "Which spec (default core).",
"enum": [
"core",
"js-api",
"web-api"
],
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "section_get",
"outputSchema": null
},
{
"description": "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`.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"anchor_prefix": {
"description": "Id/anchor prefix.",
"type": "string"
},
"max_level": {
"description": "Cap heading depth.",
"maximum": 6,
"minimum": 1,
"type": "integer"
},
"path": {
"description": "Source path / prefix.",
"type": "string"
},
"spec": {
"description": "Which spec (default core).",
"enum": [
"core",
"js-api",
"web-api"
],
"type": "string"
},
"titled_only": {
"description": "Drop anchor-only blocks.",
"type": "boolean"
}
},
"type": "object"
},
"name": "section_list",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"limit": {
"description": "Max hits.",
"maximum": 100,
"minimum": 1,
"type": "integer"
},
"query": {
"description": "Search text.",
"type": "string"
},
"spec": {
"description": "Which spec (default core).",
"enum": [
"core",
"js-api",
"web-api"
],
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "spec_search",
"outputSchema": null
},
{
"description": "Return this server's package version plus the pinned upstream commit SHA(s) the bundled data was indexed from.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "spec_version",
"outputSchema": null
},
{
"description": "Look up a value type (`i32`, `funcref`, `v128`, …) or type form (`functype`, `limits`, `memtype`, …): classification, sibling members, defining clause prose, formal refs, and URL.",
"inputSchema": {
"additionalProperties": false,
"properties": {
"name": {
"description": "Type or type-form name. Case-insensitive, exact.",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "type_get",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:6d16b4f80f9e60db534f385ae4aa8b77e14d4a396f80e47e255b45ef5e236a38 | sha256sum