{
  "markdown": "# @llmintel/mcp\n\nAn [MCP](https://modelcontextprotocol.io) server that tells your coding agent whether a model id is\nsafe to use.\n\nLLMs are trained on a snapshot of the world and will confidently write `gpt-4-32k` into your code\nlong after it stops answering. This server gives the agent a live lookup for whether a model is\ndeprecated and when it stops working. It returns the replacement too. Answers are normalized across\nOpenAI, Anthropic, Azure AI Foundry, AWS Bedrock, Google, and Cohere, and parsed from each\nprovider's own deprecation pages.\n\nNo API key, no signup. The catalog is public.\n\n[![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en/install-mcp?name=llmintel&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBsbG1pbnRlbC9tY3AiXX0%3D)\n[![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect?url=vscode%3Amcp%2Finstall%3F%257B%2522name%2522%253A%2522llmintel%2522%252C%2522command%2522%253A%2522npx%2522%252C%2522args%2522%253A%255B%2522-y%2522%252C%2522%2540llmintel%252Fmcp%2522%255D%257D)\n\n## Install\n\nAdd it to any MCP host. The package runs straight from npm via `npx`.\n\n### Cursor\n\nIn `.cursor/mcp.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"llmintel\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@llmintel/mcp\"]\n    }\n  }\n}\n```\n\n### Claude Code\n\n```bash\nclaude mcp add llmintel -- npx -y @llmintel/mcp\n```\n\n### Claude Desktop\n\nSame shape as the Cursor block above, in `claude_desktop_config.json`.\n\n### Hosted endpoint (no install)\n\nThe same five tools are served over Streamable HTTP at `https://llmintel.ai/v1/mcp`. Hosts that take\na URL need no Node and no package:\n\n```json\n{\n  \"mcpServers\": {\n    \"llmintel\": {\n      \"url\": \"https://llmintel.ai/v1/mcp\"\n    }\n  }\n}\n```\n\nThe endpoint is stateless and read-only. It answers from the same catalog the npm package queries.\n\n## Tools\n\n| Tool | Returns |\n| --- | --- |\n| `check_model` | Whether one model id is safe to use: lifecycle state, the retirement deadline in days, the replacement, and the source link. |\n| `list_retiring_models` | What breaks in the next 90 days. Past-due models are listed first, then upcoming ones soonest-first. |\n| `suggest_replacement` | The provider's own recommendation for what to move to. Falls back to same-provider active models when none was published. |\n| `search_models` | Catalog search filtered by provider and lifecycle state. |\n| `recent_lifecycle_changes` | The change feed across all providers, for questions like \"what was deprecated this month\". |\n\n### Example\n\n> **You:** Before we ship this, check the model ids in `src/agents/`.\n\nThe agent calls `check_model` for each one and gets back:\n\n```\nDO NOT USE — this model is retired; API calls to it fail.\n\n\"claude-sonnet-4-20250514\" resolves to the tracked model anthropic/claude-sonnet-4-20250514.\nModel: claude-sonnet-4-20250514 (anthropic/claude-sonnet-4-20250514)\nProvider: anthropic\nLifecycle state: retired — retired; calls fail\nDeprecated: 2026-04-14 (105 days ago)\nRetirement: 2026-06-15 (43 days ago)\n\nThe provider has not named a replacement. Use suggest_replacement for options.\nPricing/limits: $3/1M in · $15/1M out\n\nSource: https://docs.anthropic.com/en/docs/about-claude/model-deprecations\nProvider's own term: \"Retired\"\n```\n\nDeadlines are always given in days, because a model cannot reliably judge whether `2026-07-30` is\nsoon.\n\n## Design notes\n\nA failed lookup is never a safety verdict. If the catalog is unreachable, the tool returns an MCP\nerror and says so. An agent that read a network failure as \"no deprecation found\" would happily ship\na retired model id. A model that simply isn't tracked gets the same treatment: it returns \"not in the\ncatalog, verify with the provider\", never \"OK\".\n\nPass whatever string is literally in the code (`gpt-4o`, `anthropic/claude-opus-4-1`, `azure/gpt-4o`)\nand it resolves to the canonical tracked model.\n\nWhen the provider's own deprecation notice names a successor, that is what you get. Otherwise the\nfallback list of same-provider active models is labelled as candidates to evaluate, so an agent can\ntell the two apart.\n\nAnything past its retirement date is broken now, so it gets its own heading instead of sitting in\n\"retiring soon\".\n\n## Configuration\n\nBoth variables are optional.\n\n| Variable | Default | Purpose |\n| --- | --- | --- |\n| `LLMINTEL_API_KEY` | none | Raises the rate-limit budget. The catalog itself is public, so you do not need this. |\n| `LLMINTEL_BASE_URL` | `https://llmintel.ai` | Point at a self-hosted or staging catalog. |\n\nAnonymous callers get 30 requests/minute per IP, enough for interactive agent use.\n\n## Data provenance\n\nEvery record links to the provider page it was parsed from and preserves the provider's verbatim\nlifecycle term (`sourceTerm`), so a normalization decision is always auditable. Changes go through a\nhuman verification queue before publication. Collector freshness is public at\n[`/v1/status`](https://llmintel.ai/v1/status).\n\nThe same data is available as a plain REST API, also without a key. See\n[llmintel.ai/docs](https://llmintel.ai/docs).\n\n## Development\n\n```bash\npnpm --filter @llmintel/mcp build\npnpm exec vitest run packages/mcp        # protocol-level tests against a fake catalog\n\n# Drive the built binary against a live catalog\npnpm --filter @llmintel/mcp smoke\nLLMINTEL_BASE_URL=http://localhost:3000 pnpm --filter @llmintel/mcp smoke\n```\n\n## License\n\nMIT © LLMIntel\n",
  "bytes": 5521,
  "sha": "f8bb4ed9235bcf957517fb4e70165aa68a2a7e339588fb84eed5d3360bb39789",
  "repo_slug": "hivemindunit/llmintel-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_ai_llmintel_model_lifecycle_3bf8b0a3/readme"
}