← The evidence ledger
Evidence row 571135
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 5a27c13e-b318-4be1-95bc-cb22a24c59e1
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- d5c2fc3e227dd0c462250faa99a5667d5cd0e68365c580a450cc9a20c4d67388
- Leaf
- 0x7b5e539f254e0c25a3e0e8b969309e98096e7844daf0bc1015bb7a3dbd23d809
What was observed
{
"count": 12,
"tools": [
{
"description": "Get the public badge snippet for any submission. No control token required. Installing it on the submitted website proves control.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"id": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_badge"
},
{
"description": "Read one published listing by slug or listing ID: description, FAQ, pricing, platforms, links, screenshots, verified store and GitHub data, and passed agent-readiness checks.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"slug": {
"maxLength": 120,
"minLength": 1,
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "get_project"
},
{
"description": "Read private status, listing completeness, suggested faq_questions, the private agent-readiness report, and exact next actions.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"control_token": {
"pattern": "^[a-f0-9]{64}$",
"type": "string"
},
"id": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "get_submission"
},
{
"description": "Read valid category and tag IDs.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "get_taxonomy"
},
{
"description": "List every valid category ID, name, and alias. Choose one primary category.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_categories"
},
{
"description": "Browse published projects only. Use page to read more results.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"type": "string"
},
"page": {
"default": 1,
"maximum": 10000,
"minimum": 1,
"type": "integer"
},
"query": {
"maxLength": 120,
"type": "string"
},
"tag": {
"type": "string"
}
},
"type": "object"
},
"name": "list_projects"
},
{
"description": "List all valid tag IDs, names, and aliases. Submit suggestions as comma-separated values.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_tags"
},
{
"description": "Anyone may pay the $4.99 badge waiver for an eligible submission after website and content verification. No submission control token is needed. Use checkout for a hosted Managed Checkout link. Use mpp with an authorized MPP payment client for a direct payment sold by submitby.ai, outside Managed Payments. When MPP is disabled, Managed Checkout remains available. Never ask for card details in chat.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"id": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
},
"method": {
"default": "checkout",
"enum": [
"mpp",
"checkout"
],
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "purchase_badge_waiver"
},
{
"description": "Recover a lost control token by proving website control. First omit recovery_id, save the new token, and install the returned file. Then call again with recovery_id. Never share tokens publicly.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"id": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
},
"recovery_id": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "recover_submission"
},
{
"description": "Create a private project draft. No signup. Save the returned control token securely. Reuse the same random idempotency key for retries. Optional listing fields (tagline, long_description, audience, not_for, screenshots, video_url, pricing, platforms, links, mcp_url, openapi_url, app_store_url, play_store_url, alternatives, faq) raise listing completeness; write them in your own words from facts on the website.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"alternatives": {
"description": "Websites of similar products.",
"items": {
"maxLength": 2048,
"type": "string"
},
"maxItems": 5,
"type": "array"
},
"app_store_url": {
"maxLength": 2048,
"type": "string"
},
"audience": {
"description": "Who the project is for.",
"maxLength": 500,
"minLength": 10,
"type": "string"
},
"category": {
"maxLength": 100,
"type": "string"
},
"description": {
"default": "",
"maxLength": 500,
"type": "string"
},
"faq": {
"description": "Answer the faq_questions from get_submission, or your own. Answers must match the website.",
"items": {
"additionalProperties": false,
"properties": {
"answer": {
"maxLength": 1000,
"minLength": 20,
"type": "string"
},
"question": {
"maxLength": 200,
"minLength": 5,
"type": "string"
}
},
"required": [
"question",
"answer"
],
"type": "object"
},
"maxItems": 10,
"type": "array"
},
"icon_url": {
"anyOf": [
{
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"description": "Optional public HTTPS icon URL. Omit or set null to discover the first Apple touch icon, then the favicon."
},
"idempotency_key": {
"maxLength": 128,
"minLength": 32,
"type": "string"
},
"links": {
"additionalProperties": {
"maxLength": 2048,
"type": "string"
},
"description": "Official profiles and pages of the project.",
"propertyNames": {
"enum": [
"x",
"bluesky",
"mastodon",
"linkedin",
"github",
"discord",
"youtube",
"reddit",
"producthunt",
"docs",
"changelog",
"pricing",
"status",
"blog"
],
"type": "string"
},
"type": "object"
},
"long_description": {
"description": "Plain text, 200-800 words. Separate paragraphs with a blank line. Explain what it does, how it works, and how it differs. Do not copy website text.",
"maxLength": 6000,
"minLength": 300,
"type": "string"
},
"mcp_url": {
"description": "Remote MCP endpoint. We check that it answers initialize.",
"maxLength": 2048,
"type": "string"
},
"name": {
"maxLength": 80,
"minLength": 2,
"type": "string"
},
"not_for": {
"description": "Who should choose something else.",
"maxLength": 500,
"minLength": 10,
"type": "string"
},
"openapi_url": {
"maxLength": 2048,
"type": "string"
},
"platforms": {
"items": {
"enum": [
"web",
"ios",
"ipados",
"watchos",
"visionos",
"android",
"macos",
"windows",
"linux",
"chrome",
"firefox",
"safari",
"vscode",
"cli",
"api",
"mcp",
"wordpress",
"figma",
"slack",
"other"
],
"type": "string"
},
"maxItems": 12,
"type": "array"
},
"play_store_url": {
"maxLength": 2048,
"type": "string"
},
"pricing": {
"additionalProperties": false,
"properties": {
"free_plan": {
"type": "boolean"
},
"model": {
"enum": [
"free",
"freemium",
"free_trial",
"paid",
"open_source",
"contact_sales"
],
"type": "string"
},
"starting_price": {
"description": "For example: $6/month.",
"maxLength": 40,
"type": "string"
}
},
"required": [
"model"
],
"type": "object"
},
"route": {
"default": "badge",
"enum": [
"badge",
"paid"
],
"type": "string"
},
"screenshots": {
"description": "Up to 8 screenshots. We copy them; hosted images must stay public until verification finishes.",
"items": {
"additionalProperties": false,
"properties": {
"alt": {
"maxLength": 200,
"minLength": 3,
"type": "string"
},
"url": {
"description": "Public HTTPS PNG, JPEG, or WebP, max 2 MB.",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"url",
"alt"
],
"type": "object"
},
"maxItems": 8,
"type": "array"
},
"tagline": {
"description": "One line, in your own words. Shown on cards.",
"maxLength": 100,
"minLength": 10,
"type": "string"
},
"tags": {
"maxLength": 1500,
"type": "string"
},
"url": {
"maxLength": 2048,
"type": "string"
},
"video_url": {
"description": "Public demo video page.",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"url",
"name",
"idempotency_key"
],
"type": "object"
},
"name": "submit_project"
},
{
"description": "Update the name, description, or any listing field. Send null to remove a field. Changes run the automatic checks again; the listing stays in review until they pass.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"alternatives": {
"anyOf": [
{
"description": "Websites of similar products.",
"items": {
"maxLength": 2048,
"type": "string"
},
"maxItems": 5,
"type": "array"
},
{
"type": "null"
}
]
},
"app_store_url": {
"anyOf": [
{
"maxLength": 2048,
"type": "string"
},
{
"type": "null"
}
]
},
"audience": {
"anyOf": [
{
"description": "Who the project is for.",
"maxLength": 500,
"minLength": 10,
"type": "string"
},
{
"type": "null"
}
]
},
"category": {
"maxLength": 100,
"type": "string"
},
"control_token": {
"pattern": "^[a-f0-9]{64}$",
"type": "string"
},
"description": {
"default": "",
"maxLength": 500,
"type": "string"
},
"faq": {
"anyOf": [
{
"description": "Answer the faq_questions from get_submission, or your own. Answers must match the website.",
"items": {
"additionalProperties": false,
"properties": {
"answer": {
"maxLength": 1000,
"minLength": 20,
"type": "string"
},
"question": {
"maxLength": 200,
"minLength": 5,
"type": "string"
}
},
"required": [
"question",
"answer"
],
"type": "object"
},
"maxItems": 10,
"type": "array"
},
{
"type": "null"
}
]
},
"icon_url": {
"anyOf": [
{
"maxLength": 2048,
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
],
"description": "Optional public HTTPS icon URL. Omit or set null to discover the first Apple touch icon, then the favicon."
},
"id": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
},
"links": {
"anyOf": [
{
"additionalProperties": {
"maxLength": 2048,
"type": "string"
},
"description": "Official profiles and pages of the project.",
"propertyNames": {
"enum": [
"x",
"bluesky",
"mastodon",
"linkedin",
"github",
"discord",
"youtube",
"reddit",
"producthunt",
"docs",
"changelog",
"pricing",
"status",
"blog"
],
"type": "string"
},
"type": "object"
},
{
"type": "null"
}
]
},
"long_description": {
"anyOf": [
{
"description": "Plain text, 200-800 words. Separate paragraphs with a blank line. Explain what it does, how it works, and how it differs. Do not copy website text.",
"maxLength": 6000,
"minLength": 300,
"type": "string"
},
{
"type": "null"
}
]
},
"mcp_url": {
"anyOf": [
{
"description": "Remote MCP endpoint. We check that it answers initialize.",
"maxLength": 2048,
"type": "string"
},
{
"type": "null"
}
]
},
"name": {
"maxLength": 80,
"minLength": 2,
"type": "string"
},
"not_for": {
"anyOf": [
{
"description": "Who should choose something else.",
"maxLength": 500,
"minLength": 10,
"type": "string"
},
{
"type": "null"
}
]
},
"openapi_url": {
"anyOf": [
{
"maxLength": 2048,
"type": "string"
},
{
"type": "null"
}
]
},
"platforms": {
"anyOf": [
{
"items": {
"enum": [
"web",
"ios",
"ipados",
"watchos",
"visionos",
"android",
"macos",
"windows",
"linux",
"chrome",
"firefox",
"safari",
"vscode",
"cli",
"api",
"mcp",
"wordpress",
"figma",
"slack",
"other"
],
"type": "string"
},
"maxItems": 12,
"type": "array"
},
{
"type": "null"
}
]
},
"play_store_url": {
"anyOf": [
{
"maxLength": 2048,
"type": "string"
},
{
"type": "null"
}
]
},
"pricing": {
"anyOf": [
{
"additionalProperties": false,
"properties": {
"free_plan": {
"type": "boolean"
},
"model": {
"enum": [
"free",
"freemium",
"free_trial",
"paid",
"open_source",
"contact_sales"
],
"type": "string"
},
"starting_price": {
"description": "For example: $6/month.",
"maxLength": 40,
"type": "string"
}
},
"required": [
"model"
],
"type": "object"
},
{
"type": "null"
}
]
},
"route": {
"default": "badge",
"enum": [
"badge",
"paid"
],
"type": "string"
},
"screenshots": {
"anyOf": [
{
"description": "Up to 8 screenshots. We copy them; hosted images must stay public until verification finishes.",
"items": {
"additionalProperties": false,
"properties": {
"alt": {
"maxLength": 200,
"minLength": 3,
"type": "string"
},
"url": {
"description": "Public HTTPS PNG, JPEG, or WebP, max 2 MB.",
"maxLength": 2048,
"type": "string"
}
},
"required": [
"url",
"alt"
],
"type": "object"
},
"maxItems": 8,
"type": "array"
},
{
"type": "null"
}
]
},
"tagline": {
"anyOf": [
{
"description": "One line, in your own words. Shown on cards.",
"maxLength": 100,
"minLength": 10,
"type": "string"
},
{
"type": "null"
}
]
},
"tags": {
"maxLength": 1500,
"type": "string"
},
"video_url": {
"anyOf": [
{
"description": "Public demo video page.",
"maxLength": 2048,
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id"
],
"type": "object"
},
"name": "update_submission"
},
{
"description": "Request website and badge verification. Call after installing the returned snippet or file.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"control_token": {
"pattern": "^[a-f0-9]{64}$",
"type": "string"
},
"id": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"name": "verify_submission"
}
]
}What the leaf hashes
{"body":"d5c2fc3e227dd0c462250faa99a5667d5cd0e68365c580a450cc9a20c4d67388","id":571135,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793140064453922,"prev":null,"subject":"5a27c13e-b318-4be1-95bc-cb22a24c59e1","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (273461 rows).
- 0x7b5e3165aede92a31bb69dbddda490b8cac8b5ed1757b5e1feb064e9a2b6b6f5
- 0x6a87fb805d4c7e6d1e4ac874d03c07ab4f0ea3ab266c646420193918f6d47f8a
- 0x2e668b92a945a18fdd19c772481edd36292dd8cf303075e5d4a44ac626f0cfd4
- 0x3b38f35cf7e117ea610da4fe7ba25f9d0a49f732bc0f574967993984b9ab58de
- 0xcd74dac3e592332701b7e25e955e3a9cef0c911e525267475bcddc1352dad921
- 0xa6a96cb5b1b821f42de526cc270eb734ce29d7d77bde3b08b3ecab3310daacd2
- 0xcd734969d45e32fb505d34edcc8b15a906106c92cfce3f03e66e6343d9d17fcb
- 0x5aa1a12f2595f8807bbfdd7c8909cd9acf00887ce8d121664407aa9c3d00a377
- 0x357af4e2bb1e45d1ef125a53cc7db2b7668224743f63b90b329525d916a4452e
- 0x7dd3f687b0ad4363a3dbdbd52e7f46ad9d425ee75eb439e90516eb43f30d8ce9
- 0x5fc4b0a456927c5c4428f8a799b89307f1fd731fdb306738036ae0bbf1f21fd8
- 0x98815e62072eb9319b52d9744169ae17850c056887ffbb325e7f2f9ed317a6a0
- 0xbc7cf10ae301dcdbc5db5be8c29e1b3618ffaf1c196a74cb6a9e6c4fae0bbeed
- 0xfa0c8e8f1a1710ff197533b0a28208f2e168afe71abb7bb3416e09d1ac371d60
- 0x3c500ec3d3edf0c74b87a6ca8fcd77656bfbe03db3d478bd0c184d0c88839c6b
- 0xfecf3d4646dd4984a13dd715499e842c3fde63692336d97394c2bfd8e877ca5d
- 0xf30fddbf4811226c58e8f0daf36fddd79fc5f1356b592bb1d99a8061ddbabe66
- 0x2bf8151e5f157dd183b9de6fa00469551932a7a6e3f33a694895000ac9061197
- 0x9fc354c0ea3efc3f1b6548bb77ea902a50f2c9647647ea61592efce2bd795699
- Day root
- 0xdd77e5e99da32c3f154180d63e3c3e6fe11e896a2c6896412ef6b5c4bcf7e795
- Chained
- 0x23bb4dfd09f55c15ac3962f53578e02c6114d5bfd9bb451cf8794fb6e2817ef4
- Published
- On Arc Testnet, block 69414147: 0xb2ebd83aafeb765a0ce66e76aefb133ed06606c98038fd56191e2bcd1dcb77b4