PrismSec
A secure, modular MCP server that wraps seven industry-standard security tools (nmap, nuclei, gobuster, subfinder, httpx, nikto, sqlmap) into thirteen MCP tools, enabling AI agents to perform port scanning, vulnerability scanning, directory enumeration, subdomain discovery, web probing, and SQL injection testing through natural language.
README
PrismSec š·
Secure, modular MCP server for pentesting tools.
Wraps 7 industry-standard security tools (nmap, nuclei, gobuster, subfinder, httpx, nikto, sqlmap) into 13 registered MCP tools ā ready to use with Claude, Cursor, Copilot, and any MCP-compatible AI agent.
Features
| Feature | Description |
|---|---|
| Zero shell=True | All subprocess calls use asyncio.create_subprocess_exec ā no shell injection |
| Input validation | Target, URL, port, severity ā all validated before execution |
| Injection detection | Blocks shell metacharacters (;, $(), backticks, |) |
| Timeout enforcement | Every tool has configurable timeout ā auto-kills hung processes |
| Structured output | Parsed XML/JSON/text ā clean JSON for AI agents |
| Modular architecture | One file per tool ā easy to add, maintain, and test |
| MCP SDK v2 | Built on the latest Model Context Protocol SDK |
Installation
From source
git clone https://github.com/azmisyahrul/prismsec.git
cd prismsec
pip install -e .
Prerequisites
Install the security tools you need:
# Ubuntu/Debian
apt install nmap nikto sqlmap
# Go-based tools
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest
go install github.com/OJ/gobuster/v3@latest
Tools (13 registered)
Nmap ā Port Scanning
| MCP Tool | Description |
|---|---|
nmap_port_scan |
Port scan with quick/full/service/stealth/aggressive modes |
nmap_service_detect |
Service/version detection on open ports |
nmap_full_scan |
Scan all 65535 TCP ports |
Nuclei ā Vulnerability Scanning
| MCP Tool | Description |
|---|---|
nuclei_vuln_scan |
Full vulnerability scan with all templates |
nuclei_severity_scan |
Scan filtered by severity (critical, high, etc.) |
nuclei_template_scan |
Targeted scan with specific template |
Gobuster ā Directory/DNS Brute
| MCP Tool | Description |
|---|---|
gobuster_directory |
Directory brute-force with configurable extensions |
gobuster_dns |
DNS subdomain brute-force |
Other Tools
| MCP Tool | Description |
|---|---|
subfinder_enumerate |
Passive subdomain enumeration (crt.sh, VirusTotal, etc.) |
httpx_probe |
Web probing ā alive detection, titles, tech fingerprinting |
nikto_web_scan |
Web server vulnerability scanning |
sqlmap_injection_test |
SQL injection detection and testing |
Meta
| MCP Tool | Description |
|---|---|
check_tools |
Check which security tools are installed |
Usage
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"prismsec": {
"command": "python3",
"args": ["/path/to/prismsec/server.py"],
"env": {}
}
}
}
Claude Code
claude mcp add prismsec python3 /path/to/prismsec/server.py
Cursor / Windsurf / Cline
Add to .cursor/mcp.json or equivalent:
{
"mcpServers": {
"prismsec": {
"command": "python3",
"args": ["/path/to/prismsec/server.py"]
}
}
}
SSE Transport (Remote)
# Server side
python3 server.py --transport sse --host 0.0.0.0 --port 8000
# Client config
{
"mcpServers": {
"prismsec": {
"url": "http://localhost:8000/sse"
}
}
}
Project Structure
prismsec/
āāā server.py # MCP server entry point (13 tools)
āāā pyproject.toml # Project config + dependencies
āāā tools/ # Tool wrappers (one file per tool)
ā āāā base.py # ToolWrapper ABC + async runner
ā āāā nmap.py # Nmap ā XML parsing, scan modes
ā āāā nuclei.py # Nuclei ā JSON output parsing
ā āāā gobuster.py # Gobuster ā text output parsing
ā āāā subfinder.py # Subfinder ā subdomain enum
ā āāā httpx.py # Httpx ā web probing
ā āāā nikto.py # Nikto ā web vuln scan
ā āāā sqlmap.py # Sqlmap ā SQL injection testing
āāā parsers/ # Output parsers
ā āāā xml_parser.py # nmap XML ā structured JSON
ā āāā json_parser.py # JSON/JSONL parsing
ā āāā text_parser.py # Gobuster, nikto, sqlmap text
āāā utils/ # Shared utilities
āāā runner.py # AsyncRunner with timeout
āāā validator.py # Input validation + injection detection
āāā rate_limiter.py # Token bucket rate limiter
āāā logging.py # Structured logging
Configuration
| Environment Variable | Default | Description |
|---|---|---|
LOG_LEVEL |
INFO |
Logging level (DEBUG, INFO, WARNING, ERROR) |
Security Considerations
ā ļø Authorized testing only. Use against systems you own or have written permission to test.
- Tool outputs may contain sensitive information (IPs, open ports, vulnerabilities)
- The server binds to
127.0.0.1by default ā never expose to untrusted networks - Each tool has configurable timeouts to prevent resource exhaustion
License
MIT
Built with the Model Context Protocol standard for broad client compatibility.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.