Install
$ agentstack add mcp-cortexc0de-netmcp β scanned Β· β verified β works with Claude Code, Cursor, and more.
Security review
β PassedNo issues found. Passed automated security review. Β· v0.1.0 How review works β
- β Prompt-injection patterns
- β Secret / credential exfiltration
- β Dangerous shell & filesystem operations
- β Untrusted network calls
- β Known-malicious package signatures
What it can access
- β Network access No
- β Filesystem access No
- β Shell / process execution Used
- β Environment & secrets No
- β Dynamic code execution No
From automated source analysis of v0.1.0. βUsedβ means the capability is present in the source β more access means more to trust, not that itβs unsafe.
About
π NetMCP
Professional-grade network analysis MCP server β Wireshark/TShark + Nmap + Threat Intelligence
[](https://github.com/cortexc0de/netmcp/actions/workflows/ci.yml) [](https://github.com/cortexc0de/netmcp) [](https://github.com/cortexc0de/netmcp/actions/workflows/codeql.yml) [](https://www.python.org/downloads/) [](LICENSE) [](https://pypi.org/project/netmcp/) [](https://ghcr.io/cortexc0de/netmcp) [](https://modelcontextprotocol.io/)
NetMCP bridges the gap between raw network data and AI comprehension. It gives Claude, Cursor, and any MCP-compliant client the ability to capture packets, scan networks, detect threats, and extract credentials β all through natural language.
[Quick Start](#-quick-start) β’ [Features](#-features) β’ [Configuration](#-configuration) β’ [API Reference](docs/API.md) β’ [Architecture](docs/ARCHITECTURE.md)
π Quick Start
# Install system dependencies
sudo apt-get install -y tshark nmap # Ubuntu/Debian
# brew install wireshark nmap # macOS
# Install NetMCP
pip install netmcp
# Run
netmcp
That's it. The server starts on stdio transport by default, ready for any MCP client.
β¨ Features
- π‘ Packet Capture β Live capture, BPF filtering, targeted traffic, quick capture mode
- π¬ Deep Analysis β PCAP parsing, protocol statistics, HTTP traffic analysis, DNS analysis, expert info, GeoIP enrichment
- π Stream Reconstruction β Follow TCP/UDP conversations, enumerate streams
- π€ Flexible Export β JSON, CSV, pcap/pcapng format conversion
- π Nmap Integration β Port scan, service detection, OS fingerprinting, vulnerability scan
- π‘οΈ Threat Intelligence β URLhaus + AbuseIPDB IP reputation checks, PCAP-wide threat scan
- π Credential Extraction β HTTP Basic, FTP, Telnet, Kerberos (hashcat-ready)
- π GeoIP Mapping β MaxMind GeoLite2 IP geolocation for traffic analysis
- π 5-Layer Security β Input validation, shell=False, rate limiting, path traversal protection, audit logging
- π¬ Guided Workflows β Security audit, incident response, troubleshooting, traffic analysis, network baseline prompts
Advanced Features
- π PCAP Diff/Merge/Slice β Compare captures, combine files via mergecap, extract packet ranges via editcap
- π Flow Visualization β ASCII art and Mermaid sequence diagrams of network conversations
- π TLS Decryption β Decrypt HTTPS traffic using SSLKEYLOGFILE (NSS Key Log Format)
- π¨ Wireshark Profiles β List profiles, apply profile settings, parse color filters, capture with profile
- 𧬠DNS Tunneling Detection β Analyze DNS traffic and flag suspiciously long subdomain names
- π¦ Packet Decode β Detailed single-packet analysis with full protocol layer dissection
- π₯ Expert Information β Extract Wireshark's expert warnings, errors, and protocol violation notes
π Tool Categories
NetMCP provides 48 tools across 9 categories, plus 3 resources and 5 prompts:
| Category | Tools | Description | |----------|-------|-------------| | π‘ Capture & Analysis | 5 | get_network_interfaces Β· capture_live_packets Β· quick_capture Β· save_capture_to_file Β· analyze_large_pcap | | π¬ Protocol Analysis | 10 | analyze_pcap_file Β· get_protocol_statistics Β· get_capture_file_info Β· capture_targeted_traffic Β· analyze_http_traffic Β· detect_network_protocols Β· analyze_http_headers Β· geoip_lookup Β· analyze_dns_traffic Β· get_expert_info | | π Network Flows | 2 | visualize_network_flows (ASCII + Mermaid) Β· decrypt_tls_traffic | | π§ PCAP Tools | 4 | diff_pcap_files Β· merge_pcap_files Β· slice_pcap Β· decode_packet | | π Streams | 3 | follow_tcp_stream Β· follow_udp_stream Β· list_tcp_streams | | π€ Export | 3 | export_packets_json Β· export_packets_csv Β· convert_pcap_format | | π Nmap | 6 | nmap_port_scan Β· nmap_service_detection Β· nmap_os_detection Β· nmap_vulnerability_scan Β· nmap_quick_scan Β· nmap_comprehensive_scan | | π‘οΈ Security | 3 | extract_credentials Β· check_ip_threat_intel Β· scan_capture_for_threats | | π¨ Wireshark Profiles | 4 | list_wireshark_profiles Β· apply_profile_capture Β· get_color_filters Β· capture_with_profile |
> π Full API reference with parameters and examples: [docs/API.md](docs/API.md)
π Transport Options
NetMCP supports all MCP transport protocols:
| Transport | Command | Use Case | |-----------|---------|----------| | stdio (default) | netmcp | Claude Desktop, Cursor, local clients | | SSE | netmcp --transport sse | Web-based clients, remote access | | Streamable HTTP | netmcp --transport streamable-http | Modern HTTP clients |
βοΈ Configuration
Claude Desktop
Edit your config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"netmcp": {
"command": "netmcp",
"env": {
"ABUSEIPDB_API_KEY": "your_api_key_here"
}
}
}
}
Cursor
Edit .cursor/mcp.json in your project root:
{
"mcpServers": {
"netmcp": {
"command": "netmcp"
}
}
}
Windsurf / VS Code
Edit .vscode/mcp.json:
{
"servers": {
"netmcp": {
"command": "netmcp",
"env": {
"ABUSEIPDB_API_KEY": "your_api_key_here"
}
}
}
}
Environment Variables
| Variable | Required | Default | Description | |----------|----------|---------|-------------| | ABUSEIPDB_API_KEY | No | β | AbuseIPDB API key for threat intelligence. Get free key | | NETMCP_TSHARK_PATH | No | Auto-detect | Custom path to tshark binary | | NETMCP_MAX_PACKETS | No | 10000 | Maximum packets per capture operation | | NETMCP_MAX_FILE_SIZE | No | 104857600 | Maximum PCAP file size in bytes (100 MB) |
π Requirements
| Dependency | Required | Install | |------------|----------|---------| | Python | 3.11+ | sudo apt install python3.11 | | TShark | Yes | sudo apt install tshark | | Nmap | Optional | sudo apt install nmap |
macOS
brew install wireshark nmap
Linux Permissions
# Option 1: Set capabilities (recommended)
sudo setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
# Option 2: Add user to wireshark group
sudo usermod -aG wireshark $USER && newgrp wireshark
π‘οΈ Security Model
NetMCP implements 5 layers of defense in depth:
| Layer | Mechanism | Prevents | |-------|-----------|----------| | 1. Input Validation | Regex, ipaddress module, Pydantic | Malformed input, injection payloads | | 2. Command Construction | List args, shell=False everywhere | Command injection, shell expansion | | 3. Subprocess Execution | Timeouts, captured output only | Runaway processes, resource exhaustion | | 4. File System | Path.resolve(), extension allowlist, size limits | Path traversal, symlink attacks | | 5. Rate Limiting | Sliding window, per-operation tracking | Abuse, DoS attacks |
Additional protections:
- π Never auto-escalates privileges
- π All operations audit-logged with timestamps
- π« Dangerous nmap flags rejected (
--script-args,--interactive, etc.) - β οΈ Clear error messages for permission issues
π― Usage Examples
Live Packet Capture
You: Capture 100 packets from eth0 and analyze the protocols.
Claude: [capture_live_packets(interface="eth0", packet_count=100)]
[get_protocol_statistics(filepath="capture.pcap")]
Found 8 protocols: TCP (62%), UDP (24%), DNS (8%), HTTP (4%)...
Security Audit
You: Perform a security audit on suspicious.pcap
Claude: 1. [get_protocol_statistics] β traffic breakdown
2. [extract_credentials] β found HTTP Basic Auth credentials
3. [scan_capture_for_threats] β 2 malicious IPs detected
4. Generated full security report with IOCs
Nmap Vulnerability Scan
You: Scan 192.168.1.100 for vulnerabilities
Claude: [nmap_quick_scan("192.168.1.100")] β ports 22, 80, 443 open
[nmap_service_detection("192.168.1.100")] β nginx 1.18.0, OpenSSH 8.2
[nmap_vulnerability_scan("192.168.1.100")] β no critical CVEs found
π§ MCP Resources & Prompts
Resources
| URI | Description | |-----|-------------| | netmcp://interfaces | Dynamic list of available network interfaces | | netmcp://captures | Available PCAP files in common directories | | netmcp://system/info | System capabilities: tool versions, features |
Prompts (Guided Workflows)
| Prompt | Description | |--------|-------------| | security_audit | Comprehensive PCAP security analysis with IOC extraction | | network_troubleshooting | Step-by-step network diagnostics | | incident_response | Security incident investigation workflow | | traffic_analysis | Deep traffic analysis with GeoIP mapping | | network_baseline | Establish normal traffic patterns |
π§ͺ Development
# Clone and setup
git clone https://github.com/cortexc0de/netmcp.git
cd netmcp
python -m venv .venv
source .venv/bin/activate
# Install with dev dependencies
pip install -e ".[dev]"
# Run tests
pytest tests/ -v
# Run with coverage
pytest tests/ --cov=netmcp --cov-report=html
# Linting
ruff check src/netmcp/ tests/
ruff format --check src/netmcp/
mypy src/netmcp/
Project Structure
src/netmcp/
βββ server.py # FastMCP server entry point
βββ core/
β βββ security.py # 5-layer input validation + rate limiting
β βββ formatter.py # MCP response formatting
βββ interfaces/
β βββ tshark.py # TShark async CLI wrapper
β βββ nmap.py # python-nmap wrapper
β βββ threat_intel.py # URLhaus + AbuseIPDB clients
βββ tools/ # 48 MCP tools across 11 modules
βββ resources/ # 3 MCP resources
βββ prompts/ # 5 MCP prompts
π€ Contributing
Contributions are welcome! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
- Fork the repository
- Create a feature branch (
git checkout -b feat/amazing-feature) - Run tests (
pytest tests/ -v) - Submit a Pull Request
π License
MIT License β see [LICENSE](LICENSE) for details.
π Acknowledgments
- Wireshark/TShark β packet analysis toolkit
- Nmap β network scanner
- URLhaus & AbuseIPDB β threat intelligence
- Model Context Protocol β AI tool framework
Transform your network analysis with AI-powered packet capture, scanning, and threat intelligence.
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source β we do not rehost the code.
- Author: cortexc0de
- Source: cortexc0de/netmcp
- License: MIT
- Homepage: https://github.com/cortexc0de/netmcp#-quick-start
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet β be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.