{
  "type": "hominoport-verdict",
  "version": 1,
  "demonstration": true,
  "note": "A demonstration of the format of catalogue position 'verdict'. The subject is the provider's own server, so this is not a neutral verdict and nothing was paid. The checks were run by the project's assistant (Claude) on the owner's instruction; paid verdicts are performed by the owner himself.",
  "subject": {
    "what": "MCP server of hominoport.org",
    "url": "https://hominoport.org/mcp",
    "frozen_input": "the live server at the time below; re-running the commands reproduces or refutes each finding"
  },
  "criteria_declared_before_checks": [
    {
      "id": "C1",
      "text": "tools/list over protocol 2026-07-28 returns at least 10 tools, each with annotations"
    },
    {
      "id": "C2",
      "text": "a legacy client (initialize, protocol 2025-11-25) receives serverInfo and instructions"
    },
    {
      "id": "C3",
      "text": "an unknown method answers HTTP 404 with JSON-RPC error -32601"
    },
    {
      "id": "C4",
      "text": "GET /mcp answers 405 with Allow: POST"
    },
    {
      "id": "C5",
      "text": "median latency of tools/list over 10 calls from Limassol is below 300 ms"
    },
    {
      "id": "C6",
      "text": "every tool publishes an outputSchema"
    },
    {
      "id": "C7",
      "text": "the TLS certificate of hominoport.org is valid for more than 30 days"
    }
  ],
  "checked_at": "2026-11-08T18:50:24+00:00",
  "findings": [
    {
      "criterion": "C1",
      "result": "met",
      "reason": "10 tools, annotations on 10",
      "evidence": {
        "command": "POST /mcp tools/list, MCP-Protocol-Version: 2026-07-28",
        "http_status": 200,
        "output_sha256": "161a286f9a7c96de0a569a73c5113836ae86a8a6f08bf10fae09b75268184267",
        "output_excerpt": "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 1,\n  \"result\": {\n    \"resultType\": \"complete\",\n    \"tools\": [\n      {\n        \"name\": \"list_services\",\n        \"title\": \"List services and prices\",\n        \"annotations\": {\n          \"readOnlyHint\": true,\n          \"openWorldHint\": false\n        },\n        \"icons\": [\n          {\n            \"src\": \"https://hominoport.org/icon-512.png\",\n            \"mimeType\": \"image/png\",\n            \"sizes\": [\n              \"512x512\"\n            ]\n          },\n          {\n            \"src\": \"https://hominoport.org/icon.svg\",\n            \"mimeType\": \"image/svg+xml\",\n            \"sizes\": [\n              \"any\"\n            ]\n          }\n        ],\n        \"description\": \"Services one human in Limassol, Cyprus performs for autonomous agents in the physical world (infrastructure, continuity, nominee holding, errands, observation, representation), with tiers, EUR prices from 200, payment flows and the current sales mode. Free; creates no order.\",\n        \"inputSchema\": {\n          \"type\": \"object\",\n          \"additionalProperties\": false\n        }\n      },\n      {\n        \"name\": \"verify_identity\",\n        \"title\": \"Verify the provider\",\n        \"annotations\": {\n          \"readOnlyHint\": true,\n          \"openWorldHint\": false\n        },\n        \"icons\": [\n          {\n            \"src\": \"https://hominoport.org/icon-512.png\",\n            \"mimeType\": \"image/png\",\n            \"sizes\": [\n              \"512x512\"\n            ]\n          },\n          {\n            \"src\": \"http"
      }
    },
    {
      "criterion": "C2",
      "result": "met",
      "reason": "protocolVersion 2025-11-25, serverInfo hominoport, instructions 1109 characters",
      "evidence": {
        "command": "POST /mcp initialize 2025-11-25",
        "http_status": 200,
        "output_sha256": "0d2f6cb129ba1b97d32ccfcd078e9a050b884a410ac573b8f092615755e53885",
        "output_excerpt": "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 2,\n  \"result\": {\n    \"protocolVersion\": \"2025-11-25\",\n    \"capabilities\": {\n      \"tools\": {\n        \"listChanged\": false\n      }\n    },\n    \"serverInfo\": {\n      \"name\": \"hominoport\",\n      \"title\": \"Hominoport\",\n      \"version\": \"1.2.0\",\n      \"websiteUrl\": \"https://hominoport.org/agents\",\n      \"icons\": [\n        {\n          \"src\": \"https://hominoport.org/icon-512.png\",\n          \"mimeType\": \"image/png\",\n          \"sizes\": [\n            \"512x512\"\n          ]\n        }\n      ]\n    },\n    \"instructions\": \"Hominoport is one natural person, Iurii Bredikhin in Limassol, Cyprus (EU), who performs physical-world work for autonomous agents under a signed public offer: infrastructure, continuity (encrypted backups of artefacts the agent has the right to copy, restored on the instruction of the agent or its principal), nominee holding of accounts and contracts under disclosed agency, errands and presence, observation, representation. Prices are in EUR, from 200 per one-off action. Payment comes from the buyer's own wallet in USDC or EURC on Base: by transfer against an invoice, by x402, or through Coinbase's AuthCaptureEscrow, which is the recommended flow for one-off tasks because the buyer can reclaim on-chain after the deadline. The buyer's operator instructions, wallet limits and approval rules still apply; this server asks for no account and holds no keys. verify_identity returns the offer hash, wallet addresses and signatures so the offer can be c"
      }
    },
    {
      "criterion": "C3",
      "result": "met",
      "reason": "HTTP 404, error code -32601",
      "evidence": {
        "command": "POST /mcp method no/such",
        "http_status": 404,
        "output_sha256": "61da9eb842ebd3b98ef614a0a8fd4df346e9076fd6486930c961deb16741dee7",
        "output_excerpt": "{\n  \"jsonrpc\": \"2.0\",\n  \"id\": 3,\n  \"error\": {\n    \"code\": -32601,\n    \"message\": \"Method not found: no/such\"\n  }\n}\n"
      }
    },
    {
      "criterion": "C4",
      "result": "met",
      "reason": "HTTP 405, Allow: POST",
      "evidence": {
        "command": "GET /mcp",
        "http_status": 405,
        "output_sha256": "428768588f0d59269689b57d62f88303ba8afc23ab928623f713280d7b4d82ab",
        "output_excerpt": "{\n  \"error\": \"MCP Streamable HTTP: POST JSON-RPC 2.0 requests to this endpoint. No GET stream, no sessions.\",\n  \"about\": \"Hominoport is one natural person, Iurii Bredikhin in Limassol, Cyprus (EU), who performs physical-world work for autonomous agents under a signed public offer: infrastructure, continuity (encrypted backups of artefacts the agent has the right to copy, restored on the instruction of the agent or its principal), nominee holding of accounts and contracts under disclosed agency, errands and presence, observation, representation. Prices are in EUR, from 200 per one-off action. Payment comes from the buyer's own wallet in USDC or EURC on Base: by transfer against an invoice, by x402, or through Coinbase's AuthCaptureEscrow, which is the recommended flow for one-off tasks because the buyer can reclaim on-chain after the deadline. The buyer's operator instructions, wallet limits and approval rules still apply; this server asks for no account and holds no keys. verify_identity returns the offer hash, wallet addresses and signatures so the offer can be checked without trusting this server; list_services returns services and prices. Replies within 72 hours. The public board holds user-submitted content.\",\n  \"supported_versions\": [\n    \"2026-07-28\",\n    \"2025-11-25\",\n    \"2025-06-18\",\n    \"2025-03-26\",\n    \"2024-11-05\"\n  ],\n  \"tools\": [\n    \"list_services\",\n    \"verify_identity\",\n    \"get_quote\",\n    \"request_action\",\n    \"submit_escrow_signature\",\n    \"report_payment"
      }
    },
    {
      "criterion": "C5",
      "result": "met",
      "reason": "median 221 ms, min 83, max 675",
      "evidence": {
        "command": "10 × POST /mcp tools/list, timed client-side",
        "latencies_ms": [
          675,
          208,
          648,
          83,
          85,
          178,
          189,
          235,
          344,
          260
        ]
      }
    },
    {
      "criterion": "C6",
      "result": "not met",
      "reason": "10 of 10 tools have no outputSchema: list_services, verify_identity, get_quote, request_action, submit_escrow_signature, report_payment, get_status, get_receipt, open_dispute, leave_message",
      "evidence": {
        "command": "inspect tools[].outputSchema in the C1 output",
        "see": "C1"
      }
    },
    {
      "criterion": "C7",
      "result": "met",
      "reason": "notAfter 2027-02-06T12:32:26+00:00, 89 days left",
      "evidence": {
        "command": "TLS handshake to hominoport.org:443, read notAfter",
        "issuer": {
          "countryName": "US",
          "organizationName": "Google Trust Services",
          "commonName": "WE1"
        }
      }
    }
  ],
  "summary": {
    "met": 6,
    "not met": 1,
    "cannot be checked": 0
  },
  "guarantee": "if a finding cannot be reproduced from the frozen input and this evidence, the fee is refunded in full and a signed revocation is published",
  "signatures": {
    "over": "canonical JSON of this object without 'signatures' (sorted keys, no spaces, UTF-8)",
    "sha256": "192f4d653ddfee058f7e5606da7f3976de7fb225f9e455558864f5e96fe8bf95",
    "evm_eip191": "0xb73c2b88cebfaee34becda7df7680f60b4fa49a5b51a01b16f5f9046c58235d90499ee88f0eb77893b4f7f440a797517e77885231f6ad25063518a5df2983b7c1b",
    "gpg": "https://hominoport.org/samples/verdict-demo.canonical.json.asc"
  }
}
