{"server":"io.github.toolweather/upstream","count":11,"changes":[{"tool":"list_providers","kind":"changed","observed_at":"2026-10-16T02:57:48.534Z","fields":["description"],"description_before":"List every AI and developer API provider Upstream tracks (~40) with id, name, category, current state, checked_at, and status page. Use to pick a provider id for check_api_status, or for one all-providers health pass. Not for one provider's incidents (check_api_status) and not for what changed (list_recent_api_changes or get_digest). No parameters. Always free; does not spend the daily quota. State is refreshed about every 4 minutes. Returns {count, providers:[{id, name, category, state, checked_at, status_page}]}; state is operational, degraded, partial_outage, major_outage, maintenance, or unknown.","description_after":"List every AI and developer API provider Upstream tracks (~40) with id, name, category, current state, checked_at, and status page. Use to pick a provider id for check_api_status, or for one all-providers health pass. Not for one provider's incidents (check_api_status) and not for what changed (list_recent_api_changes or get_digest). No parameters. Always free; does not spend the daily quota. State is refreshed about every 5 minutes. Returns {count, providers:[{id, name, category, state, checked_at, status_page}]}; state is operational, degraded, partial_outage, major_outage, maintenance, or unknown.","description_similarity":0.969,"before_hash":"298a1a583bbd3880e5b76075751f377c","after_hash":"9c5b29e27f8f18f9464c182c60f65b56"},{"tool":"list_recent_api_changes","kind":"changed","observed_at":"2026-10-16T02:57:48.534Z","fields":["description"],"description_before":"List the on-demand feed of recent AI and developer API changes (status flips, deprecation-page edits, model retirements, pricing-page edits). Use for a chosen window, one provider, or one kind, when explaining sudden breakage. Not for live up/down (check_api_status) and not for the once-a-day digest, which also covers MCP server breakage (get_digest). Returns summary, count, freshness, and changes[] with provider, kind, title, detail, source, and at, newest first. Status rows arrive within about 4 minutes; doc-page rows every few hours. A limit above 500 is clamped to 500; an unknown provider returns an empty list, not an error. Example: {\"provider\":\"anthropic\",\"kind\":\"model_retirement\"}. Free within the daily quota, then $0.01 via x402. Alias: get_changes.","description_after":"List the on-demand feed of recent AI and developer API changes (status flips, deprecation-page edits, model retirements, pricing-page edits). Use for a chosen window, one provider, or one kind, when explaining sudden breakage. Not for live up/down (check_api_status) and not for the once-a-day digest, which also covers MCP server breakage (get_digest). Returns summary, count, freshness, and changes[] with provider, kind, title, detail, source, and at, newest first. Status rows arrive within about 5 minutes; doc-page rows every few hours. A limit above 500 is clamped to 500; an unknown provider returns an empty list, not an error. Example: {\"provider\":\"anthropic\",\"kind\":\"model_retirement\"}. Free within the daily quota, then $0.01 via x402. Alias: get_changes.","description_similarity":0.978,"before_hash":"4d95575ff8cbacf10153f48cf7c35233","after_hash":"96fddb9a8a3c46f2fd85cc6716fab6c2"},{"tool":"check_api_status","kind":"changed","observed_at":"2026-10-16T02:57:48.534Z","fields":["description"],"description_before":"Check whether one AI or developer API provider (OpenAI, Anthropic, Gemini, Mistral, Groq, GitHub, Stripe, Cloudflare, Vercel, Supabase, Twilio, ~40 total) is up, degraded, or down right now. Use before calling that provider, or right after 5xx/429/timeouts, to choose retry, wait, or a fallback. Not for a model id (check_model_deprecation), the filtered change feed (list_recent_api_changes), or the daily rollup (get_digest). Returns summary, verdict (up|degraded|partially down|down|unknown), recommended_action, incidents, affected_components, checked_at, and freshness; status is rechecked about every 4 minutes. An unknown provider id returns 404 unknown_provider. Example: {\"provider\":\"openai\"}. Free within the daily quota, then $0.003 via x402. Alias: get_status.","description_after":"Check whether one AI or developer API provider (OpenAI, Anthropic, Gemini, Mistral, Groq, GitHub, Stripe, Cloudflare, Vercel, Supabase, Twilio, ~40 total) is up, degraded, or down right now. Use before calling that provider, or right after 5xx/429/timeouts, to choose retry, wait, or a fallback. Not for a model id (check_model_deprecation), the filtered change feed (list_recent_api_changes), or the daily rollup (get_digest). Returns summary, verdict (up|degraded|partially down|down|unknown), recommended_action, incidents, affected_components, checked_at, and freshness; status is rechecked about every 5 minutes. An unknown provider id returns 404 unknown_provider. Example: {\"provider\":\"openai\"}. Free within the daily quota, then $0.003 via x402. Alias: get_status.","description_similarity":0.978,"before_hash":"9af5345558b9d3dd396f4ec37516fc47","after_hash":"1dd099847b2b118c906710eafd071ae9"},{"tool":"get_model","kind":"removed","observed_at":"2026-10-15T21:30:46.174Z","fields":[],"description_before":"Is this model id active, deprecated or retired? Shutdown date and replacement, from the provider's own deprecation page (\"unknown\" if not explicitly listed). Free within the daily quota, then $0.003 via x402.","description_after":null,"description_similarity":null,"before_hash":"b33b825b69ad9e1d3cbf38b76bfc3b11","after_hash":null},{"tool":"get_changes","kind":"removed","observed_at":"2026-10-15T21:30:46.174Z","fields":[],"description_before":"What changed: status transitions, deprecation-page edits, model retirements, pricing-page edits. Free within the daily quota, then $0.01 via x402.","description_after":null,"description_similarity":null,"before_hash":"7d3b79459f1bd8d73e2887e17499cb08","after_hash":null},{"tool":"get_status","kind":"removed","observed_at":"2026-10-15T21:30:46.174Z","fields":[],"description_before":"Is this provider's API up right now? Current state, open incidents, affected components. Free within the daily quota, then $0.003 via x402.","description_after":null,"description_similarity":null,"before_hash":"35c68e666a504852ae8737ee70f3d4f2","after_hash":null},{"tool":"get_digest","kind":"changed","observed_at":"2026-10-15T21:30:46.174Z","fields":["title","description","inputSchema","annotations"],"description_before":"Daily breaking-changes digest (free): AI/dev API incidents, model deprecations/retirements, pricing-page changes, breaking MCP server changes. Optional date YYYY-MM-DD, default latest.","description_after":"Read one published daily breaking-changes digest: AI/dev API status flips, model deprecations and retirements, pricing-page edits, and breaking MCP server changes. Use for a once-a-day catch-up. For a filtered on-demand API feed with no MCP section, use list_recent_api_changes; for live up/down, check_api_status; for one model id, check_model_deprecation. Always free (no quota, no x402). Published once at 12:00 UTC as a frozen window since the previous issue (usually ~24h); not updated later. Omit date for the latest; a missing YYYY-MM-DD returns 404 {error:no_issue}. One issue per date, no paging. Returns {date, title, summary, window_start, window_end, published_at, markdown, data, url, sponsor:null}. data holds counts, status, open_now, model_changes, shutting_down_30d, pricing, deprecation_page_edits, and mcp (breaking, non_breaking, down, back, auth_broken, auth_fixed). markdown caps model rows, breaking MCP rows, and each MCP event kind at 30, 30, and 20; data is the full window.","description_similarity":0.189,"before_hash":"7ea4239734a4a4b1ca59bef50ef68828","after_hash":"52f41eddb63e7b84965127d0ed23a5a1"},{"tool":"list_providers","kind":"changed","observed_at":"2026-10-15T21:30:46.174Z","fields":["title","description","annotations"],"description_before":"List the ~40 AI and developer API providers Upstream tracks, with their current state. Free.","description_after":"List every AI and developer API provider Upstream tracks (~40) with id, name, category, current state, checked_at, and status page. Use to pick a provider id for check_api_status, or for one all-providers health pass. Not for one provider's incidents (check_api_status) and not for what changed (list_recent_api_changes or get_digest). No parameters. Always free; does not spend the daily quota. State is refreshed about every 4 minutes. Returns {count, providers:[{id, name, category, state, checked_at, status_page}]}; state is operational, degraded, partial_outage, major_outage, maintenance, or unknown.","description_similarity":0.215,"before_hash":"afa97a85097bf63d3c065a35cfa1f27e","after_hash":"298a1a583bbd3880e5b76075751f377c"},{"tool":"list_recent_api_changes","kind":"added","observed_at":"2026-10-15T21:30:46.174Z","fields":[],"description_before":null,"description_after":"List the on-demand feed of recent AI and developer API changes (status flips, deprecation-page edits, model retirements, pricing-page edits). Use for a chosen window, one provider, or one kind, when explaining sudden breakage. Not for live up/down (check_api_status) and not for the once-a-day digest, which also covers MCP server breakage (get_digest). Returns summary, count, freshness, and changes[] with provider, kind, title, detail, source, and at, newest first. Status rows arrive within about 4 minutes; doc-page rows every few hours. A limit above 500 is clamped to 500; an unknown provider returns an empty list, not an error. Example: {\"provider\":\"anthropic\",\"kind\":\"model_retirement\"}. Free within the daily quota, then $0.01 via x402. Alias: get_changes.","description_similarity":null,"before_hash":null,"after_hash":"4d95575ff8cbacf10153f48cf7c35233"},{"tool":"check_model_deprecation","kind":"added","observed_at":"2026-10-15T21:30:46.174Z","fields":[],"description_before":null,"description_after":"Check whether one LLM model id is active, deprecated, or retired, plus its shutdown date and replacement, from that provider's deprecation page (OpenAI, Anthropic, Google, and other tracked LLM vendors). Use before hard-coding or calling a model, or when a call fails with model-not-found. Not for API uptime (check_api_status) and not for a retirement feed (list_recent_api_changes with kind model_retirement, or get_digest). Returns summary, verdict (active|deprecated|retired|unknown), recommended_action (keep_using|plan_migration|switch_now|verify_with_provider), replacement, shutdown_date, evidence, and freshness; pages are re-read every few hours. An unlisted id is verdict unknown, not an error; longer than 120 characters returns 400 bad_model_id. Example: {\"model\":\"gpt-4-0613\"}. Free within the daily quota, then $0.003 via x402. Alias: get_model (param id).","description_similarity":null,"before_hash":null,"after_hash":"8e61833b935143a625a4cdb51bc9db2f"},{"tool":"check_api_status","kind":"added","observed_at":"2026-10-15T21:30:46.174Z","fields":[],"description_before":null,"description_after":"Check whether one AI or developer API provider (OpenAI, Anthropic, Gemini, Mistral, Groq, GitHub, Stripe, Cloudflare, Vercel, Supabase, Twilio, ~40 total) is up, degraded, or down right now. Use before calling that provider, or right after 5xx/429/timeouts, to choose retry, wait, or a fallback. Not for a model id (check_model_deprecation), the filtered change feed (list_recent_api_changes), or the daily rollup (get_digest). Returns summary, verdict (up|degraded|partially down|down|unknown), recommended_action, incidents, affected_components, checked_at, and freshness; status is rechecked about every 4 minutes. An unknown provider id returns 404 unknown_provider. Example: {\"provider\":\"openai\"}. Free within the daily quota, then $0.003 via x402. Alias: get_status.","description_similarity":null,"before_hash":null,"after_hash":"9af5345558b9d3dd396f4ec37516fc47"}],"next_before":null,"next_actions":[]}