Skip to main content
Glama
hivemindunit

LLMIntel Model Lifecycle

@llmintel/mcp

An MCP server that tells your coding agent whether a model id is safe to use.

LLMs are trained on a snapshot of the world and will confidently write gpt-4-32k into your code long after it stops answering. This server gives the agent a live lookup for whether a model is deprecated and when it stops working. It returns the replacement too. Answers are normalized across OpenAI, Anthropic, Azure AI Foundry, AWS Bedrock, Google, and Cohere, and parsed from each provider's own deprecation pages.

No API key, no signup. The catalog is public.

Add to Cursor Install in VS Code

Install

Add it to any MCP host. The package runs straight from npm via npx.

Cursor

In .cursor/mcp.json:

{
  "mcpServers": {
    "llmintel": {
      "command": "npx",
      "args": ["-y", "@llmintel/mcp"]
    }
  }
}

Claude Code

claude mcp add llmintel -- npx -y @llmintel/mcp

Claude Desktop

Same shape as the Cursor block above, in claude_desktop_config.json.

Hosted endpoint (no install)

The same five tools are served over Streamable HTTP at https://llmintel.ai/v1/mcp. Hosts that take a URL need no Node and no package:

{
  "mcpServers": {
    "llmintel": {
      "url": "https://llmintel.ai/v1/mcp"
    }
  }
}

The endpoint is stateless and read-only. It answers from the same catalog the npm package queries.

Related MCP server: Dependency Freshness MCP Server

Tools

Tool

Returns

check_model

Whether one model id is safe to use: lifecycle state, the retirement deadline in days, the replacement, and the source link.

list_retiring_models

What breaks in the next 90 days. Past-due models are listed first, then upcoming ones soonest-first.

suggest_replacement

The provider's own recommendation for what to move to. Falls back to same-provider active models when none was published.

search_models

Catalog search filtered by provider and lifecycle state.

recent_lifecycle_changes

The change feed across all providers, for questions like "what was deprecated this month".

Example

You: Before we ship this, check the model ids in src/agents/.

The agent calls check_model for each one and gets back:

DO NOT USE — this model is retired; API calls to it fail.

"claude-sonnet-4-20250514" resolves to the tracked model anthropic/claude-sonnet-4-20250514.
Model: claude-sonnet-4-20250514 (anthropic/claude-sonnet-4-20250514)
Provider: anthropic
Lifecycle state: retired — retired; calls fail
Deprecated: 2026-04-14 (105 days ago)
Retirement: 2026-06-15 (43 days ago)

The provider has not named a replacement. Use suggest_replacement for options.
Pricing/limits: $3/1M in · $15/1M out

Source: https://docs.anthropic.com/en/docs/about-claude/model-deprecations
Provider's own term: "Retired"

Deadlines are always given in days, because a model cannot reliably judge whether 2026-07-30 is soon.

Design notes

A failed lookup is never a safety verdict. If the catalog is unreachable, the tool returns an MCP error and says so. An agent that read a network failure as "no deprecation found" would happily ship a retired model id. A model that simply isn't tracked gets the same treatment: it returns "not in the catalog, verify with the provider", never "OK".

Pass whatever string is literally in the code (gpt-4o, anthropic/claude-opus-4-1, azure/gpt-4o) and it resolves to the canonical tracked model.

When the provider's own deprecation notice names a successor, that is what you get. Otherwise the fallback list of same-provider active models is labelled as candidates to evaluate, so an agent can tell the two apart.

Anything past its retirement date is broken now, so it gets its own heading instead of sitting in "retiring soon".

Configuration

Both variables are optional.

Variable

Default

Purpose

LLMINTEL_API_KEY

none

Raises the rate-limit budget. The catalog itself is public, so you do not need this.

LLMINTEL_BASE_URL

https://llmintel.ai

Point at a self-hosted or staging catalog.

Anonymous callers get 30 requests/minute per IP, enough for interactive agent use.

Data provenance

Every record links to the provider page it was parsed from and preserves the provider's verbatim lifecycle term (sourceTerm), so a normalization decision is always auditable. Changes go through a human verification queue before publication. Collector freshness is public at /v1/status.

The same data is available as a plain REST API, also without a key. See llmintel.ai/docs.

Development

pnpm --filter @llmintel/mcp build
pnpm exec vitest run packages/mcp        # protocol-level tests against a fake catalog

# Drive the built binary against a live catalog
pnpm --filter @llmintel/mcp smoke
LLMINTEL_BASE_URL=http://localhost:3000 pnpm --filter @llmintel/mcp smoke

License

MIT © LLMIntel

Available Tools

5 tools
check_modelCheck a model's lifecycle statusA
Read-only
Inspect

Check whether an LLM model id is safe to use, deprecated, or retired, and what to migrate to. Accepts the exact string used in code (e.g. 'gpt-4o', 'claude-sonnet-4-5-20250929', 'anthropic/claude-opus-4-1'). Call this before writing or changing any hardcoded model id.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesModel id or alias exactly as it appears in code, e.g. 'gpt-4o'.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide readOnlyHint and openWorldHint, indicating a safe read operation with dynamic results. The description adds value by disclosing that it returns safety status (safe/deprecated/retired) and migration info, and by specifying input exactness. This goes beyond the annotations without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences: purpose+output, input examples, usage guideline. Front-loaded with primary action. No unnecessary words, every sentence adds distinct value. Highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a simple tool with one param, no output schema, and annotations covering read-only/open-world, the description covers the purpose, input format, output summary (status+migration), and usage context. It is nearly complete; a minor gap is that 'what to migrate to' is mentioned but not explicitly stated as a replacement ID. Still very good.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema describes the single 'model' parameter with examples. The tool description reinforces this with additional examples ('gpt-4o', etc.) and emphasizes exact string usage. Schema coverage is 100%, so baseline is 3; the extra examples and clarity push it to 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Check') and clearly identifies the resource (LLM model id lifecycle status). It distinguishes from sibling tools like 'list_retiring_models' or 'suggest_replacement' by emphasizing it checks a single exact model id string. The examples and usage directive further clarify its unique role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use the tool: 'Call this before writing or changing any hardcoded model id.' It does not explicitly state when not to use it, but the sibling context and focus on a single model id imply alternatives like 'list_retiring_models' for broader checks. The guidance is clear and actionable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_retiring_modelsList models retiring soonA
Read-only
Inspect

List tracked models scheduled to retire within a time window, soonest first. Use this to audit a codebase or plan migration work.

ParametersJSON Schema
NameRequiredDescriptionDefault
providerNoRestrict to one provider. Omit for all providers.
withinDaysNoOnly include models retiring within this many days. Defaults to 180.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only and open-world hints. Description adds the sorting order ('soonest first'), which is useful but minor. No mention of pagination, rate limits, or other behaviors beyond what annotations imply.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences that are efficient and front-loaded. First sentence states the core function and sort order; second sentence adds practical usage context. No superfluous words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity, full schema coverage, and read-only annotations, the description is mostly complete. It lacks details on return format or error handling, but these are acceptable omissions for a simple list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (both parameters documented). The tool description does not add any additional meaning or context about the parameters beyond their schema definitions, so baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool lists retiring models with a time window and sort order. It doesn't explicitly compare to siblings, but 'audit a codebase or plan migration work' provides context that distinguishes from general search tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use this to audit a codebase or plan migration work,' providing clear use cases. However, no mention of when not to use or alternatives like 'recent_lifecycle_changes' or 'check_model'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recent_lifecycle_changesRecent lifecycle changesA
Read-only
Inspect

Lifecycle state changes across all tracked providers, newest first. Use this to answer 'what model deprecations happened recently?'.

ParametersJSON Schema
NameRequiredDescriptionDefault
providerNoRestrict to one provider.
sinceDaysNoLook back this many days. Defaults to 30.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, covering safety and dynamic data. The description adds ordering (newest first) and scope (across all tracked providers), which are useful beyond annotations. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the main purpose and a clear use case. Every sentence earns its place with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool lacks an output schema, but the description implies a list of lifecycle changes. Given the simplicity and annotations, it is mostly complete, though the exact fields of each change could be clarified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description does not add meaning beyond the schema: provider and sinceDays are already described thoroughly in the schema. No additional param semantics provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists lifecycle state changes across providers, newest first, and provides a concrete example use case ('what model deprecations happened recently?'). This distinguishes it from siblings like check_model (single model) and list_retiring_models (specific subset).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes an explicit usage example ('Use this to answer...'), providing clear context. However, it does not specify when not to use it or mention alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_modelsSearch the model catalogA
Read-only
Inspect

List tracked models, optionally filtered by provider and lifecycle state. Use this to discover what is currently available from a provider.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum results.
stateNoFilter by canonical lifecycle state, e.g. 'active' or 'deprecated'.
providerNoFilter by provider.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, indicating safe read behavior and that results may vary. The description adds no additional behavioral traits (e.g., pagination, rate limits). Given the annotations, the description is adequate but not enhanced.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only two sentences, front-loading the action and filtering. Every sentence adds value with no redundancy or waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description could provide more detail on return format. It only says 'list models,' which implies a list but lacks specifics. Complexity is low, so it is minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all three parameters. The description only reiterates optional filtering without adding new meaning. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List tracked models' with optional filtering by provider and lifecycle state. It captures the core purpose and distinguishes it from siblings like list_retiring_models or check_model by focusing on general discovery. However, it does not explicitly differentiate from similar sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Use this to discover what is currently available from a provider,' giving clear usage context. It does not provide when-not-to-use or alternative tools, but the guidance is sufficient for the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suggest_replacementSuggest a replacement for a modelA
Read-only
Inspect

Given a deprecated or retiring model, return the provider's recommended replacement(s) and, when none is published, active models from the same provider to consider.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesModel id or alias to find a replacement for.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the behavior beyond annotations: it returns recommended replacements when available, and falls back to active models from the same provider. This adds value over the annotations (readOnlyHint, openWorldHint) and is fully transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that is front-loaded and contains no unnecessary words. Every part is essential.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description explains the return value clearly (replacement(s) or active models). No additional context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the input parameter description is adequate. The tool description does not add further details about the parameter format or examples, so it meets the baseline but does not exceed it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (suggest replacement), the resource (deprecated/retiring model), and the fallback behavior (returning active models from the same provider). It effectively distinguishes from sibling tools like list_retiring_models and check_model.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly indicates when to use the tool: when a model is deprecated or retiring. However, it does not explicitly state when not to use it or mention alternative tools for other scenarios, but the context is sufficiently clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updatesv0.1.0
    • First observedcheck_model
    • First observedlist_retiring_models
    • First observedrecent_lifecycle_changes
    • First observedsearch_models
    • First observedsuggest_replacement

TDQS

A4.2/5.0
Disambiguation5/5

Each tool serves a distinct purpose: recent changes, model check, retiring list, replacement suggestion, and filtered search. No overlap or confusion.

Naming Consistency4/5

Four tools follow verb_noun snake_case pattern (check_model, list_retiring_models, suggest_replacement, search_models), but recent_lifecycle_changes uses an adjective_noun pattern, creating a minor inconsistency.

Tool Count5/5

Five tools are well-suited for a model lifecycle server, covering essential queries without being excessive or sparse.

Completeness5/5

The tool surface covers key lifecycle needs: checking status, listing retiring models, suggesting replacements, viewing recent changes, and search. No obvious gaps for a read-only information server.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables AI assistants to check software end-of-life dates and support status using the endoflife.date API, providing accurate information on software lifecycle, security status, and upgrade recommendations in real-time.
    5
    8
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Software end-of-life intelligence for AI agents: EOL dates, support timelines and 0-100 upgrade risk scores for 480+ products. Check whether a version is still supported, score its risk, or audit an entire stack.
    5
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hivemindunit/llmintel-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server