← The evidence ledger
Evidence row 303471
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint 3268fdd1-43bd-4367-9527-b42d30bd5b60
- Recorded
- Previous row
- None: the first of its kind about this subject
- Body SHA-256
- e294baf72ad5b4189ff98c01853bc2bf00e6ae2e8faafd2ee0aa71aa6188cae3
- Leaf
- 0x83d71c47e12302efc8228b28220b5cc6ca1b3e11ad62cf0a19b36912764c9a29
What was observed
{
"count": 19,
"tools": [
{
"description": "Programmatically arm or disarm a route's stateful signal gate: entity scope field, required confluence tags, sliding window and per-entity cooldown. Requires the Neural Frame tier. Use it to wait for N independent confirmations on the same entity before the route fires.",
"inputSchema": {
"properties": {
"cooldown_sec": {
"description": "Mute repeat signals for the same entity for N seconds after firing (0 = off)",
"type": "number"
},
"enabled": {
"description": "Set false to disarm the trap without clearing the rest of the route",
"type": "boolean"
},
"entity_field": {
"description": "Dot-notation payload field that scopes the trap (default ticker)",
"type": "string"
},
"required_tags": {
"description": "Signal legs that must ALL arrive inside the window, e.g. [\"15m\",\"1h\"]",
"items": {
"type": "string"
},
"type": "array"
},
"route_id": {
"description": "Target route ID (e.g. rt_1)",
"type": "string"
},
"tag_field": {
"description": "Field identifying the leg (default timeframe)",
"type": "string"
},
"window_sec": {
"description": "Confluence sliding window in seconds (30-86400, default 900)",
"type": "number"
}
},
"required": [
"route_id"
],
"type": "object"
},
"name": "arm_confluence_trap"
},
{
"description": "Exchange the claim_token from subscribe_plan for the provisioned Master Passkey. Poll until status is \"completed\"; returns api_key, tier, quota_limit and expiry.",
"inputSchema": {
"properties": {
"claim_token": {
"description": "claim_token returned by subscribe_plan",
"type": "string"
},
"order_id": {
"description": "order_id returned by subscribe_plan",
"type": "string"
}
},
"required": [
"order_id",
"claim_token"
],
"type": "object"
},
"name": "claim_subscription"
},
{
"description": "Programmatically deploy or update a 1-to-4 fan-out route on the global edge (requires Neural Frame tier for write operations via MCP).",
"inputSchema": {
"properties": {
"ai_enrich": {
"description": "Inject {{ai_summary}} and {{ai_sentiment}} into payload",
"type": "boolean"
},
"custom_webhook_url": {
"type": "string"
},
"dedup_window_sec": {
"type": "number"
},
"discord_webhook_url": {
"type": "string"
},
"filter_logic": {
"enum": [
"AND",
"OR"
],
"type": "string"
},
"filters": {
"items": {
"properties": {
"field": {
"type": "string"
},
"operator": {
"type": "string"
},
"value": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"id": {
"description": "Route ID (e.g. rt_1) or 'new' to create a new route",
"type": "string"
},
"name": {
"description": "Human-readable route label",
"type": "string"
},
"slack_webhook_url": {
"type": "string"
},
"telegram_bot_url": {
"type": "string"
},
"telegram_chat_id": {
"type": "string"
},
"template_body": {
"type": "string"
},
"template_title": {
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
},
"name": "create_or_update_route"
},
{
"description": "The Intelligent Schema Extractor as an agent call: walks every retained inbound payload for a route and returns the {{dot.paths}} you can reference in a template — nested objects as data.object.amount, array projections as commits[].message — each with its inferred type, sample values, how many webhooks carried it and its presence ratio. Pass template_body to also see which of its tokens the traffic actually fills and how the cleaned alert renders: a token the payload lacks is dropped together with its label, so one ingest URL can serve several sources without leaking \"RSI:\" into the message.",
"inputSchema": {
"properties": {
"route_id": {
"description": "Route to extract from (defaults to every retained webhook on the passkey)",
"type": "string"
},
"template_body": {
"description": "Optional draft body: adds resolved_tokens, omitted_tokens and rendered_preview",
"type": "string"
}
},
"type": "object"
},
"name": "extract_schema_tokens"
},
{
"description": "Return the authenticated passkey's tier, plan, quota usage, expiry, routes, registered agent identity and callback delivery history.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "get_subscription_status"
},
{
"description": "Read the bytes a sender actually POSTed to an ingest URL, before any parsing, enrichment or filtering — one execution by event_id, or the newest few for a route. Telemetry reports what the edge decided; this reports what arrived, which is what a template has to be written against. Read-only and never charges quota.",
"inputSchema": {
"properties": {
"event_id": {
"description": "Inspect one retained execution in full (from inspect_live_telemetry or query_signal_memory)",
"type": "string"
},
"limit": {
"description": "Max events to return when listing (1-25, default 5)",
"type": "number"
},
"route_id": {
"description": "Optional route_id to list the newest retained inbounds for (e.g. rt_1). Omit to cover every route on the passkey.",
"type": "string"
}
},
"type": "object"
},
"name": "inspect_inbound_payload"
},
{
"description": "Fetch the latest 25 webhook execution logs (delivered and dropped signals, inbound edge location, per-target delivery latency in ms, and rescued JSON fields) from Edge Isolate RAM.",
"inputSchema": {
"properties": {
"limit": {
"description": "Max log items to return (1-25)",
"type": "number"
},
"route_id": {
"description": "Optional route_id filter (e.g. rt_1)",
"type": "string"
}
},
"type": "object"
},
"name": "inspect_live_telemetry"
},
{
"description": "Return every subscription and credit top-up an AI agent can buy programmatically, with prices, quotas, accepted crypto currencies, and the checkout/claim endpoints. No authentication required.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "list_plans"
},
{
"description": "List all deployed 1-to-4 webhook routes, isolated whk_ ingest URLs, filter rules, and quota metrics for the authenticated EarlyFra.me Master Passkey.",
"inputSchema": {
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "list_routes"
},
{
"description": "Dry-run a template against a payload without saving a route or charging quota: returns the rendered title and body, the exact JSON each configured destination would receive, which tokens were omitted because the payload did not carry them, and how the noise gate, confluence and approval gates would judge the same body. Send raw_payload to test an arbitrary body, or event_id to replay one of your real retained webhooks.",
"inputSchema": {
"properties": {
"custom_body_template": {
"description": "Override the JSON remapper sent to the custom webhook for this preview only",
"type": "string"
},
"event_id": {
"description": "Or replay one of your retained inbound webhooks by event_id (takes precedence over raw_payload)",
"type": "string"
},
"raw_payload": {
"description": "Body to test — JSON, plain text or form-encoded. The edge rescues unstructured text into fields.",
"type": "string"
},
"route_id": {
"description": "Use a saved route's destinations, filters and gates (defaults to the first route)",
"type": "string"
},
"template_body": {
"description": "Override the route's body template for this preview only",
"type": "string"
},
"template_title": {
"description": "Override the route's title template for this preview only",
"type": "string"
}
},
"type": "object"
},
"name": "preview_alert_template"
},
{
"description": "Create a crypto checkout that adds extra webhook quota to an existing paid passkey (e.g. agent_credit_100k, apex_overage_500k). Poll claim_subscription afterwards.",
"inputSchema": {
"properties": {
"pack": {
"description": "Credit pack plan_id, e.g. agent_credit_100k or apex_overage_500k",
"type": "string"
},
"pay_currency": {
"description": "Settlement currency, default usdttrc20",
"type": "string"
}
},
"required": [
"pack"
],
"type": "object"
},
"name": "purchase_quota_boost"
},
{
"description": "Read the durable state plane for a Master Passkey: recently archived webhook executions (delivered / filtered / retry_pending / dlq_failed) and the signal legs currently parked in a confluence window, so an agent can see what is waiting, what failed, and what has already fired.",
"inputSchema": {
"properties": {
"entity_key": {
"description": "Optional entity scope filter, matching the route's stateful_gate.entity_field (e.g. SOLUSDT)",
"type": "string"
},
"limit": {
"description": "Max rows per bucket (1-50, default 20)",
"type": "number"
},
"route_id": {
"description": "Optional route_id filter (e.g. rt_1)",
"type": "string"
},
"status_filter": {
"description": "Optional archive status filter",
"enum": [
"delivered",
"filtered",
"retry_pending",
"dlq_failed",
"dropped_cooldown",
"dropped_blackout"
],
"type": "string"
}
},
"type": "object"
},
"name": "query_signal_memory"
},
{
"description": "Re-run an ARCHIVED webhook against the route's CURRENT filter, enrichment, blackout, confluence and template rules — a time-travel backtest against real past traffic. dry_run=true reports the exact rule evaluation and transformed output without dispatching anything.",
"inputSchema": {
"properties": {
"dry_run": {
"description": "true (default) = report only; false = re-dispatch through the current rules",
"type": "boolean"
},
"event_id": {
"description": "Archived event_id to replay (from query_signal_memory or inspect_live_telemetry)",
"type": "string"
},
"route_id": {
"description": "Optional route whose current rules should be applied; defaults to the route that received the archived event",
"type": "string"
}
},
"required": [
"event_id"
],
"type": "object"
},
"name": "replay_historical_signal"
},
{
"description": "Cryptographically rotate a route's public whk_... webhook ingest token without altering the Master Passkey. The previous URL stops working immediately.",
"inputSchema": {
"properties": {
"route_id": {
"description": "Target route ID (e.g. rt_1)",
"type": "string"
}
},
"required": [
"route_id"
],
"type": "object"
},
"name": "rotate_route_token"
},
{
"description": "Register, rotate, or clear the HTTPS webhook that receives HMAC-signed subscription lifecycle events for this passkey.",
"inputSchema": {
"properties": {
"callback_url": {
"description": "HTTPS endpoint, or an empty string to clear the callback",
"type": "string"
}
},
"required": [
"callback_url"
],
"type": "object"
},
"name": "set_agent_callback"
},
{
"description": "Run a zero-quota dry-run simulation of a raw plain-text or JSON webhook payload against a route's filter rules, templates, and Edge AI synthesis.",
"inputSchema": {
"properties": {
"raw_payload": {
"description": "Raw plain-text or JSON webhook payload to test",
"type": "string"
},
"route_id": {
"description": "Optional route_id to test against",
"type": "string"
}
},
"required": [
"raw_payload"
],
"type": "object"
},
"name": "simulate_webhook_frame"
},
{
"description": "Create a crypto checkout for a subscription plan and receive a concrete deposit address so an autonomous agent or treasury can settle it without a browser. Poll claim_subscription afterwards to obtain the Master Passkey.",
"inputSchema": {
"properties": {
"agent": {
"description": "Optional agent identity recorded on the subscription",
"properties": {
"framework": {
"type": "string"
},
"homepage": {
"type": "string"
},
"name": {
"type": "string"
},
"version": {
"type": "string"
}
},
"type": "object"
},
"callback_url": {
"description": "HTTPS endpoint that receives HMAC-signed subscription.activated / quota.topped_up lifecycle events",
"type": "string"
},
"email": {
"description": "Owner/operator email for receipts and passkey recovery",
"type": "string"
},
"existing_api_key": {
"description": "Existing ef_live_... passkey when renewing, upgrading, or buying a credit top-up",
"type": "string"
},
"metadata": {
"description": "Optional opaque metadata (<= 1024 bytes) stored with the subscription",
"type": "object"
},
"pay_currency": {
"description": "Settlement currency, e.g. usdttrc20 (default), usdterc20, usdc, btc, eth, sol",
"type": "string"
},
"plan_id": {
"description": "Plan from list_plans, e.g. neural_monthly, pro_monthly, agent_credit_100k",
"type": "string"
}
},
"required": [
"plan_id",
"email"
],
"type": "object"
},
"name": "subscribe_plan"
},
{
"description": "Run EarlyFra.me Edge AI over a raw webhook payload (JSON, form, or plain text) and return ai_summary, ai_sentiment and ai_score. Requires Neural Frame.",
"inputSchema": {
"properties": {
"raw_payload": {
"description": "Raw payload text or JSON to analyse",
"type": "string"
}
},
"required": [
"raw_payload"
],
"type": "object"
},
"name": "synthesize_edge_ai"
},
{
"description": "Write template_title, template_body and the custom JSON remapper onto an existing route in one call. The edit is partial: every field you leave out keeps its stored value, so destinations, noise-gate rules and stateful gates survive a template-only change. Requires the Neural Frame tier, and charges no quota — but the saved route starts shaping live traffic immediately.",
"inputSchema": {
"properties": {
"custom_body_template": {
"description": "JSON remapper for the 4th destination. Must stay valid JSON once placeholders are substituted.",
"type": "string"
},
"route_id": {
"description": "Target route ID (e.g. rt_1)",
"type": "string"
},
"template_body": {
"description": "New body template, up to 600 characters",
"type": "string"
},
"template_title": {
"description": "New title template. An empty string clears it; omit the field to keep the current one.",
"type": "string"
}
},
"required": [
"route_id"
],
"type": "object"
},
"name": "update_route_template"
}
]
}What the leaf hashes
{"body":"e294baf72ad5b4189ff98c01853bc2bf00e6ae2e8faafd2ee0aa71aa6188cae3","id":303471,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793055361016866,"prev":null,"subject":"3268fdd1-43bd-4367-9527-b42d30bd5b60","subject_kind":"endpoint"}Proof
Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).
- 0x83d74c45fc51ac571fa9e37d5b33b284e58694c670f60d9745a47c4cd3330dc7
- 0x4cba154bedf225adaa1dce927b95994d67175fe5c958bbb04dacf1fea99cc296
- 0x6ed104def041b6402ec4d104c6293f908fe3a2f2d84efdb11b115087fb9f21f1
- 0xcf4e5adc599f30a86e189cef08fd86fbb3a1344b93112093c37996d66608f90d
- 0xc7a9a8ecfa5ef391844293092ac4f0768c59748080034df9cc43c91d03a4ae66
- 0x714bfffa9e9cc639838af4dffeee4757069957a2e9e6054720fb003749464adb
- 0x99a17ef9d29b63d648e0564424e52b8c00e21d1a5d54e0b968229a1168a016ef
- 0xeb5b99abb3e6d678b37d4a13cc8174afa6065062b99d155c104f7673fe0f8b64
- 0xa5e9a7d3f11a078919b79a649d5cac45bb07a6061d20bee3b964c61c255e4415
- 0x18033a2c4d97bdf70116da2594b654dbb6f1d12267646015d8db5a14fd3724c4
- 0xdb4295ae338449b07243daebee8c36f16b3aaca1599a8f860eb80e22bca21e79
- 0xfdaa032291ded0df2cf35d6e9dc6e7a2643d0fe027dd3ab321971f1f7bf69147
- 0x91c2ae93ec20c7fed5088112fe3941ca622dfb3f8f1022c4844726c361244bd4
- 0x0eff463856b0992d53ab7d8c0b97c71541413358bdd445710c1e4b6aeb4d8f78
- 0x7eb603d37f0f22dae1ea013e391889906ffc0139ff26e25b044bee38eec8f9b2
- 0x2b6e23e3624a1b66e1d2298cfbce99a93ce6b13d24a58112a71802d79c5f7a76
- 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
- 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
- 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
- Day root
- 0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
- Chained
- 0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
- Published
- On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae