{ "format": "wai.mcp-tools/1", "tools": [ { "name": "envelope_inspect", "op": "envelope.inspect", "toolset": "core", "inputSchema": { "type": "object", "properties": { "path": { "type": "string", "description": "A .wai file, or a directory whose .wai files make a package." } }, "required": [ "path" ], "additionalProperties": false } }, { "name": "media_inspect", "op": "media.inspect", "toolset": "core", "inputSchema": { "type": "object", "properties": { "path": { "type": "string", "description": "Any file." } }, "required": [ "path" ], "additionalProperties": false } }, { "name": "registry_list", "op": "registry.list", "toolset": "core", "inputSchema": { "type": "object", "properties": { "media": { "type": "string", "description": "image, audio, video, text, 3d, ... (the registry's media class)." }, "licence": { "type": "string", "description": "A licence class, e.g. royalty-free." }, "kind": { "type": "string", "description": "payload, record, companion, ..." }, "status": { "type": "string", "description": "registered or candidate." }, "contains": { "type": "string", "description": "A substring of the capability string." } }, "required": [], "additionalProperties": false } }, { "name": "registry_show", "op": "registry.show", "toolset": "core", "inputSchema": { "type": "object", "properties": { "capability": { "type": "string", "description": "A capability string, e.g. wai.image.avif." } }, "required": [ "capability" ], "additionalProperties": false } }, { "name": "receipt_verify", "op": "receipt.verify", "toolset": "core", "inputSchema": { "type": "object", "properties": { "kind": { "type": "string", "enum": [ "delivery", "claim", "room_session", "audit_bundle" ], "description": "What is verified: a JWP delivery receipt, a claim receipt, a live-room session or a stream audit bundle. When left out, it is read from the arguments given (receipt, claim, descriptor or bundle)." }, "receipt": { "description": "delivery: the receipt's JSON (object or text), a group receipt (kind group) or an object receipt (kind object)." }, "group": { "description": "delivery, for an object receipt: its group receipt's JSON." }, "previous": { "description": "delivery, for a group receipt: the previous group receipt's JSON, to check the parent link. claim: the signer's previous claim's wire text, for the chain (ยง3.1 step 5); a claim that names a parent is refused without it." }, "envelope_hex": { "type": "string", "description": "delivery, for an object receipt: the object's bytes in hexadecimal, to check its content hash." }, "envelope_path": { "type": "string", "description": "delivery, for an object receipt: a file holding the object's bytes." }, "claim": { "description": "claim: the claim receipt's wire text (a string), or its JSON object." }, "object": { "type": "object", "description": "claim, for an energy claim: the delivery receipt's object, {content_hash, joules_micro} and its leaf's class where labelled." }, "oer": { "type": "object", "description": "claim, for an energy claim naming an OER receipt: {receipt, keys}." }, "gap_object": { "type": "object", "description": "claim, for a delivery-gap claim: the object receipt at its coordinates, {track_alias, group_id, object_id, content_hash}." }, "descriptor": { "type": "string", "description": "room_session: the signed WRD1 descriptor, hexadecimal." }, "grants": { "type": "array", "items": { "type": "string" }, "description": "room_session: the WRG1 grants, hexadecimal, in order." }, "key_log_head": { "type": [ "string", "null" ], "description": "room_session: the authority's key-log head (its JSON text), or null." }, "chains": { "type": "array", "items": { "type": "array", "items": { "type": "string" } }, "description": "room_session: each principal's WEV1 records in stream order, hexadecimal." }, "bundle": { "description": "audit_bundle: the bundle's JSON (object or text)." }, "owner": { "type": "string", "description": "audit_bundle: the owner's key, 64 lowercase hexadecimal digits." }, "channels": { "type": "array", "items": { "type": "string" }, "description": "audit_bundle: the channels the owner serves." } }, "required": [], "additionalProperties": false } }, { "name": "envelope_wrap", "op": "envelope.wrap", "toolset": "core", "inputSchema": { "type": "object", "properties": { "input": { "type": "string", "description": "The media file whose bytes the envelope carries." }, "capability": { "type": "string", "description": "The registered capability the bytes are, e.g. wai.image.png." }, "output": { "type": "string", "description": "Where to write the envelope, inside the project directory; default .wai." }, "intent": { "type": "string", "description": "replicate (the default where a sink accepts it unpinned), improve or create." }, "fallback": { "type": "string", "description": "A capability a sink without the first decodes the same payload through." }, "companions": { "type": "array", "items": { "type": "object", "properties": { "capability": { "type": "string" }, "input": { "type": "string" } }, "required": [ "capability", "input" ] }, "description": "Companion payloads bound to the base (a WAI2 envelope)." }, "overwrite": { "type": "boolean", "description": "Replace an existing output file (default false)." } }, "required": [ "input", "capability" ], "additionalProperties": false } }, { "name": "conformance_list", "op": "conformance.list", "toolset": "core", "inputSchema": { "type": "object", "properties": {}, "required": [], "additionalProperties": false } }, { "name": "conformance_run", "op": "conformance.run", "toolset": "core", "inputSchema": { "type": "object", "properties": { "corpus": { "type": "string", "description": "The corpus directory, relative to the wai/ directory, or its independent verifier's name, as conformance_list names them. A directory runs its corpus's own verifier, the one whose script is in that corpus's conformance directory, where it has one; another corpus's verifier run over it (the claim verifier over its claims) is run by its name." }, "verifier": { "type": "string", "description": "The verifier script, when the corpus has several of its own or none listed." }, "timeout_s": { "type": "integer", "minimum": 1, "maximum": 1800, "description": "Default 600." } }, "required": [ "corpus" ], "additionalProperties": false } }, { "name": "project_check", "op": "project.check", "toolset": "core", "inputSchema": { "type": "object", "properties": { "dir": { "type": "string", "description": "The project's directory, inside the project directory this server was started in; that directory itself when left out." } }, "required": [], "additionalProperties": false } }, { "name": "project_lock", "op": "project.lock", "toolset": "core", "inputSchema": { "type": "object", "properties": { "dir": { "type": "string", "description": "The project's directory, inside the project directory this server was started in; that directory itself when left out." } }, "required": [], "additionalProperties": false } }, { "name": "project_build", "op": "project.build", "toolset": "core", "inputSchema": { "type": "object", "properties": { "dir": { "type": "string", "description": "The project's directory, inside the project directory this server was started in; that directory itself when left out." }, "key": { "type": "string", "description": "The seed file that signs a package's receipt, for a project with package." } }, "required": [], "additionalProperties": false } }, { "name": "docs_search", "op": "docs.search", "toolset": "core", "inputSchema": { "type": "object", "properties": { "query": { "type": "string", "description": "Words that must all appear on a line (case-insensitive)." }, "limit": { "type": "integer", "minimum": 1, "maximum": 200, "description": "Default 20." } }, "required": [ "query" ], "additionalProperties": false } }, { "name": "ops_search", "op": "ops.search", "toolset": "core", "inputSchema": { "type": "object", "properties": { "task": { "type": "string", "description": "What you want to do, in words." }, "limit": { "type": "integer", "minimum": 1, "maximum": 5, "description": "Default 5." } }, "required": [ "task" ], "additionalProperties": false } }, { "name": "ops_show", "op": "ops.show", "toolset": "core", "inputSchema": { "type": "object", "properties": { "id": { "type": "string", "description": "An operation id, noun.verb." } }, "required": [ "id" ], "additionalProperties": false } }, { "name": "toolchain_doctor", "op": "toolchain.doctor", "toolset": "core", "inputSchema": { "type": "object", "properties": { "keystore": { "type": "string", "description": "The keystore to look at (default: where wai key keeps keys)." } }, "required": [], "additionalProperties": false } }, { "name": "dev_start", "op": "dev.start", "toolset": "dev", "inputSchema": { "type": "object", "properties": { "room_bin": { "type": "string", "description": "The room service program (wai-room); default --room-bin, WAI_ROOM_BIN, beside wai, then PATH." }, "relay_bin": { "type": "string", "description": "The relay program (wai-relay); default --relay-bin, WAI_RELAY_BIN, beside wai, then PATH." }, "publishers": { "type": "integer", "minimum": 1, "maximum": 64, "description": "Publishers at once (default 4)." }, "impair": { "type": "string", "description": "The synthetic participants over QUIC through an impaired path: loss=P%,rtt=MS,jitter=MS (wai dev --impair)." } }, "required": [], "additionalProperties": false } }, { "name": "dev_stop", "op": "dev.stop", "toolset": "dev", "inputSchema": { "type": "object", "properties": {}, "required": [], "additionalProperties": false } }, { "name": "room_grant", "op": "room.grant", "toolset": "dev", "inputSchema": { "type": "object", "properties": { "target": { "type": "string", "enum": [ "local" ], "description": "Where the operation runs: local (the development room on this machine), the default and the only target these tools take." }, "principal": { "type": "string", "description": "A test principal's name; its Ed25519 key is derived from it." }, "role": { "type": "string", "enum": [ "publisher", "viewer" ] }, "service": { "type": "string", "description": "The room service's URL; default the development room this server started. Only a loopback address is accepted." } }, "required": [ "principal", "role" ], "additionalProperties": false } }, { "name": "room_join", "op": "room.join", "toolset": "dev", "inputSchema": { "type": "object", "properties": { "target": { "type": "string", "enum": [ "local" ], "description": "Where the operation runs: local (the development room on this machine), the default and the only target these tools take." }, "principal": { "type": "string", "description": "A test principal granted the publisher role by room_grant." }, "objects": { "type": "integer", "minimum": 1, "maximum": 64, "description": "Objects on each track (default 1)." }, "receipts": { "type": "boolean", "description": "Each object with its receipt (default true); without, a relay that holds publishers to their receipts drops them." } }, "required": [ "principal" ], "additionalProperties": false } }, { "name": "room_leave", "op": "room.leave", "toolset": "dev", "inputSchema": { "type": "object", "properties": { "target": { "type": "string", "enum": [ "local" ], "description": "Where the operation runs: local (the development room on this machine), the default and the only target these tools take." }, "principal": { "type": "string", "description": "The test principal's name." } }, "required": [ "principal" ], "additionalProperties": false } }, { "name": "session_show", "op": "session.show", "toolset": "dev", "inputSchema": { "type": "object", "properties": { "target": { "type": "string", "enum": [ "local" ], "description": "Where the operation runs: local (the development room on this machine), the default and the only target these tools take." } }, "required": [], "additionalProperties": false } }, { "name": "room_test", "op": "room.test", "toolset": "dev", "inputSchema": { "type": "object", "properties": { "target": { "type": "string", "enum": [ "local" ], "description": "Where the operation runs: local (the development room on this machine), the default and the only target these tools take." }, "objects": { "type": "integer", "minimum": 1, "maximum": 1000, "description": "Objects sent (default 50)." }, "every_ms": { "type": "integer", "minimum": 1, "maximum": 1000, "description": "Milliseconds between objects (default 20)." } }, "required": [], "additionalProperties": false } }, { "name": "room_load", "op": "room.load", "toolset": "dev", "inputSchema": { "type": "object", "properties": { "target": { "type": "string", "enum": [ "local" ], "description": "Where the operation runs: local (the development room on this machine), the default and the only target these tools take." }, "viewers": { "type": "integer", "minimum": 1, "maximum": 64, "description": "Viewers (default 8)." }, "objects": { "type": "integer", "minimum": 1, "maximum": 1000, "description": "Objects sent (default 50)." }, "every_ms": { "type": "integer", "minimum": 1, "maximum": 1000, "description": "Milliseconds between objects (default 20)." } }, "required": [], "additionalProperties": false } }, { "name": "app_guide", "op": "app.guide", "toolset": "app", "inputSchema": { "type": "object", "properties": {}, "required": [], "additionalProperties": false } }, { "name": "app_check", "op": "app.check", "toolset": "app", "inputSchema": { "type": "object", "properties": { "program": { "type": "string", "description": "The app as a program in joule-ui's line language: one widget a line, `root = App([...], \"Title\")` first (see app_guide)." } }, "required": [ "program" ], "additionalProperties": false } }, { "name": "app_stream", "op": "app.stream", "toolset": "app", "inputSchema": { "type": "object", "properties": { "program": { "type": "string", "description": "The app as a program in joule-ui's line language: one widget a line, `root = App([...], \"Title\")` first (see app_guide)." }, "chunk": { "type": "integer", "minimum": 1, "maximum": 4096, "description": "Characters a chunk (24 by default)." }, "pace_ms": { "type": "integer", "minimum": 0, "maximum": 2000, "description": "Milliseconds between chunks (30 by default)." } }, "required": [ "program" ], "additionalProperties": false } }, { "name": "app_export", "op": "app.export", "toolset": "app", "inputSchema": { "type": "object", "properties": { "program": { "type": "string", "description": "The app as a program in joule-ui's line language: one widget a line, `root = App([...], \"Title\")` first (see app_guide)." }, "dir": { "type": "string", "description": "The new project's directory, inside the project directory: absent or empty." }, "runtime_dir": { "type": "string", "description": "A Create runtime (laid out by wai/wai-app/web/runtime.mjs); default $WAI_APP_RUNTIME or share/wai/app beside wai." } }, "required": [ "program", "dir" ], "additionalProperties": false } }, { "name": "quantum_run", "op": "quantum.run", "toolset": "quantum", "inputSchema": { "type": "object", "description": "The arguments of wai-quantum mcp's tool of this operation (crate::fold::QUANTUM names it); tools/list gives its schema as that server states it.", "additionalProperties": true } }, { "name": "quantum_inspect", "op": "quantum.inspect", "toolset": "quantum", "inputSchema": { "type": "object", "description": "The arguments of wai-quantum mcp's tool of this operation (crate::fold::QUANTUM names it); tools/list gives its schema as that server states it.", "additionalProperties": true } }, { "name": "quantum_check", "op": "quantum.check", "toolset": "quantum", "inputSchema": { "type": "object", "description": "The arguments of wai-quantum mcp's tool of this operation (crate::fold::QUANTUM names it); tools/list gives its schema as that server states it.", "additionalProperties": true } }, { "name": "quantum_verify", "op": "quantum.verify", "toolset": "quantum", "inputSchema": { "type": "object", "description": "The arguments of wai-quantum mcp's tool of this operation (crate::fold::QUANTUM names it); tools/list gives its schema as that server states it.", "additionalProperties": true } }, { "name": "quantum_list", "op": "quantum.list", "toolset": "quantum", "inputSchema": { "type": "object", "description": "The arguments of wai-quantum mcp's tool of this operation (crate::fold::QUANTUM names it); tools/list gives its schema as that server states it.", "additionalProperties": true } } ] }