addrbookFor publishers
← The evidence ledger

Evidence row 568891

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint ca59e8f4-9c18-4ec4-9124-d495f0d1fd6e
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
04a32bd966091889d9f5ea99737fc3804f84e5c2914f3541375ff332e4e599ec
Leaf
0x081f472c8604cec9fa21a4096cc86c4a8e36d78527d80fdea97e9a6b4b8a3140

What was observed

{
  "count": 10,
  "tools": [
    {
      "description": "Send a request to a listing's x402 endpoint through Agentropolis and get the seller's raw response back (status, headers, body). Use it only for listings whose search result has buy='relay_x402' (links.call present); for any other listing, call the seller directly using get_kit_manifest. Flow: call without payment, receive HTTP 402 with the seller's payment requirements unchanged, sign a payment with your own wallet to the seller's payTo, then call again with payment_signature (x402 v2) or x_payment (v1). Agentropolis holds no keys or funds, never changes payTo or amount and charges no fee, but a signed payment you pass is forwarded and may be settled by the seller, so real money can move. Limits: seller's own https host only, 256 KB request, 2 MB response, 25 s timeout (longer for slow first-party kits), 20 calls/min per client. Example: {\"id\":\"seenly.seenly-token-preflight\",\"endpoint\":\"/api/token-preflight\",\"method\":\"POST\",\"body\":{\"chain\":\"base\",\"tokenAddress\":\"0x4ed4E862860beD51a9570b96d89aF5E1B0Efefed\"}}.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "body": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "additionalProperties": {},
                "propertyNames": {
                  "type": "string"
                },
                "type": "object"
              }
            ],
            "description": "Request body. An object is sent as JSON; a string is sent as-is with content_type."
          },
          "content_type": {
            "description": "Content-Type for a string body, e.g. 'text/plain'. Ignored for object bodies (sent as application/json).",
            "type": "string"
          },
          "endpoint": {
            "description": "Path (e.g. '/api/script') or full https URL on the seller's own host. Defaults to the listing's primary endpoint.",
            "type": "string"
          },
          "id": {
            "description": "Listing id exactly as returned by search_kits results[].id, e.g. 'seenly.seenly-token-preflight' or 'mcp.io-github-owner-name'.",
            "minLength": 3,
            "type": "string"
          },
          "method": {
            "description": "HTTP method; defaults to POST when a body is given, else GET.",
            "enum": [
              "GET",
              "POST",
              "PUT",
              "PATCH",
              "DELETE"
            ],
            "type": "string"
          },
          "payment_signature": {
            "description": "Signed PAYMENT-SIGNATURE header value (x402 v2) from your own wallet; forwarded unchanged. Omit on the first call.",
            "type": "string"
          },
          "query": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Query-string parameters to append, e.g. {\"q\":\"news\"}.",
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          },
          "x_payment": {
            "description": "Signed X-PAYMENT header value (x402 v1) from your own wallet; forwarded unchanged. Omit on the first call.",
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "call_kit"
    },
    {
      "description": "Build a URL that searches Coinbase's x402 Bazaar (Agentic.Market) for a query. Use it when you want x402 services that may be missing from the Agentropolis index; it only returns a link for you or your user to open. Agentropolis makes no request to Coinbase and does not cache or republish Bazaar data (their terms forbid it). Read-only. Example: {\"q\":\"web search\"}.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "q": {
            "description": "Search words to prefill on Agentic.Market, e.g. 'image generation'. Omit for the home page.",
            "maxLength": 200,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "get_bazaar_link"
    },
    {
      "description": "Get the full Agentropolis record for one listing by id: summary, pricing, payment-verified trust evidence (verified buyers, settlements, wash flags, disclosed test sales), badge tiers, sources and links. Use it after search_kits to judge whether a listing is worth using; use get_kit_manifest instead when you need the machine-readable invoke contract (endpoints, schemas, payment offers). Read-only, no auth; logs an anonymous detail view for seller analytics. Unknown ids return an error result with error 'not_found'. Example: {\"id\":\"seenly.seenly-token-preflight\"}.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "id": {
            "description": "Listing id exactly as returned by search_kits results[].id, e.g. 'seenly.seenly-token-preflight' or 'mcp.io-github-owner-name'.",
            "minLength": 3,
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "get_kit"
    },
    {
      "description": "Get the kit.json v0.1 manifest for one listing: how to call it (HTTP, MCP or A2A endpoints), input/output schema references, payment offers (rail, network, asset, payTo, amount), discovery files and a trust summary. Use it when you are about to call a listing yourself; use get_kit for human-readable details and trust evidence, or call_kit to call an x402 listing through Agentropolis. Read-only, no auth. For seller-published kits this mirrors the seller's own kit.json; for seeded listings it is generated from public metadata and may be incomplete, so prefer the seller's live 402 challenge for exact prices. Example: {\"id\":\"seenly.seenly-pitch-kit\"}.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "id": {
            "description": "Listing id exactly as returned by search_kits results[].id, e.g. 'seenly.seenly-token-preflight' or 'mcp.io-github-owner-name'.",
            "minLength": 3,
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "name": "get_kit_manifest"
    },
    {
      "description": "Get 30-day x402 paid-usage statistics per category, with wash trading filtered out: services with paid usage, verified buyers, settlements, median listed price and listings excluded for wash signals. Use it for market sizing or price benchmarking; to find individual tools use search_kits. Read-only, no parameters. Data: x402-list.com measured settlements (CC BY 4.0, attribute when quoting) plus Agentropolis wash filtering. Buyer counts are summed per service, so a wallet that pays several services is counted once per service. Same data as /stats and the weekly reports at /reports.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {},
        "type": "object"
      },
      "name": "get_market_snapshot"
    },
    {
      "description": "List Agentropolis platform features with status (live, partial, stub, planned), endpoint and guardrails: badges, the x402 relay, seller claims and analytics, sponsored placement, market data, billing. Use it to check whether a platform capability exists before relying on it; it describes Agentropolis itself, not listings. Read-only, no parameters. Stub endpoints answer HTTP 501; payments_enabled shows whether Agentropolis charges for anything (currently false).",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {},
        "type": "object"
      },
      "name": "get_roadmap"
    },
    {
      "description": "Explain how Agentropolis computes trust scores (method hub-trust-v0.1) and ranks search results: which payment evidence counts, wash-trading exclusions, low-sample caps, why our own test purchases never count, and what a null score means. Use it to interpret the trust and badge fields from search_kits or get_kit; it returns the method, not any listing's score. Read-only, no parameters.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {},
        "type": "object"
      },
      "name": "get_trust_method"
    },
    {
      "description": "List every category in the Agentropolis index with its listing count, largest first (about 18 snake_case ids such as web_search, crypto_onchain_data, llm_inference). Use it to pick a valid value for search_kits' category filter or to see what the index covers; for paid-usage numbers per category use get_market_snapshot. Read-only, no parameters. Category pages with prices and verified buyers: /categories.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {},
        "type": "object"
      },
      "name": "list_categories"
    },
    {
      "description": "List the registries and directories Agentropolis ingests or deliberately excludes, with each source's license or terms decision, robots handling and listing count (e.g. Official MCP Registry CC0, x402-list.com CC BY 4.0; Coinbase Bazaar link-out only). Use it to check provenance or the attribution required before citing results; it does not search listings (use search_kits). Read-only, no parameters.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {},
        "type": "object"
      },
      "name": "list_sources"
    },
    {
      "description": "Search the Agentropolis index of 52,022 agent-usable listings (MCP servers, x402/MPP pay-per-call HTTP APIs, A2A agents and kits) by task keywords, with optional filters. Use it first when you need a tool for a task; then use get_kit for one listing's trust evidence and price, or get_kit_manifest for how to call it. Not for browsing categories (list_categories) or market totals (get_market_snapshot). Read-only, no auth, never pays. Ranking: BM25 text relevance, boosted by payment-verified trust and the earned Live-Tested badge; trust.score null means no payment evidence (not a negative signal). results[] is organic; featured[] is a separate, labelled Agentropolis Pro row (today only our own first-party kits, no fee paid) and sponsored[] is always empty. Listed prices are hints; the seller's live HTTP 402 challenge is authoritative. Each search is logged anonymously (query text, no raw IP). Example: {\"q\":\"web search\",\"rail\":\"x402\",\"max_price_usd\":0.01,\"min_trust\":40}.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "category": {
            "description": "Category id from list_categories, e.g. 'web_search' or 'crypto_onchain_data'. Comma-separate to allow several.",
            "type": "string"
          },
          "kind": {
            "description": "Restrict to one listing type: kit (packaged task API), http_api (pay-per-call HTTP API), mcp_server, a2a_agent. Omit for all.",
            "enum": [
              "kit",
              "http_api",
              "mcp_server",
              "a2a_agent"
            ],
            "type": "string"
          },
          "limit": {
            "description": "Number of organic results to return, 1-25 (default 10).",
            "maximum": 25,
            "minimum": 1,
            "type": "integer"
          },
          "max_price_usd": {
            "description": "Only listings whose lowest listed price per call/unit is at most this many US dollars, e.g. 0.01. Listings without a known price are excluded when set.",
            "minimum": 0,
            "type": "number"
          },
          "min_trust": {
            "description": "Only listings with a payment-verified trust score of at least this value (0-100). Excludes listings with no payment evidence.",
            "maximum": 100,
            "minimum": 0,
            "type": "number"
          },
          "paid_only": {
            "description": "true = only listings that accept a payment rail (x402 or MPP).",
            "type": "boolean"
          },
          "q": {
            "description": "What the agent needs, in plain words: 'web search', 'transcribe audio with speakers', 'postgres', 'token honeypot check'. Keywords beat full sentences.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "rail": {
            "description": "Only listings that accept this payment rail: x402 (USDC on-chain, per call) or mpp (Machine Payments Protocol).",
            "enum": [
              "x402",
              "mpp"
            ],
            "type": "string"
          }
        },
        "required": [
          "q"
        ],
        "type": "object"
      },
      "name": "search_kits"
    }
  ]
}

What the leaf hashes

{"body":"04a32bd966091889d9f5ea99737fc3804f84e5c2914f3541375ff332e4e599ec","id":568891,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793139151054213,"prev":null,"subject":"ca59e8f4-9c18-4ec4-9124-d495f0d1fd6e","subject_kind":"endpoint"}

Proof

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

  1. 0x081e15337cae127fd7698573c24d8fb242fe3e7d2368534caebe35ccd2a396f8
  2. 0xa895cef89e00253153f1a216f84baadf29bd201cb19989199d452e750b9b59ee
  3. 0x0d071c73c97809ed72b7b85f03882439f4d4aabb0a3e66de8d02ceda9b140537
  4. 0x59478319e1e05af12fec0542db2c0bada292e03d4a64d86d099601329c7d58ff
  5. 0x3811d6d5b998eef3392bfca74a1ce30fafed8a15cf4b824da9eb3672372f9bca
  6. 0xe77fc24b5bc8a90712dea5119457ce06d1daaabdeac2226801bfcf099ed8816f
  7. 0xd0fa7ddfed469af5d2905fda29889847ac6690d5f876f9fcc8fac72db0f83308
  8. 0x354a4229b96bb5fae4d5f223bfe84dfb41ffdd153c7b3497e9753347d04d4f48
  9. 0xb2e39e06a7b16042f70cb7a771255e24721c9d9c2a3e1822ed70f41cb606d2bf
  10. 0x86f0394422ce304f6d19bc08db2c67189ede4735d6496d0a633e1a055951a6b2
  11. 0x32ff11116925d4f6cb886f2b10aaee347411638da7594e1a01520f7289fefe5e
  12. 0x032ecda033bf8a986e559148b1dda067c67bf4dee01f0000782b450c72286406
  13. 0x74ffd6144e8464591ea30392b981f197426cfd361178829fb8a66915e2f727b0
  14. 0x3e0ec8a2a8a954695a9b53a4a48a7656d7e3fd6a8795c73b49e2ef05b201ec3f
  15. 0x2cf27e8a181d60d0dd27c186c2eddfcbb4e8fa71cf66feeb55a4d730e15ee8c4
  16. 0x518b93854db03dc9fc938883abf30da6eaae5ae0d4336903968fd32a7df8c71b
  17. 0x22c1fb9487ee0b9732fa017a0cc321eb27a60c08450d112f755089796e12cb1c
  18. 0xa20d48798a34aba12eb9c7297722982d910f06c148f5e27ac59307422964a585
  19. 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
Day root
0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
Chained
0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
Published
On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4

How to check it · This row as JSON