Your agent can't read a deprecation page A developer built Upstream, an MCP server that polls the status pages of 40 AI and developer APIs and the deprecation pages of OpenAI, Anthropic, Google, Mistral, Groq and Cohere every few minutes, exposing the results as agent-callable tools. The tools check_model_deprecation, check_api_status, list_recent_api_changes and list_providers let an autonomous agent verify whether a model ID is active, deprecated or retired and whether a provider is up before making a call. It is free at 50 calls a day without a key and 500 with one, and the developer notes it only knows what providers publish, so unannounced changes won't appear. When a provider retires a model, the notice goes on a docs page written for people. The API keeps answering until the shutdown date, then the model ID just stops working. An agent running on its own has no way to see it coming. So I built Upstream: it reads the status pages of 40 AI and developer APIs every few minutes, and the deprecation pages of OpenAI, Anthropic, Google, Mistral, Groq and Cohere, and turns them into answers an agent can ask for before it makes a call. Here's what last week looked like Oct 26 to Nov 2 : What the agent actually asks, as MCP tools: check model deprecation : is this model ID active, deprecated or retired, when does it shut down, and what replaces it, with the exact row from the provider's page. check api status : is this provider up right now, and should I retry, wait or switch. list recent api changes and list providers . It's free: 50 calls a day with no key, 500 with a free key. There's also a free daily digest of what broke. Add it with one URL: https://upstream.toolweather.workers.dev/mcp https://upstream.toolweather.workers.dev/mcp Docs for agents: https://upstream.toolweather.workers.dev/llms.txt https://upstream.toolweather.workers.dev/llms.txt Digest: https://upstream-api.pages.dev/digest/ https://upstream-api.pages.dev/digest/ What it can't do yet: it only knows what providers publish, so an unannounced model change won't show up, and a "degraded" on a status page doesn't tell you whether your request will fail. If your provider isn't in the 40, tell me which one.