article
README
🚀 pfSense MCP 服务器
pfSense MCP 服务器是一款生产级的模型上下文协议(MCP)服务器,它能让你通过 Claude Desktop 等生成式人工智能(GenAI)应用与 pfSense 防火墙进行自然语言交互。
✨ 主要特性
- 自然语言接口:使用简单的英语来控制 pfSense。
- 5 种访问级别:从只读监控到应急响应,满足不同场景需求。
- 多种连接方式:支持 REST API、XML - RPC 和 SSH 连接。
- 6 大功能类别:全面覆盖安全操作。
- GenAI 集成:可与 Claude Desktop、Continue 等 MCP 客户端协同工作。
- 生产就绪:具备审计日志、速率限制和缓存功能。
🚀 快速开始
1. 安装与配置
# 克隆仓库
git clone https://github.com/gensecaihq/pfsense-mcp-server.git
cd pfsense-mcp-server
# 复制环境模板
cp .env.example .env
# 编辑配置
nano .env # 添加你的 pfSense 详细信息
2. 使用 Docker 运行
# 构建并启动
docker-compose up -d
# 检查健康状态
curl http://localhost:8000/health
3. 配置 Claude Desktop
在你的 Claude Desktop 配置文件(macOS 系统路径为 ~/Library/Application Support/Claude/claude_desktop_config.json)中添加以下内容:
{
"mcpServers": {
"pfsense": {
"command": "docker",
"args": ["run", "-i", "--rm", "--env-file", "/path/to/.env", "pfsense-mcp:latest"],
"env": {
"MCP_MODE": "stdio"
}
}
}
}
或者在本地运行:
{
"mcpServers": {
"pfsense": {
"command": "python",
"args": ["/path/to/pfsense-mcp-server/main.py"],
"env": {
"PFSENSE_URL": "https://your-pfsense.local",
"PFSENSE_API_KEY": "your-api-key"
}
}
}
}
🔐 访问级别
| 级别 | 描述 | 示例用户 |
| ---- | ---- | ---- |
| READ_ONLY | 监控和查看 | 安全分析师 |
| SECURITY_WRITE | 修改安全规则 | 安全工程师 |
| ADMIN_WRITE | 完全系统访问 | 管理员 |
| COMPLIANCE_READ | 审计和合规检查 | 合规专员 |
| EMERGENCY_WRITE | 应急响应 | 事件响应人员 |
💻 使用示例
基础用法
以下是一些使用自然语言与 pfSense 交互的示例提示:
"Show me the system status"(显示系统状态)
"What IPs are currently blocked?"(当前哪些 IP 被阻止了?)
"Block IP 192.168.1.100"(阻止 IP 192.168.1.100)
"Run a PCI compliance check"(运行 PCI 合规性检查)
"Analyze threats from the last hour"(分析过去一小时的威胁)
"EMERGENCY: Block all traffic from Russia"(紧急情况:阻止来自俄罗斯的所有流量)
📚 详细文档
🧪 测试
# 测试连接
python scripts/test_connection.py
# 运行测试
pytest tests/
# 生成令牌
python scripts/generate_token.py alice READ_ONLY
📄 许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE。
微信扫一扫