addrbookFor publishers
← The evidence ledger

Evidence row 1758793

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 52d53890-53d1-4494-9aa8-44756e573d4e
Recorded
Previous row
#1490082
Body SHA-256
e4bde2fbb639bb9d74d2010b779d03636305cddfc49f45f3c9f3cdb1112325ab
Leaf
0xa243a41717468aa9956356d3a491373ff1e7ac72f908740323960c0084c8b052

What was observed

{
  "count": 35,
  "tools": [
    {
      "description": "Reads a public RSS feed (or Apple/Spotify link) and lists its episodes with which are already on Podgist and the price to transcribe the rest. Free; no key needed; at most 10 a minute.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "url": {
            "format": "uri",
            "maxLength": 2000,
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "name": "analyze_feed"
    },
    {
      "description": "Starts a cited answer drawn only from what was said on podcasts. Returns a job_id; call get_answer with it until status is complete (usually under a minute). Needs an API key; billed per question (see list_services).",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "question": {
            "maxLength": 500,
            "minLength": 3,
            "type": "string"
          }
        },
        "required": [
          "question"
        ],
        "type": "object"
      },
      "name": "ask_question"
    },
    {
      "description": "A link for a person to change the card, see invoices or cancel a card subscription. Needs the \"billing\" scope.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "name": "billing_portal_link"
    },
    {
      "description": "Cancel the account's card-paid Professional plan at period end (provider \"stripe\", undo to keep it), or its PayPal subscription (provider \"paypal\"), exactly as the account page does. Prepaid terms bought with the balance never renew, so need no cancelling. Needs the \"billing\" scope.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "provider": {
            "enum": [
              "stripe",
              "paypal"
            ],
            "type": "string"
          },
          "undo": {
            "type": "boolean"
          }
        },
        "required": [
          "provider"
        ],
        "type": "object"
      },
      "name": "cancel_subscription"
    },
    {
      "description": "A checkout link for a person to pay this quote by card (when the balance or a cap stops order). The quote can then only be paid by that link; asking again returns the same link. Needs the \"billing\" scope.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "quote_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "quote_id"
        ],
        "type": "object"
      },
      "name": "checkout_quote"
    },
    {
      "description": "Remove a question from the Ask history (restore_ask puts it back). Needs the \"account\" scope.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "job_id": {
            "maxLength": 64,
            "minLength": 8,
            "type": "string"
          }
        },
        "required": [
          "job_id"
        ],
        "type": "object"
      },
      "name": "delete_ask"
    },
    {
      "description": "Public podcasts whose name contains the text, most-transcribed first, with their slug (for the podcast filter of search_transcripts). Free; no key needed. At most 20 results.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 2,
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "name": "find_podcasts"
    },
    {
      "description": "Follow a podcast (as the Follow button does). Needs the \"account\" scope. Free.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "podcast": {
            "description": "A slug or podcast_id from find_podcasts.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "podcast"
        ],
        "type": "object"
      },
      "name": "follow_podcast"
    },
    {
      "description": "Plan, subscriptions, AI credits, follows, purchases and summary-email settings, as the account page shows them. Free.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "name": "get_account"
    },
    {
      "description": "The status and, once complete, the answer and its cited passages for a job from ask_question. Needs the API key that asked. Not billed.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "job_id": {
            "maxLength": 64,
            "minLength": 8,
            "type": "string"
          }
        },
        "required": [
          "job_id"
        ],
        "type": "object"
      },
      "name": "get_answer"
    },
    {
      "description": "Podgist's own news posts. Free.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "name": "get_news"
    },
    {
      "description": "One order and each episode's status (waiting, transcribed, refunded). Free.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "order_id": {
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "order_id"
        ],
        "type": "object"
      },
      "name": "get_order"
    },
    {
      "description": "Description, links, how many episodes are transcribed, the latest episode, and the price to transcribe an episode or subscribe. Free; no key needed.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "podcast": {
            "description": "A slug or podcast_id from find_podcasts.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "podcast"
        ],
        "type": "object"
      },
      "name": "get_podcast"
    },
    {
      "description": "This week's topics across podcasts, or one topic by slug. Free.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "topic": {
            "maxLength": 200,
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "get_topics"
    },
    {
      "description": "One episode's transcript, with speaker turns and timestamps, by podcast and episode id (the sid and pid of a search result). Only what the key's account may read. Needs an API key; billed per transcript (see list_services).",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "episode_id": {
            "format": "uuid",
            "type": "string"
          },
          "podcast_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "podcast_id",
          "episode_id"
        ],
        "type": "object"
      },
      "name": "get_transcript"
    },
    {
      "description": "The key's account balance and monthly allowance, and its calls and cost per day over the last 30 days. Needs an API key. Not billed.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "name": "get_usage"
    },
    {
      "description": "This account's questions, newest first, site and API alike. Free.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "before": {
            "maxLength": 64,
            "type": "string"
          },
          "q": {
            "maxLength": 200,
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "list_ask_history"
    },
    {
      "description": "The AI-question credit packs and their prices. Free.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "name": "list_credit_tiers"
    },
    {
      "description": "Episodes newest first, 25 a page: title, date, length, whether transcribed (with its link) and, if not, the price to transcribe it. Page 1 is free with no key; each later page needs a key and is billed at the catalog rate (list_services).",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "page": {
            "maximum": 400,
            "minimum": 1,
            "type": "integer"
          },
          "podcast": {
            "description": "A slug or podcast_id from find_podcasts.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "transcribed_only": {
            "type": "boolean"
          }
        },
        "required": [
          "podcast"
        ],
        "type": "object"
      },
      "name": "list_episodes"
    },
    {
      "description": "The podcasts this account follows. Free.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "name": "list_follows"
    },
    {
      "description": "This account's orders paid from the API balance, newest first. Free.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "before": {
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "list_orders"
    },
    {
      "description": "Lists the tools, which need an API key, and the current price per call. Free; no key needed.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "name": "list_services"
    },
    {
      "description": "Buys what a quote is for, charging its price to the account's prepaid API balance (never a card). At most $50 an order and $200 a day. Episodes that are never transcribed are refunded automatically. Needs the \"order\" scope.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "idempotency_key": {
            "description": "Any unique string; retrying with the same one never pays twice.",
            "maxLength": 200,
            "minLength": 8,
            "type": "string"
          },
          "quote_id": {
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "quote_id",
          "idempotency_key"
        ],
        "type": "object"
      },
      "name": "order"
    },
    {
      "description": "A quote for one credit pack (tier from list_credit_tiers).",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "tier": {
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "tier"
        ],
        "type": "object"
      },
      "name": "quote_credits"
    },
    {
      "description": "The price for this account to transcribe one episode (or, if transcribed, to read it), held 30 minutes. Needs a key with the \"order\" scope. Not billed; nothing is bought until order.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "episode": {
            "description": "An episode_id from list_episodes.",
            "format": "uuid",
            "type": "string"
          },
          "podcast": {
            "description": "A slug or podcast_id from find_podcasts.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "podcast",
          "episode"
        ],
        "type": "object"
      },
      "name": "quote_episode"
    },
    {
      "description": "The price to transcribe chosen episodes of a feed (episode ids from analyze_feed), with volume pricing. Needs a key with the \"order\" scope. Not billed until order.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "episode_ids": {
            "items": {
              "type": "string"
            },
            "maxItems": 500,
            "minItems": 1,
            "type": "array"
          },
          "feed_url": {
            "format": "uri",
            "maxLength": 2000,
            "type": "string"
          }
        },
        "required": [
          "feed_url",
          "episode_ids"
        ],
        "type": "object"
      },
      "name": "quote_index"
    },
    {
      "description": "A prepaid term of one month or year, paid from the balance, that never renews by itself: \"podcast\" (every transcript of one show), \"all\" (every transcript) or \"professional\" (all access plus the API).",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "interval": {
            "enum": [
              "month",
              "year"
            ],
            "type": "string"
          },
          "podcast": {
            "description": "A slug or podcast_id from find_podcasts.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "product": {
            "enum": [
              "podcast",
              "all",
              "professional"
            ],
            "type": "string"
          }
        },
        "required": [
          "product",
          "interval"
        ],
        "type": "object"
      },
      "name": "quote_subscription"
    },
    {
      "description": "Email the account's address a password-reset code, as \"Forgot password\" does; the person sets the new password. Needs the \"account\" scope.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "name": "request_password_reset"
    },
    {
      "description": "Put a deleted question back in the Ask history. Needs the \"account\" scope.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "job_id": {
            "maxLength": 64,
            "minLength": 8,
            "type": "string"
          }
        },
        "required": [
          "job_id"
        ],
        "type": "object"
      },
      "name": "restore_ask"
    },
    {
      "description": "Revoke the API key making this call, for good. Other keys are managed only by the person.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {},
        "required": [],
        "type": "object"
      },
      "name": "revoke_this_key"
    },
    {
      "description": "Full-text search across transcripts: matching episodes with snippets, newest relevance first, 20 a page. Optional podcast slug and date range (YYYY-MM-DD). Needs an API key; billed per search (see list_services).",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "date_from": {
            "format": "date",
            "type": "string"
          },
          "date_to": {
            "format": "date",
            "type": "string"
          },
          "page": {
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "podcast": {
            "description": "A slug from find_podcasts.",
            "type": "string"
          },
          "query": {
            "maxLength": 500,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "search_transcripts"
    },
    {
      "description": "Turn the summary email on or off, set daily or weekly and the weekly day, or include one followed podcast (podcast + enabled). Needs the \"account\" scope. Free.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "frequency": {
            "enum": [
              "daily",
              "weekly"
            ],
            "type": "string"
          },
          "podcast": {
            "description": "A slug or podcast_id from find_podcasts.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "points": {
            "minimum": 1,
            "type": "integer"
          },
          "start": {
            "type": "string"
          }
        },
        "required": [],
        "type": "object"
      },
      "name": "set_email_settings"
    },
    {
      "description": "The public link to one of this account's answered questions.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "job_id": {
            "maxLength": 64,
            "minLength": 8,
            "type": "string"
          }
        },
        "required": [
          "job_id"
        ],
        "type": "object"
      },
      "name": "share_ask"
    },
    {
      "description": "A checkout link for a person to add funds to the API balance by card; nothing is charged by the agent. Needs the \"billing\" scope.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "amount": {
            "minimum": 1,
            "type": "number"
          },
          "idempotency_key": {
            "description": "Any unique string; retrying with the same one never pays twice.",
            "maxLength": 200,
            "minLength": 8,
            "type": "string"
          }
        },
        "required": [
          "amount",
          "idempotency_key"
        ],
        "type": "object"
      },
      "name": "start_topup"
    },
    {
      "description": "Stop following a podcast. Needs the \"account\" scope. Free.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "podcast": {
            "description": "A slug or podcast_id from find_podcasts.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "podcast"
        ],
        "type": "object"
      },
      "name": "unfollow_podcast"
    }
  ]
}

What the leaf hashes

{"body":"e4bde2fbb639bb9d74d2010b779d03636305cddfc49f45f3c9f3cdb1112325ab","id":1758793,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793529739305494,"prev":1490082,"subject":"52d53890-53d1-4494-9aa8-44756e573d4e","subject_kind":"endpoint"}

Proof

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

  1. 0xa2438ca5b37112219bc958c5407542ddde8873fe61bbb9890c2420445a3447b4
  2. 0x20feeebd024801b3446697323bc584c9e0bd1f50552e1014ebfc6c4d84f4a82f
  3. 0x306d079b392cc527cb1b6448a066ab57a73a200164e49449ee0e237448040535
  4. 0xa6fb6830bfec9e49ccaa3d730088c6641bf976ae697a5905f6c99f91f5f2a745
  5. 0x875058dd197dd382554604e76fd6a918b2551c1c02149a3e90af3e7c7c3bcb65
  6. 0x414c8cfd2f4658513133dc79d1562981cb7d439ac8aeaf32a45ff5ecd234f9d8
  7. 0xc5d16ec3307a02d3ec449f14d9fb9eb1d300a14ebb1249adde2467fd385b4444
  8. 0xaddb0265b5da4a8a6cf1dc34d1f0045fe0aa1faf55799e6d7484eb0f01a67502
  9. 0x978b83d43a05a1dc910427dc5faa96cb7311e2aade57ce5ad79592330312e4dd
  10. 0xd79b21c21409782fff36edc5151fc871b5a4d39eaa582246b4652a505cd0b739
  11. 0x47994b4ad552e5e598594ef55a5506460e81a3fbdfb225aa638302053116b42e
  12. 0xb07f228eac6db8825710e10582bb3eefd4afac416e47c9f92234daccdfa086d0
  13. 0x4d2f8da78dc8a660de1d8b86f0083d4295117c283b6de5334a6a9d06be22e64e
  14. 0x699b83b189435f7ea2dc2d6d4f13262932214c0f9293f3ad20a20f7633995f1b
  15. 0x4a900ec4cce00639b2e45adc5a7ba556793a171aadb927fa15d539147429570d
  16. 0xc2b1c84ef3531511a3d8d9db5ff9eeca2725a3782e7f9c4ac87fc0f1588349fa
  17. 0x0c618c42b286ad61acd8204aa6dcf024b8b041d3759aa585bf4e221abc39cb5d
  18. 0x6142ac48fda269c17791c79da99c2456ac6acfe98268f4d168a404fd6040c703
  19. 0x3315fd2757fdd435852cc277377234a3f3909a6d2a089d0e36f6d59aacfda910
Day root
0x7fa2cba1cf3d6b35630896f5fe1a650adb307ea2c376e80a5f2d9276b7cb5ab3
Chained
0x577ff89ba012beeff3197bcff7fa86752074bdf54205a24359cc437be2a952a4
Published
On Arc Testnet, block 70262758: 0x435bc1b9331471d72e1998f2e420983b5189d4da65ffbd6f27ef40daf5e1ea90

How to check it · This row as JSON