gensecaihq/Sonicwall-MCP-Server
If you are the rightful owner of Sonicwall-MCP-Server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The SonicWall MCP Server provides intelligent analysis of SonicWall firewall logs through natural language queries, fully compliant with the MCP 2025-06-18 specification.
SonicWall MCP Server
Professional SonicWall log analysis and threat detection via Model Context Protocol
๐งช Community Testing Needed
โ ๏ธ IMPORTANT: This project needs community testing and validation!
๐ฅ We need your help to test this with real SonicWall devices and environments.
- ๐ Test it with your SonicWall setup
- ๐ Report issues via GitHub Issues
- ๐ง Fix bugs and submit PRs
- ๐ Improve documentation based on real-world usage
- ๐ก Contribute features and enhancements
Your testing and contributions will help make this production-ready for everyone!
A production-ready MCP server that provides intelligent analysis of SonicWall firewall logs through natural language queries. Fully compliant with MCP 2025-06-18 specification with comprehensive support for both SonicOS 7.x and 8.x including accurate API endpoints and version-specific features.
โจ Features
- ๐ Natural Language Log Analysis - Query firewall logs using conversational AI
- ๐ก๏ธ Real-time Threat Detection - Advanced threat correlation and behavioral analysis
- ๐ Complete SonicOS Support - Accurate API endpoints for both 7.x and 8.x versions
- ๐ฏ Version-Aware Integration - Automatic endpoint resolution and feature detection
- ๐ Enterprise Ready - Production deployment with comprehensive security
- ๐ Advanced Analytics - Network intelligence and security metrics
- ๐ MCP 2025-06-18 Compliant - Latest protocol compliance with enhanced JSON-RPC 2.0
- โก High Performance - In-memory caching with intelligent TTL management
- ๐ Security First - Authentication, authorization, and comprehensive audit logging
๐ Quick Start
Prerequisites
- SonicWall Device running SonicOS 7.x or 8.x
- API Access enabled on your SonicWall (MANAGE > System Setup > Appliance > SonicOS API)
- Docker & Docker Compose (recommended) or Node.js 20+
1. Get the Server
git clone https://github.com/gensecaihq/sonicwall-mcp-server.git
cd sonicwall-mcp-server
2. Configure Environment
# Copy example configuration
cp .env.example .env
# Edit with your SonicWall details
nano .env
Required configuration:
SONICWALL_HOST=192.168.1.1
SONICWALL_USERNAME=admin
SONICWALL_PASSWORD=your_password
SONICWALL_VERSION=7 # or 8 for SonicOS 8.x
3. Start the Server
Using Docker (Recommended):
docker compose up -d
# or using npm script
npm run docker:up
Using Node.js:
npm install
npm run build
npm start
4. Verify Installation
# Check server health
curl http://localhost:3000/health
# Expected response:
# {"status":"healthy","protocol":"MCP/2025-06-18","version":"1.0.0"}
๐ Connect to Claude
Add to your Claude Desktop configuration (claude_desktop_config.json
):
{
"mcpServers": {
"sonicwall": {
"transport": "sse",
"url": "http://localhost:3000/mcp/v1/sse"
}
}
}
That's it! Start using SonicWall analysis in Claude:
"Show me blocked connections from the last hour"
"Find critical security threats from today"
"Analyze VPN authentication failures"
๐ฏ Latest Improvements
โก Enhanced SonicOS Support (v1.0.0)
- Accurate API Endpoints: Complete endpoint mapping for both SonicOS 7.x (
/api/sonicos
) and 8.x (/api/sonicos/v8
) - Version-Aware Features: Automatic detection and utilization of version-specific capabilities
- Advanced Authentication: Enhanced session management with proper token refresh and error handling
- Cloud Integration: Full support for SonicOS 8.x cloud management and NSM integration
๐ก๏ธ Security & Compliance Enhancements
- MCP 2024-11-05 Compliance: Full protocol implementation with JSON-RPC 2.0 support
- Enhanced Error Handling: SonicWall-specific error codes with intelligent retry logic
- Advanced Validation: Comprehensive JSON Schema validation using AJV
- Security Hardening: Improved authentication flow with comprehensive audit logging
๐ Performance & Reliability
- Intelligent Caching: Enhanced TTL management with automatic cleanup
- Endpoint Optimization: Version-specific timeout and rate limiting configurations
- Connection Management: Improved retry logic and failover handling
- Comprehensive Logging: Structured logging with performance metrics and debugging support
๐ ๏ธ Available Tools
analyze_logs
Natural language log analysis with intelligent insights
// Example usage in Claude
"Show me suspicious network activity from external IPs in the last 2 hours"
"Find brute force attacks on SSH and RDP ports"
"Analyze malware detections and their source locations"
get_threats
Real-time threat monitoring and analysis
// Get critical threats
{
"severity": "critical",
"limit": 20
}
search_connections
Advanced connection search and investigation
// Investigate specific IP
{
"sourceIp": "192.168.1.100",
"hoursBack": 24,
"limit": 500
}
get_stats
Network statistics and security metrics
// Get top blocked IPs
{
"metric": "top_blocked_ips",
"limit": 10
}
export_logs
Export filtered logs for compliance and analysis
// Export security events as CSV
{
"format": "csv",
"filters": {
"severity": ["critical", "high"],
"startTime": "2024-01-01T00:00:00Z"
}
}
๐ Documentation
- - Detailed examples and use cases
- - All settings explained
- - Complete tool specifications
- - Common issues and solutions
- - Security best practices
- - Protocol compliance details
๐๏ธ Architecture
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
โ Claude Code โโโโโบโ MCP Server โโโโโบโ SonicWall โ
โ โSSE โ (Port 3000) โAPI โ Device โ
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโ
โ Log Analysis โ
โ & Intelligence โ
โโโโโโโโโโโโโโโโโโโ
Key Components:
- MCP Protocol Layer: Full MCP 2024-11-05 compliance with SSE transport
- Enhanced API Client: Accurate SonicOS 7.x/8.x endpoints with session management
- Intelligent Log Parser: Multi-format parsing with version-specific optimizations
- Analysis Engine: AI-powered natural language processing and threat correlation
- Performance Cache: High-performance in-memory caching with TTL management
- Security Framework: Comprehensive authentication and input validation
๐ง Configuration
Basic Configuration
# SonicWall Connection
SONICWALL_HOST=your.firewall.ip
SONICWALL_USERNAME=admin
SONICWALL_PASSWORD=secure_password
SONICWALL_VERSION=7
# Server Settings
PORT=3000
LOG_LEVEL=info
CACHE_TTL_SECONDS=300
Advanced Configuration
# Authentication (Optional)
MCP_BEARER_TOKEN=your_secret_token
# Performance Tuning
CACHE_MAX_SIZE=1000
API_TIMEOUT=30000
MAX_RETRIES=3
# Security
CORS_ORIGINS=https://claude.ai,https://localhost:3000
RATE_LIMIT_MAX=100
๐ณ Docker Deployment
Prerequisites
- Docker Engine 24.0+ (latest stable)
- Docker Compose V2 (integrated plugin, comes with Docker Desktop)
- Note: Legacy
docker-compose
command is deprecated, usedocker compose
Quick Start Commands
# Production deployment (detached mode)
docker compose up -d
# Development mode (with hot reload)
docker compose -f docker-compose.yml -f docker-compose.dev.yml up
# View logs
docker compose logs -f sonicwall-mcp
# Stop all services
docker compose down
# Rebuild and restart
docker compose up --build -d
NPM Script Shortcuts
# Production deployment
npm run docker:up
# Development with hot reload
npm run docker:dev
# View logs
npm run docker:logs
# Stop services
npm run docker:down
# Build image only
npm run docker:build
Environment Configuration
# Use environment file
cp .env.example .env
# Edit .env with your SonicWall details
docker compose up -d
# Or pass environment variables directly
SONICWALL_HOST=192.168.1.1 \
SONICWALL_USERNAME=admin \
SONICWALL_PASSWORD=your_password \
docker compose up -d
Docker Compose Files
docker-compose.yml
- Production configurationdocker-compose.dev.yml
- Development overridesdocker-compose.override.yml
- Local customizations (optional)
๐งช Testing & Validation
Quick Health Check
# Server status
curl http://localhost:3000/health
# MCP endpoint test
curl -H "Accept: text/event-stream" http://localhost:3000/mcp/v1/sse
SonicWall Connectivity Test
# Test authentication
curl -k https://YOUR_SONICWALL/api/sonicos/auth \
-H "Content-Type: application/json" \
-d '{"user":"admin","password":"your_password"}'
Run Test Suite
# All tests
npm test
# MCP compliance tests
npm run test:mcp
# SonicWall integration tests
npm run test:integration
๐ Security
Security Features
- โ Transport Security - HTTPS enforcement with comprehensive CORS validation
- โ Authentication - Bearer token support with intelligent rate limiting
- โ Input Validation - JSON Schema validation using AJV with comprehensive sanitization
- โ Container Security - Non-root user execution with read-only filesystem
- โ Data Privacy - Zero sensitive data logging with audit-compliant processing
- โ MCP Compliance - Full protocol security implementation
- โ API Security - SonicWall credential protection with secure session management
Security Checklist
- Enable API access only from trusted networks
- Use strong passwords for SonicWall admin accounts
- Configure MCP_BEARER_TOKEN for additional security
- Monitor logs for unusual activity
- Keep SonicWall firmware updated
- Review firewall rules regularly
๐จ Common Issues
โ "Authentication Failed"
Problem: Cannot connect to SonicWall API
# Check API is enabled
# SonicWall: MANAGE > System Setup > Appliance > SonicOS API โ
# Test connectivity
ping YOUR_SONICWALL_HOST
curl -k https://YOUR_SONICWALL_HOST/api/sonicos/auth
โ "No logs returned"
Problem: Empty responses from log queries
# Check log levels in SonicWall
# Log > Settings > Categories > Enable required log types
# Verify time synchronization
date
โ "CORS Error in Browser"
Problem: Browser blocks MCP requests
# Add your domain to CORS_ORIGINS
CORS_ORIGINS=https://claude.ai,https://your-domain.com
๐ Monitoring & Observability
Health Monitoring
# Detailed health status
curl http://localhost:3000/health | jq
# Response includes:
# - Server uptime and status
# - SonicWall connectivity
# - Cache statistics
# - Memory usage
Performance Metrics
# View performance logs
docker compose logs sonicwall-mcp | grep "executed successfully"
# Example output:
# {"timestamp":"2024-01-01T12:00:00.000Z","level":"info","message":"Tool analyze_logs executed successfully","executionTime":245,"resultSize":15420}
Log Analysis
# Error monitoring
docker compose logs sonicwall-mcp | grep ERROR
# Performance tracking
docker compose logs sonicwall-mcp | grep "execution time"
๐ค Contributing
We welcome contributions! Please read our .
Development Setup
# Fork and clone
git clone https://github.com/your-username/sonicwall-mcp-server.git
cd sonicwall-mcp-server
# Install dependencies
npm install
# Start development server
npm run dev
# Run tests
npm test
# Submit PR
git checkout -b feature/amazing-feature
git commit -m "Add amazing feature"
git push origin feature/amazing-feature
๐ License
MIT License - see file for details.
๐ Support & Community
- ๐ Issues: GitHub Issues
- ๐ฌ Discussions: GitHub Discussions
- ๐ Documentation: Project Wiki
- ๐ง Security: security@yourorganization.com
๐ Acknowledgments
- Model Context Protocol for the excellent specification
- SonicWall for comprehensive API documentation
- Claude Code community for feedback and testing
- All contributors and users who make this project better
๐ Built with security-first principles for enterprise cybersecurity teams
โข โข