mcp server endoflife

Local 2025-08-31 23:14:40 0

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.

EOL Server MCP server

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
  2. Get EOL dates and support status
  3. Check latest patch versions
  4. Verify LTS status
  5. Validate support timeline

  6. get_all_details (New!)

  7. Get comprehensive lifecycle details
  8. View all version cycles
  9. Check support timeline
  10. Get validation results
  11. Calculate remaining support days

  12. compare_versions

  13. Compare current vs latest versions
  14. Get upgrade recommendations
  15. Check compatibility
  16. Assess upgrade urgency
  17. Validate upgrade paths

  18. check_cve

  19. Security vulnerability scanning
  20. Support status verification
  21. Security patch validation
  22. Vendor support checking

  23. list_products

  24. Browse available software
  25. Search with filters
  26. Verify product names
  27. Get product details

Prompts

  1. check_software_status
  2. Validate version support
  3. Check EOL dates
  4. Get security status

  5. compare_versions

  6. Analyze version differences
  7. Get upgrade recommendations
  8. Check compatibility

  9. analyze_security

  10. Security vulnerability analysis
  11. Support status check
  12. Patch verification

  13. natural_language_query

  14. Process natural language questions
  15. Get contextual responses
  16. Smart version detection

  17. validate_version

  18. Validate version recommendations
  19. Check support status
  20. 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 ?

  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:

You can verify your Node.js installation by running:

node --version  # Should show v18.0.0 or higher

Installation ?️

  1. Clone the repository:

    git clone https://github.com/ducthinh993/mcp-server-endoflife
    cd mcp-server-endoflife

  2. Install dependencies:

    npm install

  3. Build the project:

    npm run build

  4. 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%Claudeclaude_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: 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
  2. Verify the npm link is correctly set up
  3. Check Claude Desktop configuration syntax
  4. Ensure Node.js is properly installed

  5. API Issues

  6. Check if endoflife.date API is accessible
  7. Verify the API response format hasn't changed
  8. Check network connectivity

  9. Connection Issues

  10. Restart Claude Desktop completely
  11. 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 ?

[
  {
    "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"
  }
]