EndOfLife MCP Server
# 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
Scored across 7 tools
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.
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.
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.
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.