Skip to main content
Glama
brianprost

EndOfLife MCP Server

by brianprost
README.md
# EndOfLife MCP Server

An [MCP (Model Context Protocol)](https://modelcontextprotocol.io) server that provides access to the [endoflife.date](https://endoflife.date) API for querying end-of-life and support information for various software products.

## Features

The server provides the following tools:

- **list_products** - Get a list of all products tracked by endoflife.date
- **get_product** - Get detailed information about a specific product
- **get_product_release** - Get information about a specific product release
- **list_categories** - Get a list of all product categories
- **get_category_products** - Get products in a specific category
- **list_tags** - Get a list of all product tags
- **get_tag_products** - Get products with a specific tag

## Installation

```bash
npm install
npm run build
```

## Usage

The server can be used with any MCP-compatible client. Configure your client to use this server:

```json
{
  "mcpServers": {
    "endoflife": {
      "command": "node",
      "args": ["/path/to/endoflife-mcp/dist/index.js"]
    }
  }
}
```

## Development

```bash
npm run dev  # Run in development mode with watch
npm run build  # Build the project
npm start  # Run the built server
```

## API Reference

This server interfaces with the [endoflife.date API v1](https://endoflife.date/docs/api/v1/), providing structured access to end-of-life dataset for thousands of software products.

## License

MIT

TDQS

A3.8/5.0

Scored across 7 tools

Disambiguation5/5

Every tool has a clearly distinct purpose with no ambiguity: get_category_products filters by category, get_product retrieves detailed EOL info for a specific product, get_product_release focuses on a single version, get_tag_products filters by tags, list_categories shows available categories, list_products lists all products, and list_tags shows all tags. The descriptions explicitly differentiate their scopes, making misselection unlikely.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern using snake_case: get_*, list_*. The verbs 'get' and 'list' are used predictably—'get' for retrieving specific items and 'list' for browsing collections. There are no deviations in naming conventions across the set.

Tool Count5/5

With 7 tools, this server is well-scoped for its purpose of querying end-of-life information. Each tool earns its place by covering distinct aspects of the domain: browsing (list_*), filtering (get_* by category/tag), and detailed retrieval (get_product, get_product_release). The count is neither too thin nor overwhelming.

Completeness5/5

The tool set provides complete coverage for the EOL domain, enabling agents to explore categories and tags, browse all products, filter by category or tag, retrieve detailed product info, and drill down to specific releases. There are no obvious gaps; agents can navigate from broad discovery to precise queries without dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues