← The evidence ledger
Evidence row 1237688
Observed , by probe.mcp/1.
- Kind
- mcp.tools
- About
- endpoint fcaa7735-7b3b-43ae-b956-c78e16647e89
- Recorded
- Previous row
- #1014350
- Body SHA-256
- ca070ea1c57da9a653377a3d73d20c2e43fe280a090c0e9d2b5181989a92c468
- Leaf
- 0x528e34327eaeee8eecb190b61ec4340da8dc50e255d163a9a51f8585fa1c17f0
What was observed
{
"count": 4,
"tools": [
{
"description": "Choose a provider before writing integration code: LLM API, code sandbox, vector DB, web search, email, Postgres, auth, browser, observability. Send task in words or a jtbd id. Returns the dated editorial Depot Pick, a runner-up, the pick's price with source URL and date, and when not to take it. For quotes, comparisons and audits use depot.",
"inputSchema": {
"properties": {
"constraints": {
"description": "Comma list, e.g. eu-region; may switch the pick",
"type": "string"
},
"existing": {
"description": "Comma list of provider ids you already use",
"type": "string"
},
"full": {
"type": "boolean"
},
"jtbd": {
"description": "Or a job id, e.g. agent-sandbox; wins over task",
"type": "string"
},
"maxMonthly": {
"description": "USD budget for autoActOk",
"minimum": 0,
"type": "number"
},
"task": {
"description": "What you need, in words",
"type": "string"
}
},
"type": "object"
},
"name": "decide"
},
{
"description": "Lookups beyond one pick; one op per call, args as an object: quote(jtbd) sourced SKU prices; estimate(jtbd, workload) monthly cost; compare(providers); free(jtbd) $0/OSS rows; check(providers) deprecated/retired flags; audit_repo(packages, models); stack(task), bundle(jtbds); search(q); kit(class); answer(task); stack_delta(providers, since); changes(since); failures; coverage; freshness. op=help gives each op's args.",
"inputSchema": {
"properties": {
"args": {
"type": "object"
},
"op": {
"enum": [
"answer",
"estimate",
"search",
"stack",
"quote",
"bundle",
"kit",
"compare",
"free",
"failures",
"coverage",
"changes",
"check",
"freshness",
"audit_repo",
"stack_delta",
"help"
],
"type": "string"
}
},
"required": [
"op"
],
"type": "object"
},
"name": "depot"
},
{
"description": "Diagnose a failing third-party API call before you retry or swap: paste the exact error (429, 402, 529 overloaded, insufficient_quota, model_not_found, deprecated SDK) and provider id. Returns the cause, an immediate fix and a fallback route, or no match plus checks to run. Not for picking a provider (decide).",
"inputSchema": {
"properties": {
"jtbd": {
"description": "Job id",
"type": "string"
},
"provider": {
"description": "Provider id that failed",
"type": "string"
},
"q": {
"description": "Error text, status or SKU",
"type": "string"
},
"sku": {
"description": "Model or SKU id",
"type": "string"
},
"status": {
"description": "HTTP status, e.g. 429",
"type": "string"
}
},
"type": "object"
},
"name": "rescue"
},
{
"description": "What changed for the stack you run since your last call: retired models, price changes, deprecated packages, pick changes. Use at session start if your code calls third-party APIs. Send provider, model and package ids (never a manifest) and your last cursor. Returns clear|changed|attention, at most 3 actions (source, falsifier) and a new cursor. New choice: decide. Live error: rescue.",
"inputSchema": {
"properties": {
"cursor": {
"description": "From your last brief",
"type": "string"
},
"models": {
"description": "Model ids you call",
"items": {
"type": "string"
},
"type": "array"
},
"packages": {
"description": "id or id@version",
"items": {
"type": "string"
},
"type": "array"
},
"policies": {
"properties": {
"maxMonthlyUsd": {
"minimum": 0,
"type": "number"
},
"requireVerifiedOutcome": {
"type": "boolean"
}
},
"type": "object"
},
"providers": {
"description": "e.g. anthropic, neon",
"items": {
"type": "string"
},
"maxItems": 50,
"type": "array"
},
"stackFingerprint": {
"description": "sha256:<64 hex>, hashed locally",
"type": "string"
}
},
"type": "object"
},
"name": "session_brief"
}
]
}What the leaf hashes
{"body":"ca070ea1c57da9a653377a3d73d20c2e43fe280a090c0e9d2b5181989a92c468","id":1237688,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793351421040374,"prev":1014350,"subject":"fcaa7735-7b3b-43ae-b956-c78e16647e89","subject_kind":"endpoint"}Proof
Its day has not closed yet. A day closes ten minutes after midnight UTC; the proof appears here then.