Provides real-time network traffic analysis and packet capture capabilities through Wireshark's tshark utility, enabling live traffic monitoring, PCAP file analysis, protocol statistics, conversation tracking, and threat intelligence checking against captured network data.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@WireMCP Securecapture packets on eth0 for 30 seconds and check for threats"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
WireMCP Secure π
Production-Ready, Security-Hardened MCP Server for Network Traffic Analysis
WireMCP Secure is an enterprise-grade Model Context Protocol (MCP) server that provides Large Language Models with real-time network traffic analysis capabilities through Wireshark's tshark utility. This version addresses all critical security vulnerabilities found in the original WireMCP and adds comprehensive security controls.
π― What's New in v2.0.0
β Security Improvements
No Command Injection: Complete rewrite using
spawn()instead ofexec()with proper argument handlingPath Traversal Protection: Strict whitelisting and validation of file paths
Input Validation: Comprehensive validation using Zod schemas for all inputs
Rate Limiting: Configurable per-client rate limiting to prevent abuse
Resource Management: Concurrent capture limits and size restrictions
Audit Logging: Complete audit trail of all operations
Data Sanitization: Automatic removal of sensitive data from outputs
Secure Temp Files: Cryptographically random filenames in secure directories
Threat Intelligence: Cached, validated threat data fetching
Privilege Awareness: Clear documentation on privilege requirements
π New Features
Status Monitoring:
get_statustool for real-time server monitoringEnhanced Configuration: Environment-based configuration with validation
Better Error Handling: Sanitized error messages that don't leak system info
LLM Prompts: Pre-built prompts for common analysis workflows
Graceful Shutdown: Proper cleanup and audit log flushing
Auto-Cleanup: Automatic cleanup of old temporary files
π Features
Available Tools
capture_packets- Capture live traffic and analyze packet dataget_summary_stats- Get protocol hierarchy statisticsget_conversations- Analyze TCP/UDP conversationscheck_threats- Check captured IPs against URLhaus threat intelligencecheck_ip_threats- Check a specific IP address for threatsanalyze_pcap- Analyze existing PCAP filesextract_credentials- Extract credentials from PCAP (restricted, disabled by default)get_status- Get server status and rate limit information
Security Features
β No shell command injection vulnerabilities
β Path traversal protection with directory whitelisting
β Comprehensive input validation
β Rate limiting (5 requests/minute by default)
β Concurrent capture limits (3 by default)
β Output size limits (1MB by default)
β Capture duration limits (60s max by default)
β Audit logging of all operations
β Automatic sensitive data sanitization
β Secure temporary file handling
β TLS certificate validation for external APIs
β Timeout protection
β Memory exhaustion protection
π§ Installation
Prerequisites
Wireshark/tshark - Must be installed and accessible
# macOS brew install wireshark # Ubuntu/Debian sudo apt-get install tshark # Windows # Download from https://www.wireshark.org/download.htmlNode.js - Version 16 or higher
node --version # Should be >= 16.0.0Elevated Privileges - Required for packet capture
# Option 1: Run as root (not recommended) sudo node index.js # Option 2: Grant capabilities (Linux only, recommended) sudo setcap cap_net_raw,cap_net_admin=eip $(which node) sudo setcap cap_net_raw,cap_net_admin=eip $(which tshark)
Setup
Clone or download the repository
cd /path/to/WireMCP-SecureInstall dependencies
npm installConfigure environment (optional)
cp env.example.txt .env # Edit .env with your settingsCreate required directories
mkdir -p ~/wiremcp/pcaps mkdir -p /tmp/wiremcp chmod 700 /tmp/wiremcpTest installation
node index.js # Should start without errors
βοΈ Configuration
Configuration is done via environment variables. Create a .env file (copy from env.example.txt):
Security Settings
# Maximum capture duration (seconds)
MAX_CAPTURE_DURATION=60
# Maximum file size for captures (bytes)
MAX_CAPTURE_SIZE=104857600 # 100MB
# Maximum output size (bytes)
MAX_OUTPUT_SIZE=1048576 # 1MBRate Limiting
# Enable rate limiting
RATE_LIMIT_ENABLED=true
# Max requests per window
RATE_LIMIT_MAX=5
# Time window in milliseconds
RATE_LIMIT_WINDOW_MS=60000 # 1 minute
# Max concurrent captures
MAX_CONCURRENT_CAPTURES=3Network Settings
# Allowed network interfaces (comma-separated, empty = all)
ALLOWED_INTERFACES=en0,eth0
# Default interface
DEFAULT_INTERFACE=en0File Access
# Allowed directories for PCAP files (comma-separated)
ALLOWED_PCAP_DIRS=/tmp/wiremcp,/home/user/wiremcp/pcaps
# Temporary directory
TEMP_DIR=/tmp/wiremcpAudit Logging
# Enable audit logging
AUDIT_ENABLED=true
# Audit log file path
AUDIT_LOG_FILE=/tmp/wiremcp-audit.logRestricted Features
# Enable credential extraction (USE WITH CAUTION)
ENABLE_CREDENTIAL_EXTRACTION=false
# Enable data sanitization
SANITIZE_DATA=trueπ Usage
With Claude Desktop (MCP Client)
Add to your MCP configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"wiremcp-secure": {
"command": "node",
"args": [
"/absolute/path/to/WireMCP-Secure/index.js"
],
"env": {
"NODE_ENV": "production",
"RATE_LIMIT_ENABLED": "true",
"AUDIT_ENABLED": "true"
}
}
}
}With Cursor
Edit mcp.json in Cursor -> Settings -> MCP:
{
"mcpServers": {
"wiremcp-secure": {
"command": "node",
"args": [
"/absolute/path/to/WireMCP-Secure/index.js"
]
}
}
}Standalone Testing
# Start the server
node index.js
# The server communicates via stdio, so you'll need an MCP client
# For testing, use the MCP Inspector or a compatible clientπ Tool Examples
Capture and Analyze Traffic
// Using capture_packets tool
{
"interface": "en0",
"duration": 10
}Check IP for Threats
// Using check_ip_threats tool
{
"ip": "192.168.1.100"
}Analyze PCAP File
// Using analyze_pcap tool
{
"pcapPath": "/tmp/wiremcp/capture.pcap",
"includeUrls": true,
"includeProtocols": true
}Check Server Status
// Using get_status tool
{} // No parameters neededπ Security Best Practices
Deployment
Run with Minimum Privileges
# Linux: Use capabilities instead of root sudo setcap cap_net_raw,cap_net_admin=eip $(which node)Restrict File Access
Set
ALLOWED_PCAP_DIRSto specific directories onlyUse secure permissions on temp directories (700)
Enable Audit Logging
Always enable in production:
AUDIT_ENABLED=trueMonitor audit logs regularly
Rotate logs periodically
Configure Rate Limits
Adjust based on your use case
Lower limits for public-facing deployments
Monitor rate limit violations
Disable Dangerous Features
Keep
ENABLE_CREDENTIAL_EXTRACTION=falseunless specifically neededDocument and log any changes to security settings
Network Isolation
For production deployments, consider:
βββββββββββββββββββ
β MCP Client β
β (Trusted LLM) β
ββββββββββ¬βββββββββ
β stdio
ββββββββββΌβββββββββ
β WireMCP Secure β
β (Unprivileged) β
ββββββββββ¬βββββββββ
β IPC/Socket
ββββββββββΌβββββββββ
β Capture Service β
β (Privileged) β
β Isolated VLAN β
βββββββββββββββββββCompliance
GDPR: Configure
SANITIZE_DATA=trueto remove personal dataPCI-DSS: Use audit logging and restrict credential extraction
HIPAA: Ensure PHI is not captured or is properly sanitized
SOC 2: Enable all audit features and implement access controls
π Monitoring
Audit Log Format
Audit logs are written as JSON lines to the configured log file:
{
"timestamp": "2025-12-13T10:30:45.123Z",
"action": "TOOL_EXECUTION",
"resource": "capture_packets",
"userId": "client-abc123",
"severity": "info",
"details": {
"arguments": {"interface": "en0", "duration": 5},
"durationMs": 5234,
"success": true
},
"pid": 12345
}Important Events
TOOL_EXECUTION- Successful tool executionTOOL_ERROR- Tool execution errorSECURITY_EVENT- Security-related event (threats detected, etc.)RATE_LIMIT_VIOLATION- Rate limit exceededCREDENTIAL_EXTRACTION- Credential extraction performed (high severity)SYSTEM- System events (startup, shutdown)
Monitoring Commands
# Watch audit log in real-time
tail -f /tmp/wiremcp-audit.log | jq .
# Count operations by type
cat /tmp/wiremcp-audit.log | jq -r .action | sort | uniq -c
# Find all security events
cat /tmp/wiremcp-audit.log | jq 'select(.action=="SECURITY_EVENT")'
# Find rate limit violations
cat /tmp/wiremcp-audit.log | jq 'select(.action=="RATE_LIMIT_VIOLATION")'π Troubleshooting
tshark not found
# Check if tshark is installed
which tshark
# If not installed, install Wireshark
# macOS
brew install wireshark
# Linux
sudo apt-get install tsharkPermission Denied
# Check permissions
ls -l $(which tshark)
# Grant capabilities (Linux)
sudo setcap cap_net_raw,cap_net_admin=eip $(which tshark)
# Or run as root (not recommended for production)
sudo node index.jsRate Limit Errors
# Check current status
# Use the get_status tool to see rate limit status
# Adjust limits in .env
RATE_LIMIT_MAX=10 # Increase limitPath Access Denied
# Ensure PCAP file is in allowed directory
# Check ALLOWED_PCAP_DIRS setting
# Create allowed directory
mkdir -p ~/wiremcp/pcapsMemory Issues
# Reduce output size limit
MAX_OUTPUT_SIZE=524288 # 512KB
# Reduce capture duration
MAX_CAPTURE_DURATION=30 # 30 secondsπ§ͺ Testing
Run Security Checks
# Check for vulnerable dependencies
npm audit
# Check for outdated packages
npm outdated
# Run linter with security rules
npx eslint . --ext .jsManual Testing
# Test with short capture
# In your MCP client:
# capture_packets(interface="en0", duration=5)
# Test rate limiting
# Make 6 requests quickly - 6th should fail
# Test path validation
# Try to analyze a file outside allowed directories - should fail
# Test input validation
# Try invalid interface name "en0; rm -rf /" - should failπ API Reference
Tool: capture_packets
Captures live network traffic and returns packet data.
Parameters:
interface(string, optional): Network interface (default: en0)duration(number, optional): Capture duration in seconds (1-60, default: 5)
Returns: Packet data as JSON
Example:
{
"interface": "en0",
"duration": 10
}Tool: check_threats
Captures traffic and checks IPs against threat intelligence.
Parameters:
interface(string, optional): Network interfaceduration(number, optional): Capture duration
Returns: List of IPs and threat check results
Tool: analyze_pcap
Analyzes an existing PCAP file.
Parameters:
pcapPath(string, required): Path to PCAP fileincludeUrls(boolean, optional): Extract URLs (default: true)includeProtocols(boolean, optional): List protocols (default: true)
Returns: Analysis results with IPs, URLs, protocols, and packet data
Tool: get_status
Gets server status and configuration.
Parameters: None
Returns: Server status, rate limits, and security settings
π€ Contributing
Contributions are welcome! Please follow these guidelines:
Security First: Never introduce security vulnerabilities
Test Thoroughly: Include tests for new features
Document: Update README and inline documentation
Follow Style: Use ESLint configuration provided
Audit Impact: Consider audit logging for new features
Reporting Security Issues
DO NOT open public issues for security vulnerabilities.
Email security concerns to: [anishphilip012@live.in]
π License
MIT License - See LICENSE file for details
π Acknowledgments
Original WireMCP by 0xKoda
Wireshark/tshark team for excellent packet analysis tools
Model Context Protocol community
URLhaus for threat intelligence data
π Support
Issues: https://github.com/yourusername/wiremcp-secure/issues
Discussions: https://github.com/yourusername/wiremcp-secure/discussions
Documentation: https://github.com/yourusername/wiremcp-secure/wiki
πΊοΈ Roadmap
v2.1.0 (Planned)
Authentication and user management
Multiple threat intelligence sources
Web dashboard for monitoring
Docker containerization
Kubernetes deployment examples
v2.2.0 (Planned)
Distributed capture support
Real-time streaming analysis
Machine learning anomaly detection
Custom protocol analyzers
GraphQL API
βοΈ Security Assessment
Security Rating: 9/10 β
This version has been thoroughly reviewed and addresses:
β All OWASP Top 10 vulnerabilities
β CWE Top 25 software weaknesses
β Input validation and sanitization
β Authentication and authorization (configurability)
β Secure communications
β Error handling and logging
β Data protection
β Rate limiting and DoS protection
Remaining Considerations:
User authentication (if multi-user)
Network-level access controls
Hardware security module integration (if needed)
Built with security in mind. Deploy with confidence. π
Inspired By/Shout out to:
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.