mcp-for-security

yes0ng/mcp-for-security

3.1

If you are the rightful owner of mcp-for-security and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The MCP Server for endoflife.date provides a structured protocol for accessing end-of-life information for various software and hardware products.

MCP Server for Security

A collection of MCP (Model Context Protocol) servers for information security.

Server List

📆 end-of-life-date

An MCP server that checks product end-of-life dates and support status. It provides lifecycle information for various products using the endoflife.date API.

🔍 cve-lookup

An MCP server that searches and retrieves CVE (Common Vulnerabilities and Exposures) information from the NVD (National Vulnerability Database). It provides detailed vulnerability information including CVSS scores, descriptions, and references.

🛡️ reputation-checker

An MCP server that checks IP addresses, domains, and URLs for malicious activity using multiple threat intelligence sources. It provides hierarchical fallback across VirusTotal, AbuseIPDB, and URLhaus APIs with intelligent caching.

Installation

Requirements

  • Python 3.8 or higher
  • pip

Install Dependencies

pip install -r requirements.txt

Usage

Running the end-of-life-date Server

python servers/end-of-life-date/server.py

Running the cve-lookup Server

python servers/cve-lookup/server.py

Running the reputation-checker Server

# Set API keys (optional but recommended)
export VIRUSTOTAL_API_KEY="your_virustotal_api_key"
export ABUSEIPDB_API_KEY="your_abuseipdb_api_key"

python servers/reputation-checker/server.py

Claude Desktop Configuration

To use with Claude Desktop, add the following to your configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "mcp-server-end-of-life": {
      "command": "python",
      "args": [
        "/path/to/mcp-server-for-security/servers/end-of-life-date/server.py"
      ]
    },
    "mcp-server-cve-lookup": {
      "command": "python",
      "args": [
        "/path/to/mcp-server-for-security/servers/cve-lookup/server.py"
      ]
    },
    "mcp-server-reputation-checker": {
      "command": "python",
      "args": [
        "/path/to/mcp-server-for-security/servers/reputation-checker/server.py"
      ],
      "env": {
        "VIRUSTOTAL_API_KEY": "your_virustotal_api_key",
        "ABUSEIPDB_API_KEY": "your_abuseipdb_api_key"
      }
    }
  }
}

Features

end-of-life-date Server

This server provides the following tools:

Product Related
  • get_products() - Get list of all products
  • get_products_full() - Get full information for all products
  • get_product(product) - Get release cycle information for a specific product
  • get_product_release_cycle(product, release) - Get information for a specific release cycle of a product
  • get_product_latest_release_cycle(product) - Get latest release cycle information for a product
Category Related
  • get_categories() - Get list of all categories
  • get_category(category) - Get list of products in a specific category
Tag Related
  • get_tags() - Get list of all tags
  • get_tag(tag) - Get list of products with a specific tag
Identifier Related
  • get_identifiers() - Get list of all identifier types
  • get_identifier(identifier_type) - Get list of products for a specific identifier type
Other
  • get_index() - Get API index information

cve-lookup Server

This server provides the following tools:

  • get_cve_by_id(cve_id) - Get detailed information about a specific CVE by its ID (e.g., "CVE-2024-1234")
  • get_cve_by_keyword(keyword, limit) - Search for CVEs by keyword (e.g., "apache", "microsoft exchange")
  • get_recent_cve(days, limit) - Get recently published CVEs from the last N days

reputation-checker Server

This server provides the following tools:

  • check_ip_reputation(ip_address) - Check IP reputation across VirusTotal, AbuseIPDB, and URLhaus
  • check_domain_reputation(domain) - Check domain reputation using VirusTotal and URLhaus
  • check_url_safety(url) - Check if a URL is known to be malicious using URLhaus
  • bulk_check_ips(ip_list, max_ips) - Check multiple IPs at once (comma-separated)
  • clear_cache() - Clear all cached reputation results

Features:

  • Hierarchical fallback: Tries premium APIs first, falls back to free alternatives
  • Intelligent caching: Malicious results cached for 24h, clean results for 7 days
  • Multi-source threat intelligence aggregation
  • No API keys required for basic functionality (URLhaus is free)

Usage Examples

end-of-life-date Server

You can ask Claude Desktop questions like:

"What is the end-of-life date for Python?"
"Check the support status for Ubuntu 22.04"
"Show me products in the operating system category"
"Find products with the security tag"

cve-lookup Server

You can ask Claude Desktop questions like:

"Get information about CVE-2024-1234"
"Search for CVEs related to Apache"
"Show me recent CVEs from the last 7 days"
"Find vulnerabilities in Microsoft Exchange"

reputation-checker Server

You can ask Claude Desktop questions like:

"Check the reputation of IP 8.8.8.8"
"Is domain malicious-site.com safe?"
"Check if this URL is malicious: https://example.com/suspicious"
"Check these IPs: 1.2.3.4, 5.6.7.8, 9.10.11.12"

Project Structure

mcp-server-for-security/
├── README.md
└── servers/
    ├── end-of-life-date/
    │   └── server.py
    ├── cve-lookup/
    │   └── server.py
    └── reputation-checker/
        └── server.py

License

MIT

Contributing

Issues and pull requests are always welcome!

References