AI Model Retirement Lint runs on your own machine — the client starts it, so there is no endpoint to ping. 53 installs a week from npm. Last commit 2 Nov 2026.
Finds the LLM model IDs pinned in your code that vendors have already switched off, or have dated to
We read the source, 22 h ago · rules 995398eba69f
What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.
этот файл ставится пользователю, но в репозитории его нет
var files = all.filter(function (x) { try { return fs.statSync(path.join(dir, x)).isFile(); } catch (e) { return false; } });
ProcessBuilder pb = new ProcessBuilder(win ? "npx.cmd" : "npx", "-y", NPM, f.toString());
Found in continuous integration, deployment or infrastructure files, or in a neighbouring package of the same monorepo. None of this is installed when you add the server: it describes how the project is built and released. We list it because a leaked key in a build pipeline is still a real problem, but it is not something this server does on your machine.
o.innerHTML=s+'</table>'};
…S Firebase's defaults, and this list has no **/.* entry. Every dotfile under the public root — .env, .env.production, .npmrc, .git — is uploaded and served.","fix":"Add \"**/.*\" back to the ignore array."},
Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.
We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.
This server runs on your own machine — install it with the package manager and the client starts it for you. Package name taken from the official registry entry.
claude mcp add ai-model-retirement-lint -- npx -y @readystack/ai-model-retirement-lint
{
"mcpServers": {
"ai-model-retirement-lint": {
"command": "npx",
"args": [
"-y",
"@readystack/ai-model-retirement-lint"
]
}
}
}
[mcp_servers.ai-model-retirement-lint]
command = "npx"
args = ["-y", "@readystack/ai-model-retirement-lint"]
{
"mcpServers": {
"ai-model-retirement-lint": {
"command": "npx",
"args": [
"-y",
"@readystack/ai-model-retirement-lint"
]
}
}
}
{
"servers": {
"ai-model-retirement-lint": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@readystack/ai-model-retirement-lint"
]
}
}
}
Reads the open-weight model IDs in your code and names the licence clause that binds you - 22 rules
Find the LLM/AI calls you didn't need — where plain code or a regex does the job. No model.
Find retiring LLM calls in code and test the replacement model on real traffic before switching.
Finds the Gov-Client and Gov-Vendor header mistakes HMRC rejects, in your editor, offline, before yo
Names every schedule line in the file you have open that fires at the wrong hour, twice, or never at
What changed in your stack since the model's cutoff, error fixes, and security-scanned skills/MCPs
Finds the ad and analytics code that keeps firing after a visitor’s browser has already sent Global
Clean messy CSVs: an LLM picks the steps, tested code does the work. Data untouched by the model.
Answers built from our own checks of this server.