WireMCP Network Analyzer
STDIOMCP server enabling LLMs with real-time network traffic analysis capabilities using Wireshark tools.
MCP server enabling LLMs with real-time network traffic analysis capabilities using Wireshark tools.
WireMCP is a Model Context Protocol (MCP) server designed to empower Large Language Models (LLMs) with real-time network traffic analysis capabilities. By leveraging tools built on top of Wireshark's tshark
, WireMCP captures and processes live network data, providing LLMs with structured context to assist in tasks like threat hunting, network diagnostics, and anomaly detection.
WireMCP exposes the following tools to MCP clients, enhancing LLM understanding of network activity:
capture_packets
: Captures live traffic and returns raw packet data as JSON, enabling LLMs to analyze packet-level details (e.g., IP addresses, ports, HTTP methods).get_summary_stats
: Provides protocol hierarchy statistics, giving LLMs an overview of traffic composition (e.g., TCP vs. UDP usage).get_conversations
: Delivers TCP/UDP conversation statistics, allowing LLMs to track communication flows between endpoints.check_threats
: Captures IPs and checks them against the URLhaus blacklist, equipping LLMs with threat intelligence context for identifying malicious activity.check_ip_threats
: Performs targeted threat intelligence lookups for specific IP addresses against multiple threat feeds, providing detailed reputation and threat data.analyze_pcap
: Analyzes PCAP files to provide comprehensive packet data in JSON format, enabling detailed post-capture analysis of network traffic.extract_credentials
: Scans PCAP files for potential credentials from various protocols (HTTP Basic Auth, FTP, Telnet), aiding in security audits and forensic analysis.WireMCP bridges the gap between raw network data and LLM comprehension by:
tshark
installed and accessible in PATH)Clone the repository:
git clone https://github.com/0xkoda/WireMCP.git cd WireMCP
Install dependencies:
npm install
Run the MCP server:
node index.js
Note: Ensure
tshark
is in your PATH. WireMCP will auto-detect it or fall back to common install locations (e.g.,/Applications/Wireshark.app/Contents/MacOS/tshark
on macOS).
WireMCP works with any MCP-compliant client. Below are examples for popular clients:
Edit mcp.json
in Cursor -> Settings -> MCP :
{ "mcpServers": { "wiremcp": { "command": "node", "args": [ "/ABSOLUTE_PATH_TO/WireMCP/index.js" ] } } }
Location (macOS): /Users/YOUR_USER/Library/Application Support/Claude/claude_desktop_config.json
This MCP will work well with any client. Use the command node /path/to/WireMCP/index.js
in their MCP server settings.
Running check_threats
might yield:
Captured IPs:
174.67.0.227
52.196.136.253
Threat check against URLhaus blacklist:
No threats detected in URLhaus blacklist.
Running analyze_pcap
on a capture file:
{ "content": [{ "type": "text", "text": "Analyzed PCAP: ./capture.pcap\n\nUnique IPs:\n192.168.0.2\n192.168.0.1\n\nProtocols:\neth:ethertype:ip:tcp\neth:ethertype:ip:tcp:telnet\n\nPacket Data:\n[{\"layers\":{\"frame.number\":[\"1\"],\"ip.src\":[\"192.168.0.2\"],\"ip.dst\":[\"192.168.0.1\"],\"tcp.srcport\":[\"1550\"],\"tcp.dstport\":[\"23\"]}}]" }] }
LLMs can use these outputs to:
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.