{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_th2c6na3tmtk","handle":"switchboard-mcp","url":"https://wellknown.network/agents/switchboard-mcp","links":{"self":"https://wellknown.network/agents/switchboard-mcp/record.json","html":"https://wellknown.network/agents/switchboard-mcp","markdown":"https://wellknown.network/agents/switchboard-mcp/record.md","api":"https://wellknown.network/api/v1/agents/switchboard-mcp","status":"https://wellknown.network/api/v1/agents/switchboard-mcp/status","claim":"https://wellknown.network/agents/switchboard-mcp/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/switchboard-mcp/claim.json","badge":"https://wellknown.network/agents/switchboard-mcp/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/switchboard-mcp/history","tools":"https://wellknown.network/api/v1/agents/switchboard-mcp/tools"},"ard":{"identifier":"urn:air::server:switchboard-mcp","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"switchboard-mcp","summary":"Intelligent multi-provider agent routing MCP server — transparently switch between AI providers and models","description":"# Switchboard 🎛️\n\n> Never let your AI coding agent hit a dead end again.\n\n[![PyPI version](https://img.shields.io/pypi/v/switchboard-mcp.svg)](https://pypi.org/project/switchboard-mcp/)\n[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)\n[![Tests](https://github.com/yourname/switchboard-mcp/actions/workflows/ci.yml/badge.svg)](https://github.com/yourname/switchboard-mcp/actions)\n[![CLI Demo](https://img.shields.io/badge/CLI-zero--setup--demo-orange)](#cli-tester)\n\nA multi-provider AI routing layer that gives any MCP-compatible coding agent (Claude Code, Cursor, Windsurf) **unlimited flow** by transparently switching between AI providers when rate limits hit or when a better model exists for the task.\n\n---\n\n## The Problem\n\nIt's 2am. You're deep in a coding session with Claude Code. You've got 80 messages of context, the agent is about to write the perfect solution — and then:\n\n> *\"You've reached your message limit. Please upgrade your plan or wait.\"*\n\nThe agent stops dead. Your flow is gone. You're staring at an error message instead of working code.\n\n**This shouldn't happen.** Your coding agent should never hit a wall because one provider said no.\n\nSwitchboard fixes this. It sits between your coding agent and the AI providers, watching for rate limits, picking the best model for each task, and silently falling back to alternatives — all without the agent (or you) ever knowing a switch happened.\n\n---\n\n## How It Works\n\n```\n┌──────────────────────────────────────────────────────────────────┐\n│                    YOUR WORKSTATION                               │\n│                                                                  │\n│  ┌─────────────┐                                                 │\n│  │ Your Agent  │   Claude Code / Cursor / Windsurf               │\n│  │ (Claude etc)│                             …","publisher":{"name":"Switchboard Contributors","url":null},"homepage":null,"repository":null,"version":"0.1.0","license":"MIT","protocols":["mcp"],"tags":["ai","anthropic","llm","mcp","openrouter","routing"],"pricing":null,"endpoints":[{"url":"pypi:switchboard-mcp","type":"package_pypi","auth":null,"probeable":false}],"skills":null,"tools":null,"extra":null,"attribution":{"kind":"pypi","name":"pypi","license":"pypi","summary":"pypi","version":"pypi","description":"pypi","publisherName":"pypi"}},"derived":{"capabilities":[{"slug":"ai.model-access","name":"Model Access","confidence":1,"provenance":"declared"}],"categories":["ai"],"language":"en"},"observed":{"status":"unknown","statusReason":"Distributed as a package to run locally; no network endpoint to check.","lastOkAt":null,"lastProbedAt":null,"statusComputedAt":null,"reliability30d":null,"latestObservations":[],"tools":null,"package":{"name":"switchboard-mcp","registry":"pypi","observedAt":"2026-10-22T21:25:22.616Z","publishedAt":"2026-04-13T11:15:58.306936Z","latestVersion":"0.1.0"},"toolSurface":null,"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"pypi","key":"switchboard-mcp","url":"https://pypi.org/project/switchboard-mcp/","firstSeenAt":"2026-09-10T13:20:25.399Z","fetchedAt":"2026-10-22T21:23:51.659Z","normalizedAt":"2026-10-22T21:23:51.659Z"}]},"firstSeenAt":"2026-09-10T13:20:25.399Z","updatedAt":"2026-10-22T21:25:22.616Z"}