Commands

Two surfaces for the same capabilities: the standalone urirun CLI and the built-in ifuri-app urirun-* commands in the IFURI app.

urirun CLI

urirun scan PATH --out generated/bindings.v2.json --registry-out generated/registry.json
urirun validate generated/bindings.v2.json
urirun compile generated/bindings.v2.json --out generated/registry.json
urirun list generated/registry.json
urirun run URI --registry generated/registry.json --payload '{"name":"Ada"}'

Generate bindings in one line

# from a PyPI package (console_scripts)
urirun add-pypi sampleproject --out urirun.bindings.v2.json

# from a command template
urirun add-command 'util://local/echo/message' \
  --argv 'python3 -c "import sys; print(sys.argv[1])" {text}' \
  --param text:string:required \
  --out urirun.bindings.v2.json

urirun inside the IFURI app

IFURI uses urirun as its local runtime — the same URI addresses, without a separate shell node (urisys):

# status of the urirun runtime and the loaded registry
ifuri-app urirun-info

# scan a project -> bindings + registry
ifuri-app urirun-scan ./project --registry-out generated/registry.json

# run a URI through urirun (dry-run by default; --execute for real)
ifuri-app urirun-call tool://local/report/render --registry generated/registry.json

urirun server (HTTP)

Expose a urirun registry as a local HTTP service — GET /health, GET /routes, POST /run ({uri, payload, execute?}) behind the policy gate:

# dry-run by default
ifuri-app urirun-serve --registry generated/registry.json --port 8780

# real execution (defaults to allow-all when no --policy is given)
ifuri-app urirun-serve --registry generated/registry.json --execute

Project to MCP / A2A

ifuri-app urirun-mcp tools --registry generated/registry.json   # MCP tools/list
ifuri-app urirun-mcp card  --registry generated/registry.json   # A2A agent card
ifuri-app urirun-mcp serve --registry generated/registry.json   # MCP stdio server

python -m urirun.v2_mcp tools generated/registry.json   # MCP tools/list
python -m urirun.v2_mcp card  generated/registry.json   # A2A agent card