MCP server for cross-vendor API/SDK deprecation and breaking-change tracking
MCPpedia last refreshed this data
io.github.tsvillain/deprecation-mcp is an MCP server that MCP server for cross-vendor API/SDK deprecation and breaking-change tracking. Its tool list has not been published yet over stdio, requires no API key, and scores 88/100 on MCPpedia's security, maintenance and efficiency rubric.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"deprecation": {
"args": [
"/absolute/path/to/deprecation-mcp/dist/index.js"
],
"command": "node"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A free, open MCP server for checking whether a vendor API or SDK is active, deprecated, or sunset — so an agent doing upgrade/maintenance work can check before it breaks, instead of after.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
npx -y 'deprecation-mcp' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked deprecation-mcp against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in analytics
MCP server for RocketCyber Managed SOC — incidents, alerts, agents, and customer telemetry.
Trending hip-hop artist momentum scores across four cultural dimensions.
An MCP server that provides [describe what your server does]
MCP server for Dynatrace Managed to access logs, events, and metrics.
MCP Security Weekly
Get CVE alerts and security updates for io.github.tsvillain/deprecation-mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A free, open MCP server for checking whether a vendor API or SDK is active, deprecated, or sunset — so an agent doing upgrade/maintenance work can check before it breaks, instead of after.
API/SDK deprecations are scattered across changelog pages, RSS feeds (if
you're lucky), and Sunset/Deprecation HTTP headers (if the vendor bothers
implementing RFC 8594). This server
puts a curated, hand-verified answer behind one tool call.
No payment gating, no metering, no billing code of any kind — this is a plain open MCP server.
One tool, check_deprecation:
check_deprecation(provider: string, target: string) -> {
status: "active" | "deprecated" | "sunset" | "unknown",
deprecated_on: string | null,
sunset_on: string | null,
replacement: string | null,
migration_url: string | null,
source_url: string,
last_verified_at: string
}
status: "unknown" (with a blank source_url) is returned for any
provider/target not in the curated dataset below — it means "not tracked",
not "confirmed active."
Ten provider APIs/SDKs, each checked against the vendor's own published page
(source_url) on the date in last_verified_at. Data lives in
data/deprecations.json.
| provider | target | status |
|---|---|---|
aws | aws-sdk-js-v2 | sunset |
stripe | sources-api | deprecated |
twilio | programmable-chat | sunset |
github | dependency-graph-sbom-sync | deprecated |
openai | assistants-api | deprecated |
slack | classic-apps | deprecated |
sendgrid | v2-mail-send | deprecated |
shopify | rest-admin-api | deprecated |
auth0 | rules-and-hooks | deprecated |
paypal | nvp-soap-api | deprecated |
Lookups are case-insensitive and also match each record's aliases (e.g.
aws/aws-sdk resolves to aws-sdk-js-v2).
npm install
npm run build
npm start # starts the stdio MCP server
Claude Code (.mcp.json in your project, or claude mcp add):
{
"mcpServers": {
"deprecation": {
"command": "node",
"args": ["/absolute/path/to/deprecation-mcp/dist/index.js"]
}
}
}
Any other stdio-based MCP client config follows the same shape: run
node dist/index.js as the server command.
Once connected, an agent calls:
{
"name": "check_deprecation",
"arguments": { "provider": "aws", "target": "aws-sdk-js-v2" }
}
and gets back:
{
"status": "sunset",
"deprecated_on": "2024-09-08",
"sunset_on": "2025-09-08",
"replacement": "AWS SDK for JavaScript v3",
"migration_url": "https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/migrating-to-v3.html",
"source_url": "https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/",
"last_verified_at": "2026-08-08"
}
npm test # builds, then runs node:test against the lookup logic
Edit data/deprecations.json directly — no build step or scraper needed, it's
read at server startup. Each record needs a real source_url you actually
checked and an accurate last_verified_at. When you re-verify a record,
recompute its content_hash too (see below).
Hand-checking ten source_urls every so often doesn't scale, and stale data
is worse than no data. A weekly GitHub Action
(.github/workflows/check-drift.yml)
fetches each record's source_url, hashes the response body (sha256), and
compares it to the content_hash stored on the record at
last_verified_at. If the hash changed, the page changed since it was last
verified — the record is flagged, not auto-updated. The automation never
writes to data/deprecations.json; a changed page only means "a human or
agent needs to re-