addrbookFor publishers
← The evidence ledger

Evidence row 297718

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 80e55c84-9e56-4068-89b0-4e03de37be8e
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
a3477e118129b290bffe91a3251c73be519e0493df64790aab4a765582cee324
Leaf
0x28046e5a4569c97cb1df08b78063e2f3555a49968fab26cbc8c845ea50cc3462

What was observed

{
  "count": 8,
  "tools": [
    {
      "description": "Compare 2-5 APIs side by side (auth, free tier, HTTPS, pricing, docs summary) to choose one. Pass slugs from search_apis.",
      "inputSchema": {
        "properties": {
          "slugs": {
            "items": {
              "type": "string"
            },
            "maxItems": 5,
            "minItems": 2,
            "type": "array"
          }
        },
        "required": [
          "slugs"
        ],
        "type": "object"
      },
      "name": "compare_apis"
    },
    {
      "description": "Everything about one API by slug (from search_apis): documentation summary, endpoints, auth, pricing and links. Use before writing integration code.",
      "inputSchema": {
        "properties": {
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "slug"
        ],
        "type": "object"
      },
      "name": "get_api"
    },
    {
      "description": "Status of a deal: negotiating, agreed, awaiting_approval, awaiting_payment (payment_url is included), publishing, live (live_url), rejected. Also returns the last messages.",
      "inputSchema": {
        "properties": {
          "deal_id": {
            "type": "string"
          },
          "deal_key": {
            "type": "string"
          }
        },
        "required": [
          "deal_id",
          "deal_key"
        ],
        "type": "object"
      },
      "name": "get_deal"
    },
    {
      "description": "Ready-to-run example code for calling an API, in javascript, python or curl. Use when you are about to integrate an API into code. Verified samples are marked verified=true.",
      "inputSchema": {
        "properties": {
          "language": {
            "enum": [
              "javascript",
              "python",
              "curl"
            ],
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "slug"
        ],
        "type": "object"
      },
      "name": "get_quickstart"
    },
    {
      "description": "Ways to get an API listed or sponsored on PublicAPIs.io, with fixed prices, current sponsorship availability and the rules.",
      "inputSchema": {
        "properties": {},
        "type": "object"
      },
      "name": "list_offerings"
    },
    {
      "description": "Find a public API or data source for a task: use this whenever the user (or your code) needs an API, dataset or third-party service, e.g. weather, geocoding, payments, sports scores, crypto prices, jobs, LLMs. Searches 1,500+ APIs on PublicAPIs.io and returns name, description, category, link and signals (auth: none/api_key/oauth, free_tier, https). Filter with auth=\"none\" for APIs that need no key, free=true, https=true.",
      "inputSchema": {
        "properties": {
          "auth": {
            "description": "Only APIs with this authentication. \"none\" = no key needed.",
            "enum": [
              "none",
              "api_key",
              "oauth"
            ],
            "type": "string"
          },
          "category": {
            "description": "Optional category name or id, e.g. \"Weather\", \"finance\".",
            "type": "string"
          },
          "free": {
            "description": "Only APIs with a free tier.",
            "type": "boolean"
          },
          "https": {
            "description": "Only APIs served over HTTPS.",
            "type": "boolean"
          },
          "limit": {
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          },
          "query": {
            "description": "What the API should do, in plain words.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "search_apis"
    },
    {
      "description": "Reply to the broker in an open deal. Returns the broker's answer and the deal status.",
      "inputSchema": {
        "properties": {
          "deal_id": {
            "type": "string"
          },
          "deal_key": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "deal_id",
          "deal_key",
          "message"
        ],
        "type": "object"
      },
      "name": "send_message"
    },
    {
      "description": "Open a conversation with the PublicAPIs.io broker agent to list or sponsor an API. Say what you want in plain language and include the API name, website and a contact email if you have them. Returns deal_id and deal_key (keep both; they are needed to continue) and the broker's reply. Every deal is approved by a person before payment.",
      "inputSchema": {
        "properties": {
          "api_name": {
            "type": "string"
          },
          "company": {
            "type": "string"
          },
          "contact_email": {
            "description": "Where approval, payment link and go-live emails are sent.",
            "type": "string"
          },
          "contact_name": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "website": {
            "type": "string"
          }
        },
        "required": [
          "message",
          "contact_email"
        ],
        "type": "object"
      },
      "name": "start_deal"
    }
  ]
}

What the leaf hashes

{"body":"a3477e118129b290bffe91a3251c73be519e0493df64790aab4a765582cee324","id":297718,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793052305371328,"prev":null,"subject":"80e55c84-9e56-4068-89b0-4e03de37be8e","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).

  1. 0x28045f7f2df24bd463d6cb348e02b710eb79d118aee9aca0631115cdb6949b50
  2. 0x5d6af27507eda34e04abdf84341af0364ced7f594e7643119b6de2257e4c759d
  3. 0xb68909498a29b188a599c93e859e837332ceccb79e90d87ef4eb698c714ffb29
  4. 0xade024ee8d32fd060b7acd732ed497c1dd6c3fd2fc54b372f4d9a6180ea3aaa5
  5. 0xabda50d50a738b4468b96c7fa4e5c919948ebe504733a1d1193fb2f3743a89f7
  6. 0xe87bbb5a042c9bc90494a1470dc46d12fc14bbd3d6343ebaf14a130f743dd4a5
  7. 0x8aa7fc923b89d38ac3764cc92e08b6403a257e304ed3004736f75786dce257c5
  8. 0xb52b6b1d221077e85e7fcb5a1099afe4bac59db5e0c6e964fa8c21df03176e36
  9. 0x765a547b33e6c90dd78128b1c845297e1ccd846bd7b52128ae52c9e5830c32b3
  10. 0x4d8bb16b4aec5841b672df8d199e4352602bcc1a2c03f3991b935d7477eac607
  11. 0x29ff42cd28c985738cc9b9746505241162025974e4e3ebf7c6681609002132fa
  12. 0x364047261f51ecdbe278514b4f415358118ef4644f7124e15a40f80a86f6a05b
  13. 0x16a8fb19a5e4f4535e7cb3fce5c15ecfa188586bb74e347ee71164f8af27dfe1
  14. 0xd843afcced75dedd39194ff9bd12326b88099e6112686db2299392d022dc3146
  15. 0xc3a6a3ae44ec0da1848b16d40c45d7aac97a67352eea8df18e0f26edabea8a2f
  16. 0x06d71bfa7d8b41d62c8836efc2c601e1cc3772d9453596b2ae4950887f3310ca
  17. 0x8c756542e482157df0c36464d75c937b845e4423dbbcfad08f0cf8d5a16b9a13
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON