mcp-server-endoflife
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.
EOL MCP Server ๐
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.
What is MCP? ๐ค
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.
What does this server do? ๐
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
 
Features โจ
Core Functionality
- Real-time EOL date validation
 - Version support status checking
 - Security vulnerability analysis
 - Comprehensive version comparison
 - Natural language query processing
 - Detailed lifecycle validation
 
Tools
- 
check_version- Get EOL dates and support status
 - Check latest patch versions
 - Verify LTS status
 - Validate support timeline
 
 - 
get_all_details(New!)- Get comprehensive lifecycle details
 - View all version cycles
 - Check support timeline
 - Get validation results
 - Calculate remaining support days
 
 - 
compare_versions- Compare current vs latest versions
 - Get upgrade recommendations
 - Check compatibility
 - Assess upgrade urgency
 - Validate upgrade paths
 
 - 
check_cve- Security vulnerability scanning
 - Support status verification
 - Security patch validation
 - Vendor support checking
 
 - 
list_products- Browse available software
 - Search with filters
 - Verify product names
 - Get product details
 
 
Prompts
- 
check_software_status- Validate version support
 - Check EOL dates
 - Get security status
 
 - 
compare_versions- Analyze version differences
 - Get upgrade recommendations
 - Check compatibility
 
 - 
analyze_security- Security vulnerability analysis
 - Support status check
 - Patch verification
 
 - 
natural_language_query- Process natural language questions
 - Get contextual responses
 - Smart version detection
 
 - 
validate_version- Validate version recommendations
 - Check support status
 - Verify security implications
 
 
Response Examples
Version Validation
{
  "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"
  }
}
All Details Response (New!)
{
  "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"
      }
    }
  ]
}
Example Conversations ๐ฌ
- 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.
Prerequisites ๐
Before you begin, ensure you have:
- Node.js (v18 or higher)
 - Claude Desktop installed
 - Git installed
 
You can verify your Node.js installation by running:
node --version  # Should show v18.0.0 or higher
Installation ๐ ๏ธ
- 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
Configuration โ๏ธ
1. Claude Desktop Configuration
Configure Claude Desktop to recognize the EOL MCP server:
For macOS:
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
For Windows:
code %APPDATA%\Claude\claude_desktop_config.json
Add the EOL server configuration:
{
  "mcpServers": {
    "eol": {
      "command": "npx",
      "args": ["/path/to/eol-mcp-server/build/index.js"]
    }
  }
}
2. Restart Claude Desktop
For the changes to take effect:
- Completely quit Claude Desktop (not just close the window)
 - Start Claude Desktop again
 - Look for the ๐ icon to verify the EOL server is connected
 
Troubleshooting ๐ง
Common Issues
- 
Server Not Found
- Verify the npm link is correctly set up
 - Check Claude Desktop configuration syntax
 - Ensure Node.js is properly installed
 
 - 
API Issues
- Check if endoflife.date API is accessible
 - Verify the API response format hasn't changed
 - Check network connectivity
 
 - 
Connection Issues
- Restart Claude Desktop completely
 - Check Claude Desktop logs:
# macOS tail -n 20 -f ~/Library/Logs/Claude/mcp*.log 
 
Getting Help
If you encounter issues:
- Review the MCP Documentation
 - Check the endoflife.date API Documentation
 - Open an issue in the GitHub repository
 
Acknowledgments ๐
- endoflife.date for their comprehensive software lifecycle API
 - Model Context Protocol for the MCP specification
 - Anthropic for Claude Desktop