Supports remote access to the MCP server via Cloudflare Tunnel, enabling secure connections to the Firewalla management interface
Provides network management tools for Firewalla devices including device monitoring, network traffic analysis, security alert management, and firewall rule administration
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., "@Firewalla MCP Servershow me all active security alerts from the last 24 hours"
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.
Firewalla MCP Server
A production-ready Model Context Protocol (MCP) server for Firewalla network management, designed to work seamlessly with Claude Desktop and other MCP-compatible clients.
โจ Features
๐ Enterprise Security - Firewalla API keys never exposed to clients
๐ Multi-Transport Support - stdio, SSE, and HTTP transports
๐ Comprehensive Monitoring - Device, network, and security analytics
๐ก๏ธ Built-in Protection - Rate limiting, input validation, audit logging
๐ณ Docker-Ready - Production-grade containerized deployment
๐ Resilient Architecture - Circuit breakers, retry logic, intelligent caching
๐ฏ 14 Powerful Tools - Complete Firewalla management capabilities
Related MCP server: MCP Web Research Server
๐ ๏ธ Available Tools
๐ฑ Device Monitoring (3 tools)
get_devices- List all network devices with status and basic infoget_device_details- Detailed device information including bandwidth usagesearch_devices- Search devices by name, IP, MAC, or vendor
๐ Network Analysis (3 tools)
analyze_network_flows- Analyze traffic flows with filtering and statisticsget_bandwidth_statistics- Bandwidth usage stats for devices or entire networkget_network_statistics- Comprehensive network health and top talkers
๐ Security Monitoring (4 tools)
get_alarms- Retrieve security alerts with severity and category filteringget_alarm_details- Detailed information about specific security eventsarchive_alarm- Mark security alerts as reviewedget_alarm_statistics- Statistical analysis of security events
โ๏ธ Rule Management (4 tools)
list_firewall_rules- List all firewall rules with status and conditionsget_rule_details- Detailed rule information including hit statisticspause_rule- Temporarily disable rules with duration and reasonresume_rule- Re-enable paused firewall rules
๐ Quick Start
Automated Setup (Recommended)
git clone https://github.com/MadLlama25/firewalla_msp-mcp.git
cd firewalla_msp-mcp
./scripts/setup.shThe setup script will:
โ Check prerequisites
โ Create and configure environment files
โ Build Docker image
โ Generate Claude Desktop configuration
โ Start the server
Manual Setup
Prerequisites
Docker and Docker Compose
Firewalla MSP account with API token
Claude Desktop (or other MCP client)
(Optional) Cloudflare Tunnel for remote access
Installation Steps
Clone and Setup
git clone https://github.com/MadLlama25/firewalla_msp-mcp.git
cd firewalla_msp-mcp
cp .env.example .envConfigure Environment Edit
.envwith your Firewalla credentials:
FIREWALLA_API_TOKEN=your_api_token_here
FIREWALLA_MSP_DOMAIN=https://your-domain.firewalla.netDeploy with Docker Compose
docker-compose up -dVerify Deployment
curl http://localhost:3000/health
docker logs firewalla-mcp๐ง Claude Desktop Configuration
Local Docker (Recommended)
{
"mcpServers": {
"firewalla": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"--env-file", "/full/path/to/.env",
"--network", "host",
"firewalla-mcp"
],
"env": {
"MCP_TRANSPORT": "stdio"
}
}
}
}Remote Access via Cloudflare Tunnel
{
"mcpServers": {
"firewalla": {
"url": "https://your-tunnel-domain.example.com/mcp",
"transport": "sse"
}
}
}Local HTTP (Alternative)
{
"mcpServers": {
"firewalla": {
"url": "http://localhost:3000/mcp",
"transport": "sse"
}
}
}๐๏ธ Architecture
Security Architecture
API Key Isolation - Firewalla credentials stored securely in Docker
Request Validation - Comprehensive input sanitization and validation
Rate Limiting - Per-client request throttling
Audit Logging - Complete request/response audit trail
Circuit Breakers - Automatic failover when Firewalla API is unavailable
Performance Features
Intelligent Caching - Multi-tier caching with TTL
Connection Pooling - Optimized HTTP client with retry logic
Resource Management - Memory-efficient data processing
Health Monitoring - Built-in health checks and metrics
๐ Configuration Reference
Environment Variables
Variable | Required | Default | Description |
| โ | - | Your Firewalla MSP API token |
| โ | - | Your MSP domain URL |
| โ | 3000 | Server port |
| โ | sse | Transport method (stdio/sse/http) |
| โ | info | Logging level (debug/info/warn/error) |
| โ | true | Enable response caching |
| โ | 100 | Max requests per window |
Docker Deployment Options
Production (docker-compose)
docker-compose up -dDevelopment (with hot reload)
docker-compose -f docker-compose.yml up firewalla-mcp-devStandalone Docker
docker run -d --name firewalla-mcp \
--env-file .env \
-p 3000:3000 \
firewalla-mcp๐ Monitoring & Troubleshooting
Health Checks
# Server health
curl http://localhost:3000/health
# Container logs
docker logs firewalla-mcp
# Container status
docker ps | grep firewalla-mcpCommon Issues
Authentication Errors
Verify
FIREWALLA_API_TOKENis correctCheck
FIREWALLA_MSP_DOMAINformatEnsure API token has proper permissions
Connection Issues
Check Docker container is running
Verify port 3000 is accessible
Check Cloudflare Tunnel configuration (if using)
Performance Issues
Monitor cache hit rates in logs
Check circuit breaker status
Verify adequate system resources
๐ Security Considerations
API Key Management
Store Firewalla API tokens in environment variables only
Never commit API keys to version control
Rotate API keys regularly (recommended: 90 days)
Use separate tokens for different environments
Network Security
Deploy behind Cloudflare Tunnel for production
Use HTTPS/TLS for all communications
Implement IP allowlisting if required
Monitor audit logs regularly
Access Control
Enable API key authentication for non-Claude Desktop clients
Use role-based permissions where applicable
Monitor unusual usage patterns
Implement automatic lockouts for suspicious activity
๐ค Multi-Client Support
Works with various MCP clients:
Claude Desktop - Primary target with optimized integration
Continue IDE - VS Code extension support
Custom MCP Clients - HTTP/SSE API available
๐งช Testing
Test Categories
Unit Tests - Core utilities, middleware, and individual components
Integration Tests - API client, caching, and service integration
MCP Tool Tests - All 14 Firewalla management tools
Security Tests - Input validation, sanitization, and vulnerability checks
Performance Tests - Load testing and performance benchmarks
Running Tests
# Run all tests
npm test
# Run tests with coverage
npm run test:coverage
# Run specific test categories
npm run test:unit
npm run test:integration
npm run test:security
npm run test:performance
# Run tests in watch mode
npm run test:watchTest Coverage Targets
Unit Tests: 90% line coverage
Integration Tests: 80% path coverage
Critical Paths: 100% coverage (authentication, validation, security)
Quality Gates
All commits must pass:
โ Linting (ESLint)
โ Type checking (TypeScript)
โ Unit tests (90%+ coverage)
โ Security audit (npm audit)
โ Code formatting (Prettier)
# Run pre-commit checks
npm run pre-commit
# or use the script
./scripts/pre-commit.sh๐ Development
Local Development
npm install
npm run devBuilding
npm run build
npm run lint
npm run type-checkTesting Strategy
See TESTING_PLAN.md for comprehensive testing documentation.
Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests (maintain coverage targets)
Run pre-commit checks
Submit a pull request
Code Quality Standards
TypeScript strict mode enabled
ESLint with strict configuration
Prettier for consistent formatting
Jest for testing with high coverage
Security-first development practices
๐ Performance Metrics
Response Time - Sub-100ms for cached requests
Throughput - 1000+ requests per minute
Uptime - 99.9% with automatic recovery
Cache Hit Rate - 70-90% for typical workloads
๐ License
MIT License - see LICENSE file for details
๐ Support
Issues - GitHub Issues
Documentation - Built-in API documentation
Logs - Comprehensive audit trail and error logging
Built with โค๏ธ for the Firewalla community
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.