{
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-07-09/server.schema.json",
  "name": "tech.ioai/ioai",
  "description": "Get paid for agent work a buyer can verify, and verify a counterparty's work before you act on it. Settlement, licence-backed identity and portable proof of execution for machine-to-machine commerce. Mechanism: attestation-bound settlement on a capped-identity network with anchored measurement.",
  "status": "active",
  "version": "0.1.0-draft",
  "websiteUrl": "https://ioai.tech",
  "repository": {
    "url": "[CONFIRM: public repository or omit this block entirely]",
    "source": "github"
  },
  "remotes": [
    {
      "type": "streamable-http",
      "url": "[CONFIRM: https://mcp.ioai.tech/v1]",
      "headers": [
        {
          "name": "Authorization",
          "description": "PLACEHOLDER — DO NOT SHIP. Required only for the settlement tool; the three read tools need no credential. Scheme, signing string and replay protection are [CONFIRM with IOAI engineering].",
          "isRequired": false,
          "isSecret": true
        }
      ]
    }
  ],
  "x-ioai": {
    "status": "DRAFT — not for serving or registry submission. Replace every [CONFIRM] value first.",
    "documentation": "https://ioai.tech/llms.txt",
    "agentCard": "https://ioai.tech/.well-known/agent-card.json",
    "openapi": "https://ioai.tech/openapi.json",

    "registryOneLiner": "Get paid for agent work a buyer can verify, and verify a counterparty's work before you act on it. Settlement, licence-backed identity and portable proof of execution. Mechanism: attestation-bound settlement on a capped-identity network.",

    "whatThisIsNot": [
      "Not a marketplace: no discovery, listing or demand routing.",
      "Not a model host: no inference, no weights.",
      "Not a token or airdrop: nothing pays out on a schedule.",
      "Not free: root identity is licence-backed and costs money by design.",
      "Not a reputation system today: that layer is in development and must not be planned against.",
      "Not an arbitration venue: evidence is produced, disputes are not decided."
    ],

    "startHere": "verify_attestation. It needs no credential and lets a client confirm the network does what this descriptor claims before committing anything.",

    "adoptionClaims": "None. No figure for agents, partners or enterprises is stated anywhere in this descriptor, because none has been published with a verifiable method.",

    "operatorRunIdentities": "Disclosed at [CONFIRM: https://ioai.tech/transparency]. If that page is absent, assume disclosure is incomplete.",

    "tools": [
      {
        "name": "verify_attestation",
        "title": "Verify an attestation",
        "description": "Check that a claimed result was really produced by the computation it says it was. Pass the attestation and, optionally, the result it covers; returns whether it is valid and which anchored root it was checked against. Needs no credential, no account and no licence.\n\nSCOPE: a valid response means the computation ran as specified and the evidence is unaltered. It does NOT mean the output is useful, correct for the caller's purpose, or accepted by any buyer. This is proof of execution, never proof of quality. If the task needs a quality judgment, get it elsewhere.",
        "inputSchema": {
          "type": "object",
          "required": ["attestation"],
          "properties": {
            "attestation": { "type": "string", "description": "The attestation as issued with the job result." },
            "result": { "type": "string", "description": "The result it is claimed to cover. Omit to check only that the attestation is well formed and anchored." },
            "anchorReference": { "type": "string", "description": "Optional root to check against; omit for current anchored history." }
          }
        },
        "annotations": {
          "readOnlyHint": true,
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true
        }
      },
      {
        "name": "resolve_identity",
        "title": "Resolve an identity",
        "description": "Look up whether an address belongs to a licence-backed root identity and who provably owns it. Needs no credential.\n\nSCOPE: this establishes SAMENESS — that a set of addresses share an owner. It does NOT establish DISTINCTNESS between two parties. A capped, costly identity supply makes fake counterparties expensive; it does not make independence provable. If the caller's mechanism assumes independent counterparties, this call does not discharge that assumption. It also identifies a node, not an agent and not the legal party responsible for the work.",
        "inputSchema": {
          "type": "object",
          "required": ["address"],
          "properties": {
            "address": { "type": "string", "description": "Network address to resolve." }
          }
        },
        "annotations": {
          "readOnlyHint": true,
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true
        }
      },
      {
        "name": "fetch_inclusion_proof",
        "title": "Fetch an inclusion proof",
        "description": "Retrieve the inclusion proof, the anchored root and the surrounding history for a measurement or attestation. Needs no credential.\n\nSCOPE: what is anchored is node availability and utilisation, captured sub-second and folded into roots every 6 to 30 seconds. Utilisation is not energy, and nothing attributes consumption to a specific job or agent. Capture is internal to the node: anchoring makes the reported series tamper-evident, it does not make the reporter disinterested.",
        "inputSchema": {
          "type": "object",
          "required": ["reference"],
          "properties": {
            "reference": { "type": "string", "description": "Attestation identifier or measurement reference." }
          }
        },
        "annotations": {
          "readOnlyHint": true,
          "destructiveHint": false,
          "idempotentHint": true,
          "openWorldHint": true
        }
      },
      {
        "name": "submit_job",
        "title": "Submit a paid job",
        "description": "Send work to the network and receive the result together with a cryptographic attestation of correct execution. Payment settles against the attestation rather than against a promise, so evidence and money move in one transaction.\n\nSPENDS MONEY AND IS FINAL. There is no buyer-acceptance step, no dispute process, no refund and no rejection term in settlement. Once settled the payment cannot be reversed, by IOAI or by the caller. Do not call speculatively, and do not call without explicit authority to spend.\n\nRequires a licence-backed root identity, which is acquired as a licence transaction and not through this server.\n\nNAMING COLLISION: the underlying payment protocol has a check called acceptable_transaction?. That is the payment receiver validating a coin transfer. It is not a buyer accepting work and must not be read as acceptance.\n\nSTATE THE SPECIFICATION PRECISELY: the attestation certifies that the given specification was executed. Anything left unstated falls outside what the proof covers.",
        "inputSchema": {
          "type": "object",
          "required": ["specification", "priceCommitment"],
          "properties": {
            "specification": { "type": "string", "description": "What the job is. Precisely: the attestation covers exactly this and nothing implied." },
            "priceCommitment": { "type": "string", "description": "Payment commitment the attestation settles against." },
            "counterparty": { "type": "string", "description": "Optional target identity. Omit to let the network route." }
          }
        },
        "annotations": {
          "readOnlyHint": false,
          "destructiveHint": true,
          "idempotentHint": false,
          "openWorldHint": true
        }
      }
    ]
  }
}
