cyber-mcp-server
Cybersecurity MCP Server
A production-style MCP (Model Context Protocol) server that gives AI models a toolkit of real cybersecurity capabilities — port scanning, WHOIS, DNS, threat intelligence, CVE lookup, and more.
Claude / ChatGPT
│
Model Context Protocol
│
Cyber MCP Server
│
┌────┬────┬──────┬──────┬─────┬───────┬────────┐
Nmap DNS WHOIS VT ABUSE NVD Hash URLTools
Tool | What it does | External API |
| Nmap TCP scan on a single host | — |
| Nmap sweep across a CIDR block | — |
| Registrar, dates, nameservers | — |
| A/AAAA/MX/NS/TXT/CNAME/SOA records | — |
| Malicious flag, abuse score, ISP | VirusTotal, AbuseIPDB |
| Detection ratio, categories | VirusTotal |
| MD5/SHA1/SHA256 file hash lookup | VirusTotal |
| CVSS score, description, CPEs | NVD (NIST) |
| zxcvbn score, entropy, crack time | — (fully local) |
| SSL cert, redirect chain, risk score | — |
Quick start
1. Clone & install
git clone https://github.com/yourname/cyber-mcp-server.git
cd cyber-mcp-server
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt2. Configure
cp .env.example .env
# Edit .env — add your API keys3. Run (stdio — for Claude Desktop)
python server.py4. Run (SSE — for HTTP clients)
MCP_TRANSPORT=sse python server.py
# Server starts on http://0.0.0.0:80005. Docker
docker compose up --buildClaude Desktop integration
Add to claude_desktop_config.json:
{
"mcpServers": {
"cyber": {
"command": "python",
"args": ["/absolute/path/to/cyber-mcp-server/server.py"],
"env": {
"API_KEYS": "your-key",
"VIRUSTOTAL_API_KEY": "...",
"ABUSEIPDB_API_KEY": "...",
"NVD_API_KEY": "..."
}
}
}
}Example prompts (in Claude)
Scan scanme.nmap.org and summarize the open services.
Is 185.220.101.1 a malicious IP?
Look up CVE-2024-3400 and explain the risk.
Check the password "Summer2024!" — is it strong?
Analyse the hash d41d8cd98f00b204e9800998ecf8427e.
Scan https://example.com for SSL and security header issues.
Do a full DNS lookup for google.com.Project structure
cyber-mcp-server/
├── server.py # Entry point — registers all tools
├── config/
│ └── settings.py # Env-based configuration
├── tools/
│ ├── nmap_tool.py # Port scanner
│ ├── whois_tool.py # WHOIS lookup
│ ├── dns_tool.py # DNS records
│ ├── vt_tool.py # VirusTotal / AbuseIPDB
│ ├── hash_tool.py # File hash analysis
│ ├── cve_tool.py # NVD CVE lookup
│ ├── password_tool.py # Password strength (local)
│ └── url_tool.py # SSL + redirect + header scan
├── middleware/
│ ├── auth.py # API key + JWT auth
│ ├── rate_limit.py # Token-bucket rate limiter
│ └── audit.py # Structured JSON audit logs
├── utils/
│ └── helpers.py # Shared utilities
├── tests/
│ └── test_tools.py # Pytest unit tests
├── logs/ # Auto-created at runtime
├── .env.example # Environment variable template
├── .github/workflows/ci.yml # GitHub Actions CI/CD
├── Dockerfile
├── docker-compose.yml
├── pytest.ini
└── requirements.txtAPI keys needed
Service | Get key | Free tier |
VirusTotal | 4 req/min | |
AbuseIPDB | 1000 req/day | |
NVD (NIST) | 50 req/30s |
Testing
pytest tests/ -v --cov=. --cov-report=term-missingSecurity notes
Nmap scans should only target hosts you have permission to scan.
Passwords evaluated by
check_password_strengthare never logged or sent externally.All tool calls are written to
logs/audit.logas newline-delimited JSON.Run the container as a non-root user (already configured in
Dockerfile).Rotate
API_KEYSandJWT_SECRETbefore deploying to production.
Resume features checklist
MCP + FastMCP integration
8 cybersecurity tools
API key authentication
JWT token support
Rate limiting (token bucket)
Structured audit logging
Docker + docker-compose
GitHub Actions CI/CD
Pytest unit tests with coverage
Async throughout (httpx, asyncio)
Secure non-root Docker image
.env-based configuration "# cyber-mcp-server"
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/warnii/cyber-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server