EOL MCP Server

by ducthinh993
Verified
# 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. <a href="https://glama.ai/mcp/servers/5392xs0e78"><img width="380" height="200" src="https://glama.ai/mcp/servers/5392xs0e78/badge" alt="EOL Server MCP server" /></a> ## 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 1. `check_version` - Get EOL dates and support status - Check latest patch versions - Verify LTS status - Validate support timeline 2. `get_all_details` (New!) - Get comprehensive lifecycle details - View all version cycles - Check support timeline - Get validation results - Calculate remaining support days 3. `compare_versions` - Compare current vs latest versions - Get upgrade recommendations - Check compatibility - Assess upgrade urgency - Validate upgrade paths 4. `check_cve` - Security vulnerability scanning - Support status verification - Security patch validation - Vendor support checking 5. `list_products` - Browse available software - Search with filters - Verify product names - Get product details ### Prompts 1. `check_software_status` - Validate version support - Check EOL dates - Get security status 2. `compare_versions` - Analyze version differences - Get upgrade recommendations - Check compatibility 3. `analyze_security` - Security vulnerability analysis - Support status check - Patch verification 4. `natural_language_query` - Process natural language questions - Get contextual responses - Smart version detection 5. `validate_version` - Validate version recommendations - Check support status - Verify security implications ### Response Examples #### Version Validation ```json { "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!) ```json { "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 💬 1. 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. ``` 2. 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. ``` 3. 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](https://nodejs.org/) (v18 or higher) - [Claude Desktop](https://claude.ai/download) installed - Git installed You can verify your Node.js installation by running: ```bash node --version # Should show v18.0.0 or higher ``` ## Installation 🛠️ 1. Clone the repository: ```bash git clone https://github.com/ducthinh993/mcp-server-endoflife cd mcp-server-endoflife ``` 2. Install dependencies: ```bash npm install ``` 3. Build the project: ```bash npm run build ``` 4. Create a global link: ```bash npm link ``` ## Configuration ⚙️ ### 1. Claude Desktop Configuration Configure Claude Desktop to recognize the EOL MCP server: #### For macOS: ```bash code ~/Library/Application\ Support/Claude/claude_desktop_config.json ``` #### For Windows: ```bash code %APPDATA%\Claude\claude_desktop_config.json ``` Add the EOL server configuration: ```json { "mcpServers": { "eol": { "command": "npx", "args": ["/path/to/eol-mcp-server/build/index.js"] } } } ``` ### 2. Restart Claude Desktop 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 ## Troubleshooting 🔧 ### Common Issues 1. **Server Not Found** - Verify the npm link is correctly set up - Check Claude Desktop configuration syntax - Ensure Node.js is properly installed 2. **API Issues** - Check if endoflife.date API is accessible - Verify the API response format hasn't changed - Check network connectivity 3. **Connection Issues** - Restart Claude Desktop completely - Check Claude Desktop logs: ```bash # macOS tail -n 20 -f ~/Library/Logs/Claude/mcp*.log ``` ### Getting Help If you encounter issues: - Review the [MCP Documentation](https://modelcontextprotocol.io) - Check the [endoflife.date API Documentation](https://endoflife.date/docs/api) - Open an issue in the GitHub repository ## Acknowledgments 🙏 - [endoflife.date](https://endoflife.date) for their comprehensive software lifecycle API - [Model Context Protocol](https://modelcontextprotocol.io) for the MCP specification - [Anthropic](https://anthropic.com) for Claude Desktop