mcp server endoflife
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.
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.
A Model Context Protocol (MCP) server that enables AI assistants like Claude to check software end-of-life (EOL) dates and support status using the endoflife.date API. This helps AI models provide accurate information about software lifecycle and security status in real-time.
The Model Context Protocol (MCP) is a system that lets AI apps, like Claude Desktop, connect to external tools and data sources. It provides a standardized way for AI assistants to work with local services and APIs while keeping the user in control.
The EOL MCP server: - Checks software end-of-life dates and support status - Scans for CVE vulnerabilities in software versions - Provides version comparison and upgrade recommendations - Supports natural language queries about software lifecycle - Handles multiple software products (Python, Node.js, Ubuntu, etc.) - Caches recent queries for quick reference
check_version
Validate support timeline
get_all_details
(New!)
Calculate remaining support days
compare_versions
Validate upgrade paths
check_cve
Vendor support checking
list_products
check_software_status
Get security status
compare_versions
Check compatibility
analyze_security
Patch verification
natural_language_query
Smart version detection
validate_version
{
"current_date": "2024-02-20T00:00:00.000Z",
"validations": {
"current": {
"version": "1.20",
"eol_check": {
"date": "2024-02-06",
"valid": false,
"days_remaining": -14,
"message": "Version 1.20 EOL date 2024-02-06 is invalid, -14 days from now"
},
"support": {
"status": "not supported",
"lts": "not LTS"
}
}
},
"recommendation": {
"needs_update": true,
"urgency": "critical",
"message": "Current version needs urgent upgrade - use a supported version"
}
}
{
"product": "go",
"current_date": "2024-02-20T00:00:00.000Z",
"cycles": [
{
"cycle": "1.22",
"releaseDate": "2024-02-06",
"eol": "2025-02-06",
"latest": "1.22.0",
"validation": {
"is_valid": true,
"days_to_eol": 351,
"is_supported": true,
"message": "Version 1.22 EOL date 2025-02-06 is valid, +351 days from now"
}
}
]
}
Basic Version Check:
Human: Is Python 3.8 still good to use?
Claude: Let me check the status of Python 3.8.
[Uses check_version tool]
Based on the EOL data, Python 3.8:
- Security support ends: October 2024
- Current status: Security fixes only
Recommendation: Consider upgrading to Python 3.11 for new projects.
Security Analysis:
Human: Any security concerns with Node.js 16?
Claude: I'll analyze the security status of Node.js 16.
[Uses check_version tool]
[Uses check_cve tool]
Found:
- Support Status: LTS until September 2023
- Critical CVEs: 2 in last 6 months
- CVSS Score Range: 7.5-9.8
Recommendation: Update to latest 16.x patch or consider Node.js 18 LTS.
Version Comparison:
Human: Which Ubuntu version should I use?
Claude: I'll help you compare Ubuntu versions.
[Uses version-comparison prompt]
Analysis:
- 22.04 LTS: Supported until 2027, recommended for new deployments
- 20.04 LTS: Supported until 2025, stable and widely used
- 18.04 LTS: Approaching EOL, plan migration
Recommendation: Use 22.04 LTS for best long-term support.
Before you begin, ensure you have:
You can verify your Node.js installation by running:
node --version # Should show v18.0.0 or higher
Clone the repository:
git clone https://github.com/ducthinh993/mcp-server-endoflife
cd mcp-server-endoflife
Install dependencies:
npm install
Build the project:
npm run build
Create a global link:
npm link
Configure Claude Desktop to recognize the EOL MCP server:
code ~/Library/Application Support/Claude/claude_desktop_config.json
code %APPDATA%Claudeclaude_desktop_config.json
Add the EOL server configuration:
{
"mcpServers": {
"eol": {
"command": "npx",
"args": ["/path/to/eol-mcp-server/build/index.js"]
}
}
}
For the changes to take effect: 1. Completely quit Claude Desktop (not just close the window) 2. Start Claude Desktop again 3. Look for the ? icon to verify the EOL server is connected
Ensure Node.js is properly installed
API Issues
Check network connectivity
Connection Issues
# macOS
tail -n 20 -f ~/Library/Logs/Claude/mcp*.log
If you encounter issues: - Review the MCP Documentation - Check the endoflife.date API Documentation - Open an issue in the GitHub repository
[
{
"description": "Check EOL status and support information for software versions",
"inputSchema": {
"properties": {
"product": {
"description": "Software product name (e.g., python, nodejs, ubuntu)",
"examples": [
"python",
"nodejs",
"ubuntu"
],
"type": "string"
},
"version": {
"description": "Specific version to check (e.g., 3.8, 16, 20.04)",
"examples": [
"3.8",
"16",
"20.04"
],
"type": "string"
}
},
"required": [
"product"
],
"type": "object"
},
"name": "check_version"
},
{
"description": "Scan for known security vulnerabilities and support status",
"inputSchema": {
"properties": {
"product": {
"description": "Software product name",
"examples": [
"python",
"nodejs"
],
"type": "string"
},
"vendor": {
"description": "Software vendor (optional)",
"examples": [
"canonical",
"redhat"
],
"type": "string"
},
"version": {
"description": "Version to check for vulnerabilities",
"examples": [
"3.8.0",
"16.13.0"
],
"type": "string"
}
},
"required": [
"product",
"version"
],
"type": "object"
},
"name": "check_cve"
},
{
"description": "Browse or search available software products",
"inputSchema": {
"properties": {
"filter": {
"description": "Optional search term to filter products",
"examples": [
"python",
"linux",
"database"
],
"type": "string"
}
},
"type": "object"
},
"name": "list_products"
},
{
"description": "Compare versions and get detailed upgrade analysis",
"inputSchema": {
"properties": {
"product": {
"description": "Software product name (e.g., python, nodejs)",
"examples": [
"python",
"nodejs"
],
"type": "string"
},
"version": {
"description": "Current version being used",
"examples": [
"3.8",
"16"
],
"type": "string"
}
},
"required": [
"product",
"version"
],
"type": "object"
},
"name": "compare_versions"
},
{
"description": "Get comprehensive lifecycle details for all versions of a product",
"inputSchema": {
"properties": {
"product": {
"description": "Software product name (e.g., python, nodejs)",
"examples": [
"python",
"nodejs"
],
"type": "string"
}
},
"required": [
"product"
],
"type": "object"
},
"name": "get_all_details"
}
]