{
  "ok": true,
  "transport": "streamable-http",
  "encoding": "JSON-RPC MCP-over-HTTP",
  "endpoint": "POST /mcp",
  "methods": [
    "initialize",
    "tools/list",
    "tools/call",
    "ping",
    "interface/orchestrate"
  ],
  "mcp_session": "Mcp-Session-Id issued on initialize and echoed on every POST. DELETE /mcp tears down. Reuse of a closed id is 404.",
  "protocol_versions": [
    "2025-11-25",
    "2025-06-18",
    "2025-03-26"
  ],
  "protocol_preferred": "2025-11-25",
  "protocol_claimed": "2025-11-25",
  "auth": "none (public)",
  "server_card": "/.well-known/mcp/server-card.json",
  "oauth_protected_resource": "/.well-known/oauth-protected-resource",
  "note": "Durable Objects / agents McpAgent not used. Minimal HTTP JSON-RPC. tools/list is 36 live MCP tools. Call Softwares (tools/list name Softwares), pick a slug, then fraggate_call. library_lookup searches library papers and cites. The door runs before the tool. runtime_software remains a tools/call alias and is not a second listed name. ChainLock, TemporalLock, and ForgeReceipts stamp when the call needs a ledger. fraggate_list, fraggate_describe, fraggate_call, and chainlock tools stay for diagnostics. Install / Try on Glama is the discovery listing. Fabric mesh_* / chainlock_* / memory_* / decisiongate_check / library_lookup are kernel-direct after the door (same kernels; not MASTER-33; not a second Softwares door). Hubs: GET /v1/software. Mutating tools require confirm=true or dry_run=true. This Worker POST /mcp is THE edge MCP gateway — Softwares exec enters FragGate first. FragGate stays the single exec door. Interface plans use JSON-RPC method interface/orchestrate (same body as POST /v1/interface). That method is not a tools/list name.",
  "install": "https://glama.ai/mcp/servers/AzielEliab/aziel-runtime",
  "glama": {
    "label": "Install Server / Try on Glama",
    "try_label": "Try on Glama",
    "listing": "https://glama.ai/mcp/servers/AzielEliab/aziel-runtime",
    "listing_alias": "https://glama.ai/mcp/servers/@AzielEliab/aziel-runtime",
    "install_server": true,
    "auto_release": true,
    "glama_release": "2.0.7",
    "worker_version": "2.0.0-rc1",
    "order": [
      "glama-install-server",
      "remote-post-mcp",
      "local-stdio"
    ],
    "remote_mcp": "https://godlock.uk/runtime/mcp",
    "first_call": "Softwares (pick a slug), then fraggate_call; library_lookup searches library papers and cites. The door runs first; ChainLock, TemporalLock, and ForgeReceipts stamp when the call needs a ledger",
    "first_call_examples": [
      "fraggate_call { slug: foldlock, op: fold-preview }",
      "decisiongate_check with dry_run=true"
    ],
    "tools_list_count": 36
  },
  "door": "fraggate",
  "gateway": {
    "role": "edge-mcp-gateway",
    "surface": "POST /mcp",
    "door": "fraggate",
    "terminates_at": "fraggate_call",
    "pipeline": "fraggate_list → fraggate_describe → fraggate_call",
    "second_door": false,
    "backdoor_exec": false,
    "proxy_is_not_exec": true,
    "isolate_is_the_jail": true,
    "softwares_exec": "fraggate_call",
    "fabric": {
      "tools": [
        "mesh_*",
        "chainlock_*",
        "memory_*",
        "decisiongate_check",
        "library_lookup"
      ],
      "hop_list": "kernel-direct",
      "master_33": false,
      "second_softwares_door": false,
      "same_kernels": true,
      "note": "Fabric wrappers reach the same kernels FragGate mesh / memory / chainlock / DecisionGATE / corpus use. Softwares exec stays fraggate_call only. Not MASTER-33. Not a second Softwares door."
    },
    "note": "This Worker POST /mcp is THE edge MCP gateway. JSON-RPC terminates into FragGate for Softwares exec. Fabric wrappers are kernel-direct (same kernels; not MASTER-33). No parallel Softwares door. POST /p/{slug}/{op} is proxy, not exec."
  },
  "durability": {
    "production_binds": {
      "wrangler": "wrangler.toml [[durable_objects.bindings]]",
      "SESSION": {
        "bound": true,
        "class_name": "RuntimeSession",
        "migration": "v1",
        "durable_commit": true
      },
      "CHAINLOCK": {
        "bound": true,
        "class_name": "ChainWriter",
        "migration": "v2",
        "durable_commit": true
      },
      "RATE": {
        "bound": true,
        "class_name": "RateQuota",
        "migration": "v3",
        "durable_commit": true
      },
      "note": "Production wrangler.toml binds SESSION / CHAINLOCK / RATE. Isolate tests and unbound deploys label MemoryStore / isolate window — not durable-commit."
    },
    "fraggate_ledger": {
      "kind": "ask-refuse-hash-chain",
      "window_cap": 64,
      "ephemeral_window": true,
      "durable_commit": true,
      "durable_commit_label": "CHAINLOCK Durable Object (commit-before-ack, public window last 64)",
      "memory_store_is_durable": false,
      "public_qxact_ledger": false
    },
    "chainlock": {
      "kind": "append-only-stamps",
      "durable_commit": true,
      "durable_commit_label": "CHAINLOCK Durable Object per chain (commit-before-ack)",
      "memory_store_is_durable": false,
      "public_ledger": false
    },
    "session": {
      "kind": "runtime-session",
      "durable_commit": true,
      "durable_commit_label": "SESSION Durable Object (TTL 6h, receipt cap 64)",
      "receipt_cap": 64,
      "ttl_ms": 21600000,
      "memory_store_is_durable": false
    },
    "rate_quota": {
      "kind": "abuse-quota",
      "durable_commit": true,
      "durable_commit_label": "RATE Durable Object (per IP+bucket sliding window)",
      "memory_store_is_durable": false
    },
    "memory_store": {
      "durable": false,
      "durable_commit": false,
      "note": "MemoryStore is in-process isolate memory. Not a durable commit. Do not treat as CHAINLOCK, SESSION, or a public ledger."
    },
    "akm_memory": {
      "durable": false,
      "durable_commit": false,
      "isolate_index": true,
      "ledger": "chainlock-learn",
      "ledger_durable": true,
      "rebuildable": true,
      "rebuild_on_get_miss": true,
      "belief_is_not_truth": true,
      "memory_delete": false,
      "memory_update_overwrite": false,
      "http_dry_run_writes": false,
      "note": "AKM-TRIAD Belief List is derived from the append-only ChainLock learn ledger. Isolate MemoryStore is a cache, never the durable source. GET/resolve/recall rebuild from learn on a cold isolate. Posterior ≠ truth. HTTP dry_run does not write."
    }
  },
  "production_binds": {
    "wrangler": "wrangler.toml [[durable_objects.bindings]]",
    "SESSION": {
      "bound": true,
      "class_name": "RuntimeSession",
      "migration": "v1",
      "durable_commit": true
    },
    "CHAINLOCK": {
      "bound": true,
      "class_name": "ChainWriter",
      "migration": "v2",
      "durable_commit": true
    },
    "RATE": {
      "bound": true,
      "class_name": "RateQuota",
      "migration": "v3",
      "durable_commit": true
    },
    "note": "Production wrangler.toml binds SESSION / CHAINLOCK / RATE. Isolate tests and unbound deploys label MemoryStore / isolate window — not durable-commit."
  },
  "skill": "/runtime/v1/skill",
  "runtime": "/runtime/v1/runtime.json",
  "fraggate": "/runtime/v1/fraggate",
  "software": "/runtime/v1/software",
  "update_check": "/runtime/v1/update/check?slug={slug}&version={installed}",
  "bundle": "/runtime/v1/bundle",
  "session": "/runtime/v1/session/open",
  "godlock_runtime": "https://godlock.uk/runtime",
  "library_runtime": "https://www.azielcorpuslibrary.net/runtime",
  "origin_runtime": "https://aziel-runtime.vibelock.workers.dev/",
  "sameAs": [
    "https://godlock.uk/runtime",
    "https://www.azielcorpuslibrary.net/runtime",
    "https://aziel-runtime.vibelock.workers.dev/",
    "https://github.com/AzielEliab/aziel-runtime",
    "https://glama.ai/mcp/servers/AzielEliab/aziel-runtime"
  ],
  "related": [
    "https://godlock.uk/runtime",
    "https://www.azielcorpuslibrary.net/runtime",
    "https://aziel-runtime.vibelock.workers.dev/",
    "https://github.com/AzielEliab/aziel-runtime",
    "https://glama.ai/mcp/servers/AzielEliab/aziel-runtime"
  ],
  "author": "Aziel Eliab",
  "identity": "Aziel Eliab"
}