{"id":1237688,"recorded_at":"2026-10-30T09:10:21.040534Z","observed_at":"2026-10-30T09:10:21.040374Z","subject_kind":"endpoint","subject":"fcaa7735-7b3b-43ae-b956-c78e16647e89","kind":"mcp.tools","method":"probe.mcp/1","body":{"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"}]},"body_sha256":"ca070ea1c57da9a653377a3d73d20c2e43fe280a090c0e9d2b5181989a92c468","prev_id":1014350,"leaf":"0x528e34327eaeee8eecb190b61ec4340da8dc50e255d163a9a51f8585fa1c17f0","leaf_text":"{\"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\"}","day":null,"proof":[]}