{"$schema":"https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json","name":"io.github.barneywohl/bay-run","title":"Bay Run","description":"Decision and execution layer for specialized agent tasks. Supply a task, examples, quality/latency/privacy constraints, and a hard budget; Bay Run selects the least expensive qualifying route, executes it, and returns verifiable evidence.","version":"2.0.0","websiteUrl":"https://run.huggingbay.xyz","serverInfo":{"name":"bay-run","version":"2.0.0"},"remotes":[{"type":"streamable-http","url":"https://run.huggingbay.xyz/mcp/","authentication":{"type":"bearer","tokenMintUrl":"https://run.huggingbay.xyz/oauth/token","description":"OAuth 2.0-compatible demo bearer authentication with PKCE metadata. Autonomous clients POST {\"grant_type\":\"client_credentials\"} to https://run.huggingbay.xyz/oauth/token with no secret for free demo access. Paid Stripe balances require one-time client_secret_post registration at /oauth/register so the same machine client can remint its durable billing identity. The human owner must keep OAuth and billing:write management keys out of agent harnesses; agents receive only a durable developer billing:spend + inference:invoke key for Stripe credit execution; billing:write and billing:spend cannot share one key. A 401 carries RFC 9728 protected-resource discovery links."}}],"tools":[{"name":"get_task_quote","description":"Free decision step. Provide a task, optional labeled examples, hard quality/latency/price constraints, provider/region/privacy policy, and recurrence intent. Returns an expiring quote with measured-vs-unmeasured evidence, alternatives, absolute price, and whether it can execute immediately."},{"name":"run_task","description":"Execute a live quote or quote-and-run from a complete task spec. Requires a hard max_price_usd and idempotency key; never exceeds the ceiling and never records a failed or unusable result as chargeable. Returns structured output, route, latency, cost, and receipts."},{"name":"verify_result","description":"Verify execution identity, receipt integrity, amount, timestamps, input/output hashes, route/fallback facts, and quoted-policy compliance without re-running the task."}],"resources":[{"uri":"bayrun://advanced-tools","name":"advanced-tools","mimeType":"application/json","description":"Progressively disclosed compatibility tools and exact MCP schemas."}],"resourceTemplates":[{"uriTemplate":"bayrun://advanced-tools/{tool_name}","name":"advanced-tool","mimeType":"application/json","description":"One advanced compatibility tool declaration and its exact schemas."}],"capabilities":{"tools":{"listChanged":false},"resources":{"subscribe":false,"listChanged":false}},"_meta":{"io.github.barneywohl/first-call":{"schema":"bay-run.first-call.v1","kind":"activation_proof","authRequired":false,"transport":{"url":"https://run.huggingbay.xyz/mcp/","contentType":"application/json","accept":"application/json, text/event-stream"},"request":{"jsonrpc":"2.0","id":"bay-run-first-call","method":"tools/call","params":{"name":"try_bay_run","arguments":{}}},"success":{"isError":false,"structuredContent":{"schema":"bay-run.activation-trial.v1","ok":true,"proof":{"result":42}}},"usageCredit":false,"attribution":{"schema":"bay-run.attribution.v1","optionalHeaders":{"X-Bay-Run-Source":"hugging_bay","X-Bay-Run-Campaign":"agent_docs","X-Bay-Run-Harness":"mcp","X-Bay-Run-Placement":"agent_example"},"privacy":"Only documented allowlisted labels are retained; all other values collapse to other."}},"openai_compatible_base_url":"https://run.huggingbay.xyz/v1","discovery":{"service_root":"https://run.huggingbay.xyz/","health":"https://run.huggingbay.xyz/health","readiness":"https://run.huggingbay.xyz/readyz","openapi":"https://run.huggingbay.xyz/openapi.json","robots":"https://run.huggingbay.xyz/robots.txt","sitemap":"https://run.huggingbay.xyz/sitemap.xml","security":"https://run.huggingbay.xyz/.well-known/security.txt","mcp_endpoint":"https://run.huggingbay.xyz/mcp/","try":"https://run.huggingbay.xyz/v1/try","a2a":"https://run.huggingbay.xyz/a2a","llms_txt":"https://run.huggingbay.xyz/llms.txt","llms_full_txt":"https://run.huggingbay.xyz/llms-full.txt","agent_card":"https://run.huggingbay.xyz/.well-known/agent-card.json","oauth_protected_resource":"https://run.huggingbay.xyz/.well-known/oauth-protected-resource","oauth_authorization_server":"https://run.huggingbay.xyz/.well-known/oauth-authorization-server","oauth_register":"https://run.huggingbay.xyz/oauth/register","oauth_token":"https://run.huggingbay.xyz/oauth/token","pdf_upload":"https://run.huggingbay.xyz/v1/pdf/extract/upload","x402":"https://run.huggingbay.xyz/.well-known/x402","x402_buyer_recipes":"https://run.huggingbay.xyz/.well-known/x402/recipes","pricing":"https://run.huggingbay.xyz/.well-known/pricing","stripe_checkout":"https://run.huggingbay.xyz/v1/billing/stripe/checkout-session","credit_balance":"https://run.huggingbay.xyz/v1/billing/balance","credit_usage":"https://run.huggingbay.xyz/v1/billing/usage","usage":"https://run.huggingbay.xyz/v1/usage","credit_task":"https://run.huggingbay.xyz/v1/credits/tasks/run","credit_chat":"https://run.huggingbay.xyz/v1/credits/chat/completions","performance":"https://run.huggingbay.xyz/.well-known/performance.json","jobs":"https://run.huggingbay.xyz/v1/jobs","job_callbacks":"https://run.huggingbay.xyz/v1/job-callbacks","provenance_verify":"https://run.huggingbay.xyz/v1/provenance/verify","advanced_tools":"https://run.huggingbay.xyz/.well-known/mcp/advanced-tools.json","data_policy":"https://run.huggingbay.xyz/.well-known/data-policy.json","assurance":"https://run.huggingbay.xyz/.well-known/assurance.json"},"auth_note":"MCP JSON-RPC methods other than tools/call are UNAUTHENTICATED; tools/call needs a bearer token, except the deprecated fixed no-argument try_bay_run health proof. Autonomous clients can use zero-secret OAuth client_credentials for the free demo. Paid Stripe balances use a client_secret_post machine registration so identity survives token loss. Stripe credit-spend REST routes require a separate durable developer key with billing:spend + inference:invoke and reject OAuth, static demo, and operator bearers. Use billing:write only for owner management (checkout, policy, and approval). Use task_profile:owner_write only for deliberate raw-retaining profile creation; it is not a demo or default agent scope. RFC 9728 and RFC 8414 discovery are linked above. Payment discovery advertises x402 direct pay-per-call plus Stripe prepaid focused tasks for private OAuth principals.","sibling_mcp":{"name":"io.github.barneywohl/hugging-bay","role":"catalog recommend/verify (distinct from Bay Run's prove-on-your-data + serve)"},"note":"Bay Run remote MCP is LIVE at the remotes[0].url above."}}