经 AI Skill Hub 精选评估,堡垒分析MCP工具 获评「强烈推荐」。这款MCP工具在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 8.0 分,适合有一定技术背景的用户使用。
堡垒分析MCP工具 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
堡垒分析MCP工具 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
# 方式一:通过 Claude Code CLI 一键安装
claude skill install https://github.com/rstierli/fortianalyzer-mcp
# 方式二:手动配置 claude_desktop_config.json
{
"mcpServers": {
"----mcp--": {
"command": "npx",
"args": ["-y", "fortianalyzer-mcp"]
}
}
}
# 配置文件位置
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Windows: %APPDATA%/Claude/claude_desktop_config.json
# 安装后在 Claude 对话中直接使用 # 示例: 用户: 请帮我用 堡垒分析MCP工具 执行以下任务... Claude: [自动调用 堡垒分析MCP工具 MCP 工具处理请求] # 查看可用工具列表 # 在 Claude 中输入:"列出所有可用的 MCP 工具"
// claude_desktop_config.json 配置示例
{
"mcpServers": {
"____mcp__": {
"command": "npx",
"args": ["-y", "fortianalyzer-mcp"],
"env": {
// "API_KEY": "your-api-key-here"
}
}
}
}
// 保存后重启 Claude Desktop 生效
A Model Context Protocol (MCP) server for FortiAnalyzer JSON-RPC API. This server enables AI assistants like Claude to interact with FortiAnalyzer for log analysis, reporting, security monitoring, and SOC operations.
Note: This is an independent open-source project and is not affiliated with, endorsed by, or supported by Fortinet, Inc. FortiAnalyzer is a trademark of Fortinet, Inc.
Disclaimer: This is an independent community project, not affiliated with or supported by Fortinet. Use at your own risk. Always validate changes in a non-production environment before applying to production systems.
This MCP server provides a comprehensive interface to FortiAnalyzer's capabilities, allowing AI assistants to:
| Category | Capabilities |
|---|---|
| **Log Analysis** | Query traffic, security, and event logs with filters; get log statistics |
| **PCAP Downloads** | Search IPS logs, download PCAP files by session ID or bulk download matching criteria |
| **Reports** | List layouts, run reports, monitor progress, download in PDF/HTML/CSV/XML |
| **FortiView Analytics** | Top sources, destinations, applications, threats, websites, cloud apps |
| **Alerts & Events** | Get alerts, acknowledge, add comments, view alert logs and statistics |
| **Incident Management** | Create, update, track incidents; get incident statistics |
| **IOC Analysis** | Run IOC rescans, check license status, view rescan history |
| **Device Management** | List/add/delete devices, manage device groups and VDOMs |
| **System** | System status, HA status, ADOM management, task monitoring |
uv sync ```
uv sync --all-extras
pytest tests/integration/ -v ```
Note: Integration tests are verified against FortiAnalyzer 7.6.2. Some features (like API rate limiting) require FAZ 7.6.5+.
pip install -e . ```
Pre-built images are available on GitHub Container Registry:
docker pull ghcr.io/rstierli/fortianalyzer-mcp:latest
Quick start with Docker Compose:
```yaml
services: fortianalyzer-mcp: image: ghcr.io/rstierli/fortianalyzer-mcp:latest container_name: fortianalyzer-mcp restart: unless-stopped ports: - "8001:8001" env_file: - .env environment: - MCP_SERVER_MODE=http - MCP_SERVER_HOST=0.0.0.0 - MCP_SERVER_PORT=8001 - FORTIANALYZER_HOST=your-faz-hostname - FORTIANALYZER_VERIFY_SSL=true - DEFAULT_ADOM=root - FAZ_TOOL_MODE=full - LOG_LEVEL=INFO
> **Security:** Keep `FORTIANALYZER_VERIFY_SSL=true`. For a self-signed FAZ,
> import the FAZ CA certificate into the container trust store rather than
> disabling verification (disabling it exposes the FAZ API token to MITM).
> In HTTP mode, binding to `0.0.0.0` with no `MCP_AUTH_TOKEN` leaves every tool
> unauthenticated — always set a strong token (below) and, where possible,
> publish the port only on an internal interface (e.g. `127.0.0.1:8001:8001`).
Create a `.env` file for secrets (not tracked in git):
bash
fortianalyzer-mcp
```bash
For production deployments behind a TLS-terminating reverse proxy:
MCP Client → HTTPS → Reverse Proxy (Traefik/nginx) → HTTP → MCP Container → FortiAnalyzer
Key considerations:
localhost and 127.0.0.1 are accepted. Set this to the value clients put in their connection URL (NOT the client's IP): # Reverse-proxy hostname (Traefik/nginx):
MCP_ALLOWED_HOSTS=["mcp.example.com"]
# Direct Docker exposure on IP+port:
MCP_ALLOWED_HOSTS=["10.1.5.62:8001"]
# Port wildcard (any port on the host):
MCP_ALLOWED_HOSTS=["10.1.5.62:*"]
MCP_AUTH_TOKEN=$(openssl rand -hex 32)
env_file (.env), not inline in docker-compose.yml.Example with Traefik:
services:
fortianalyzer-mcp:
image: ghcr.io/rstierli/fortianalyzer-mcp:latest
container_name: fortianalyzer-mcp
restart: unless-stopped
security_opt:
- no-new-privileges:true
env_file:
- .env
environment:
- MCP_SERVER_MODE=http
- MCP_SERVER_HOST=0.0.0.0
- MCP_SERVER_PORT=8001
- FORTIANALYZER_HOST=your-faz-hostname
- FORTIANALYZER_VERIFY_SSL=true
- MCP_ALLOWED_HOSTS=["mcp.example.com"]
- DEFAULT_ADOM=root
- FAZ_TOOL_MODE=full
- LOG_LEVEL=INFO
networks:
- frontend
labels:
- "traefik.enable=true"
- "traefik.http.routers.faz-mcp-secure.entrypoints=https"
- "traefik.http.routers.faz-mcp-secure.rule=Host(`mcp.example.com`)"
- "traefik.http.routers.faz-mcp-secure.tls=true"
- "traefik.http.services.faz-mcp.loadbalancer.server.port=8001"
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
networks:
frontend:
external: true
```
uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
python -m venv .venv source .venv/bin/activate
FORTIANALYZER_API_TOKEN=your-api-token
Create a .env file from the example:
cp .env.example .env
Edit .env with your FortiAnalyzer settings:
```bash
FORTIANALYZER_API_TOKEN=your-api-token-here
FORTIANALYZER_TIMEOUT=30 FORTIANALYZER_MAX_RETRIES=3
DEFAULT_ADOM=root
```
Fix (alternative): grant Claude Desktop Full Disk Access — System Settings → Privacy & Security → Full Disk Access → add Claude. Broader permission; only use if relocation isn't feasible.
export FORTIANALYZER_HOST=your-faz-host export FORTIANALYZER_API_TOKEN=your-token
MCP_AUTH_TOKEN=your-secret-token ```
When configured, all HTTP requests (except /health) must include the Authorization: Bearer <token> header. If not set, the server runs fail-open: it accepts all requests without authentication (kept for backwards compatibility). In HTTP mode this means every tool — including device add/delete and PCAP download — is reachable by anyone who can connect to the port. Always set MCP_AUTH_TOKEN for any HTTP deployment reachable beyond 127.0.0.1, and prefer binding to an internal interface.
Protect your .env files containing API tokens:
chmod 600 .env .env.*
The server communicates with FortiAnalyzer using the JSON-RPC API over HTTPS. All requests are sent to the /jsonrpc endpoint.
python -m fortianalyzer_mcp ```
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"fortianalyzer": {
"command": "/path/to/fortianalyzer-mcp/.venv/bin/fortianalyzer-mcp",
"env": {
"FORTIANALYZER_HOST": "your-faz-hostname",
"FORTIANALYZER_API_TOKEN": "your-api-token",
"FORTIANALYZER_VERIFY_SSL": "true",
"DEFAULT_ADOM": "root",
"LOG_LEVEL": "INFO"
}
}
}
}
Note: Use the full path to the fortianalyzer-mcp executable in your virtual environment. The DEFAULT_ADOM setting is optional and defaults to "root" if not specified.
Add to ~/.claude/mcp_servers.json:
{
"mcpServers": {
"fortianalyzer": {
"command": "/path/to/fortianalyzer-mcp/.venv/bin/fortianalyzer-mcp",
"env": {
"FORTIANALYZER_HOST": "your-faz-hostname",
"FORTIANALYZER_API_TOKEN": "your-api-token",
"FORTIANALYZER_VERIFY_SSL": "true",
"DEFAULT_ADOM": "root",
"LOG_LEVEL": "INFO"
}
}
}
}
Integration tests require a real FortiAnalyzer instance and are not run in CI.
```bash
The project uses GitHub Actions for continuous integration:
All CI checks must pass before merging pull requests.
FortiAnalyzer MCP Server 是一个为 AI 助手提供 FortiAnalyzer 全面接口的 MCP 服务器。它允许 AI 助手查询和分析安全日志(流量、威胁、事件日志)、生成和下载报告、通过 FortiView 监控实时分析、管理安全告警和事件、执行 IOC(妥协指标)分析,以及管理设备和 ADOM。该项目采用 MIT 许可证,支持 Python 3.12+。
日志分析:支持流量、安全和事件日志查询,提供过滤和统计功能。PCAP 下载:可按会话 ID 搜索 IPS 日志并下载 PCAP 文件,支持批量下载。报告生成:列出布局、运行报告、监控进度,支持 PDF/HTML/CSV/XML 多种格式下载。FortiView 分析:实时查看顶级源地址、目标地址等分析数据。告警管理:监控和管理安全告警与事件。设备管理:支持设备和 ADOM 的管理操作。
Python 3.12 或更高版本;FortiAnalyzer 7.x 且已启用 JSON-RPC API 访问;支持 API Token(推荐)或用户名/密码认证;需要 HTTPS 网络连接到 FortiAnalyzer 管理界面。可通过 uv sync 或 pip 安装依赖。
支持多种安装方式:1) 使用 pip 安装:pip install -e . 2) 使用 Docker:从 GitHub Container Registry 拉取预构建镜像 ghcr.io/rstierli/fortianalyzer-mcp:latest 3) 使用 Docker Compose 快速启动。建议先创建虚拟环境(uv venv 或 python -m venv),然后激活环境后进行安装。
通过 .env 文件配置关键参数:FORTIANALYZER_API_TOKEN(API 令牌)、FORTIANALYZER_HOST(主机地址)、FORTIANALYZER_VERIFY_SSL(SSL 验证)、DEFAULT_ADOM(默认 ADOM)。MCP_ALLOWED_HOSTS 用于配置允许的主机列表(如 ["mcp.example.com"] 或 ["10.1.5.62:8001"]),HTTP 模式下需要配置此参数以支持本地主机外的访问。
MCP Server 通过 JSON-RPC API 与 FortiAnalyzer 通信,所有请求发送至 /jsonrpc 端点,使用 HTTPS 协议。API Token 生成步骤:登录 FortiAnalyzer 网页界面 → 系统设置 > 管理员 > 管理员列表 → 编辑用户或新建用户 → JSON API 访问下点击重新生成或新建 API 密钥 → 复制生成的令牌。
支持两种集成方式:1) Claude Desktop 集成:在 macOS (~Library/Application Support/Claude/claude_desktop_config.json) 或 Windows (%APPDATA%\Claude\claude_desktop_config.json) 配置文件中添加 MCP Server 配置。2) Claude Code 集成:在 ~/.claude/mcp_servers.json 中配置。也可直接运行 python -m fortianalyzer_mcp 作为 Python 模块启动服务器。
高质量的开源MCP工具,支持FortiAnalyzer JSON-RPC API
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
AI Skill Hub 点评:堡垒分析MCP工具 的核心功能完整,质量优秀。对于Claude Desktop / Claude Code 用户来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | fortianalyzer-mcp |
| 原始描述 | 开源MCP工具:MCP server for FortiAnalyzer JSON-RPC API. Query logs, alerts, incidents, FortiV。⭐10 · Python |
| Topics | mcpfortianalyzerjson-rpc |
| GitHub | https://github.com/rstierli/fortianalyzer-mcp |
| License | MIT |
| 语言 | Python |
收录时间:2026-06-11 · 更新时间:2026-06-11 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端