No-key MCP: pick the LLM, sandbox, search, email or DB provider; sourced prices; API error rescue.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
Or a job id, e.g. agent-sandbox; wins over task
What you need, in words
Comma list of provider ids you already use
USD budget for autoActOk
Comma list, e.g. eu-region; may switch the pick
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http agent-provider-depot 'https://getagentdepot.com/api/mcp?via=mcp-registry'
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.
| Argument | Type | Description |
|---|---|---|
| full | boolean | |
| jtbd | string | Or a job id, e.g. agent-sandbox; wins over task |
| task | string | What you need, in words |
| existing | string | Comma list of provider ids you already use |
| maxMonthly | number | USD budget for autoActOk |
| constraints | string | Comma list, e.g. eu-region; may switch the pick |
{
"type": "object",
"properties": {
"full": {
"type": "boolean"
},
"jtbd": {
"type": "string",
"description": "Or a job id, e.g. agent-sandbox; wins over task"
},
"task": {
"type": "string",
"description": "What you need, in words"
},
"existing": {
"type": "string",
"description": "Comma list of provider ids you already use"
},
"maxMonthly": {
"type": "number",
"minimum": 0,
"description": "USD budget for autoActOk"
},
"constraints": {
"type": "string",
"description": "Comma list, e.g. eu-region; may switch the pick"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| op* | string | |
| args | object |
{
"type": "object",
"required": [
"op"
],
"properties": {
"op": {
"enum": [
"answer",
"estimate",
"search",
"stack",
"quote",
"bundle",
"kit",
"compare",
"free",
"failures",
"coverage",
"changes",
"check",
"freshness",
"audit_repo",
"stack_delta",
"help"
],
"type": "string"
},
"args": {
"type": "object"
}
}
}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).
| Argument | Type | Description |
|---|---|---|
| q | string | Error text, status or SKU |
| sku | string | Model or SKU id |
| jtbd | string | Job id |
| status | string | HTTP status, e.g. 429 |
| provider | string | Provider id that failed |
{
"type": "object",
"properties": {
"q": {
"type": "string",
"description": "Error text, status or SKU"
},
"sku": {
"type": "string",
"description": "Model or SKU id"
},
"jtbd": {
"type": "string",
"description": "Job id"
},
"status": {
"type": "string",
"description": "HTTP status, e.g. 429"
},
"provider": {
"type": "string",
"description": "Provider id that failed"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| cursor | string | From your last brief |
| models | array | Model ids you call |
| packages | array | id or id@version |
| policies | object | |
| providers | array | e.g. anthropic, neon |
| stackFingerprint | string | sha256:<64 hex>, hashed locally |
{
"type": "object",
"properties": {
"cursor": {
"type": "string",
"description": "From your last brief"
},
"models": {
"type": "array",
"items": {
"type": "string"
},
"description": "Model ids you call"
},
"packages": {
"type": "array",
"items": {
"type": "string"
},
"description": "id or id@version"
},
"policies": {
"type": "object",
"properties": {
"maxMonthlyUsd": {
"type": "number",
"minimum": 0
},
"requireVerifiedOutcome": {
"type": "boolean"
}
}
},
"providers": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 50,
"description": "e.g. anthropic, neon"
},
"stackFingerprint": {
"type": "string",
"description": "sha256:<64 hex>, hashed locally"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Oct 30, 2026.