Skip to main content
Glama

Security & OSINT Python MCP Server

An Enterprise-Grade Model Context Protocol (MCP) server that exposes POSIX networking and OSINT utilities (dig, curl, openssl, whois) to LLM host environments like Antigravity CLI, Claude Desktop, and Cursor IDE via stdio transport.

Designed with strict command-injection defense mechanisms to prevent Remote Code Execution (RCE) during agentic tool calls.


Architecture & Threat Model

graph TD
    A[LLM Client / Antigravity / Claude] -->|stdio JSON-RPC| B(FastMCP Server)
    B --> C{Regex & Flag Sanitizer}
    C -->|Invalid / Injection Attempt| D[Reject with Error]
    C -->|Valid Arguments| E[Safe Subprocess Executor]
    E -->|shell=False + Vector Args| F[Linux CLI Utilities: dig, curl, openssl, whois]
    F --> G[Output Parser]
    G -->|Structured Markdown Tables| A

Security & Defense Engine Specs

  • No Shell Execution (shell=False): Inputs are passed purely as argument vectors (subprocess.run(["cmd", "arg"])). Shell metasymbols (|, ;, &&, $(), `) are treated as literal characters and neutralized.

  • Option Flag Defense: Parameters starting with - are rejected to block argument injection (e.g., -o /etc/passwd).

  • Strict Input Regex Validation: Enforces RFC-compliant domain name and IPv4 format matching prior to command invocation.

  • Process Lifespan Isolation: Enforces 10-second hard timeouts per subprocess call to avoid denial-of-service conditions.

  • Stdio Protocol Protection: All standard logging is isolated strictly to sys.stderr to maintain clean JSON-RPC communication on stdout.


Related MCP server: connectivity-diagnostics

Features & Tool Wrappers

Tool Endpoint

Wrapped Binary

Description

Output Format

dns_lookup

dig

Resolves A, AAAA, MX, and TXT records.

Markdown Table (Record, TTL, Value)

http_header_inspector

curl -I

Audits security headers (HSTS, CSP, CORS, X-Frame-Options).

Security Compliance Audit Table

ssl_cert_inspector

openssl s_client

Extracts Subject, Issuer, SANs, and handshake status.

Executive TLS Summary Table

whois_lookup

whois

Queries domain registrar, creation, and expiration dates.

Domain Lifecycle Metadata Table


Quickstart

Prerequisites

  • Linux (Arch, Debian/Ubuntu, RHEL) or macOS

  • Python 3.11+

  • uv package manager (sudo pacman -S uv or curl -LsSf https://astral.sh/uv/install.sh | sh)

  • System utilities: dig, curl, whois, openssl

Installation

  1. Clone the repository:

    git clone https://github.com/minhajadab3836/Security-MCP
    cd security-mcp-server
  2. Audit local CLI dependencies:

    uv run python -m src.security_mcp.audit
  3. Run unit & security defense tests:

    uv run python -m src.security_mcp.test_defense
    uv run python -m src.security_mcp.test_tools

MCP Client Configuration

Add this entry to your host client configuration file (e.g., ~/.config/antigravity/mcp_config.json, claude_desktop_config.json, or .cursor/mcp.json):

{
  "mcpServers": {
    "security-osint": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/path/to/security-mcp-server",
        "python",
        "-m",
        "src.security_mcp.server"
      ]
    }
  }
}

Demonstration & Example Outputs

Prompt:

"Conduct a security inspection on example.com and audit its HTTP security headers."

Server Output Returned to Agent:

HTTP Header Security Analysis: https://example.com

Status Line: HTTP/2 200

Security Header Audit

Header

Status

Value

HSTS (strict-transport-security)

PRESENT

max-age=31536000; includeSubDomains

CSP (content-security-policy)

MISSING

—

Clickjacking Protection (x-frame-options)

PRESENT

DENY

MIME Sniffing Defense (x-content-type-options)

PRESENT

nosniff

Server Info

  • Server Header: ECS (8b54/1218)

  • Powered By: Unspecified


License

Distributed under the MIT License. See LICENSE for details.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      Not graded
      maintenance
      Provides safe, controlled access to network and system diagnostic tools including ping, nmap, dig, traceroute, curl, and whois for troubleshooting connectivity, scanning ports, and performing DNS lookups through whitelisted commands with security validation.
      -
    • A
      license
      Not graded
      quality
      B
      maintenance
      Provides DNS and network-reconnaissance tools that let agents run lookups for records, reverse DNS, ping, passive subdomain discovery, shared nameservers, geolocation, reverse IP, ASN, HTTP headers, subnet arithmetic and page links, plus key-gated WHOIS, MTR and traceroute. Responses are parsed into structured JSON with verbatim raw text, and it runs either through a hosted gateway or as a local stdio server.
      122 npm
      MIT
    • F
      license
      Not graded
      quality
      B
      maintenance
      Exposes 21 tools over stdio that let any MCP-capable AI agent run real Kali-container security tools (nmap, nuclei, sqlmap, Metasploit), search a local 59,000+ CVE vulnerability database, and browse a 5,266-entry GitHub security tool index. Built-in guardrails refuse government, education, and military domains, and only whitelisted in-container executables can be invoked.
      3
      -