MCP server for coding agents
Coding agents know SDKs and models only up to their training date. Connect the Versyka MCP server and they can check what is current right now: the latest version of an SDK, whether a model is retired, and the step-by-step guide for a breaking upgrade, with the vendor sources.
Server address: https://www.versyka.com/api/mcp. It uses the Streamable HTTP transport, needs no sign-in and is read-only.
Connect your agent
Pick your assistant. Each takes about a minute, and nothing needs an account or a key.
Claude Code
- Open a terminal in your project. (No Claude Code yet? Install it with
npm install -g @anthropic-ai/claude-code.) - Add the server for this project:Or for every project on this computer:
claude mcp add --transport http versyka https://www.versyka.com/api/mcpclaude mcp add --transport http --scope user versyka https://www.versyka.com/api/mcp - Start
claudeand type/mcp. versyka should show as connected, with 7 tools. - Ask a question (see Using it). The first time Claude Code calls a Versyka tool, it asks your permission; choose to always allow it for this server.
Cursor
- Open Cursor Settings → MCP (Tools & Integrations) and click Add new MCP server. Cursor opens
~/.cursor/mcp.json. For one project only, create.cursor/mcp.jsonin it instead. - Paste this and save. If the file already lists other servers, add the
versykaentry inside the existingmcpServers.{ "mcpServers": { "versyka": { "url": "https://www.versyka.com/api/mcp" } } } - Back in Settings → MCP, versyka shows a green dot and its 7 tools. If it doesn't, turn it off and on, or restart Cursor.
- Ask in the Agent chat. Cursor shows each Versyka call and asks you to run it (or runs it automatically if you allowed that).
VS Code (GitHub Copilot)
- You need VS Code with GitHub Copilot Chat.
- Create
.vscode/mcp.jsonin your project with this content. (Or run MCP: Add Server from the Command Palette, choose HTTP, paste the server address and name itversyka.){ "servers": { "versyka": { "type": "http", "url": "https://www.versyka.com/api/mcp" } } } - In
mcp.json, click Start above theversykaentry. It shows Running with 7 tools. - Open Copilot Chat, switch to Agent mode and check the tools button lists Versyka. Then ask.
Claude Desktop and claude.ai
- Open Settings → Connectors and click Add custom connector.
- Name it Versyka and paste the server address, then click Add:
https://www.versyka.com/api/mcp - In a chat, open the tools menu (the + or sliders button) and make sure Versyka is turned on.
- Ask. Claude shows when it uses a Versyka tool. On Team and Enterprise plans, an owner may need to add the connector for the organization first.
Other assistants that support remote MCP servers (Windsurf, Zed, Cline and others) take the same address, https://www.versyka.com/api/mcp, with the Streamable HTTP transport.
Using it
You don't call the tools yourself. Ask in plain words and the assistant picks the right tool:
| Ask | What happens |
|---|---|
| "Are any of the AI models in this repo being retired?" | Scans your code and config for model IDs and lists each retired or retiring one, with its shutdown date and replacement. |
| "Is gpt-4-0613 still supported?" | Looks up that one model: status, shutdown date, replacement and the vendor's source. |
| "Check my requirements.txt for outdated API SDKs." | Compares each API SDK with the latest release on PyPI or npm and links the release notes and a migration guide. |
| "Upgrade this file from openai 0.28 to 1.x. Use the Versyka migration guide." | Reads the step-by-step guide, with before and after code, and applies it to your file. |
| "Which Anthropic models retire in the next 90 days?" | Reads the retirement calendar, filtered by vendor and date. |
Want these fixes done for you as tested pull requests instead? That is what Versyka plans do.
Tools
| Tool | What it does |
|---|---|
check_dependencies | Check a dependency manifest (package.json, requirements.txt, pyproject.toml or Pipfile) for third-party API SDKs that are major versions behind, deprecated or replaced, against the live npm registry and PyPI. |
find_retired_models | Scan source and config files for AI model IDs that the vendor (OpenAI, Anthropic, Google Gemini, Mistral, Cohere) has retired or scheduled for retirement. |
lookup_model | Is this AI model ID retired or scheduled for retirement? Accepts plain IDs and gateway spellings (e.g. openai/gpt-4-0613, anthropic.claude-3-sonnet-20240229-v1:0, claude-3-opus@20240229). |
list_model_retirements | The AI model retirement calendar: model IDs with their shutdown dates, replacements and sources, soonest first. |
get_sdk_versions | The latest version of an npm or PyPI package, whether it is deprecated, its release-notes link, the API vendor it belongs to and a Versyka migration guide when one exists. |
list_migration_guides | Versyka's step-by-step SDK migration guides (OpenAI, Anthropic, Google Gemini, AWS, Stripe, Firebase, Slack, Twilio, Auth0, Pinecone), optionally filtered by package name. |
get_migration_guide | One migration guide as Markdown: what changed, each step with before and after code, how to find every affected call, how to test, and the vendor sources it is based on. |
GitHub Action
The action checks every pull request, and once a week, for two things: AI model IDs that are retired or retiring (from the retirement calendar) and API SDKs that are major versions behind (the upgrade check). It writes a summary on the run and comments on the pull request with the dates, replacements and the files and lines involved.
- In your repository on GitHub, click Add file → Create new file and name it
.github/workflows/versyka.yml. - Paste this and click Commit changes on your default branch:
# .github/workflows/versyka.yml name: Versyka on: pull_request: schedule: - cron: "0 9 * * 1" # every Monday, so dates that come closer are caught too permissions: contents: read pull-requests: write # to comment on pull requests; remove to only write the job summary jobs: check: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - uses: versyka/versyka-action@v1 with: fail-on: retired # none | retired | soon | behind - Open a pull request. A Versyka check runs on it, writes a summary in the Actions tab and comments on the pull request when it finds something.
- Choose how strict it is with
fail-on(see Action options):retiredfails only on models that no longer work,soonalso on models retiring within 90 days,nonenever fails.
On GitHub Marketplace. Source and issues: github.com/versyka/versyka-action.
Action options
| Input | Default | What it does |
|---|---|---|
fail-on | retired | When to fail the check: none, retired (a model that no longer works), soon (retiring within days), or behind (also an SDK major versions behind or deprecated). |
days | 90 | How many days ahead counts as "soon". |
comment | true | Comment on the pull request. The comment is updated in place on every push, not repeated. |
path | . | The folder to check, for monorepos. |
github-token | github.token | Token used to comment. The default workflow token is enough. |
Outputs: retired, soon and behind, the number of findings of each kind, for later steps.
What is sent where
- GitHub Action: your source code never leaves the runner. The model scan runs there against the public list from /api/model-retirements. Only dependency manifests (package.json, requirements.txt, pyproject.toml, Pipfile) are sent to Versyka for the upgrade check, which reads package names and versions and stores nothing.
- MCP server: only what your agent passes to a tool, for that one call. Nothing is stored or used for anything else.
More on how Versyka handles code: Security.