Fortigate Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Fortigate Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Write tools are dry-run by default and require explicit environment and per-call confirmation. See SAFE_WRITE_MODE.md.
MCP Server สำหรับให้ Claude Desktop เชื่อมต่อกับ FortiGate ผ่าน REST API ใช้ได้เฉพาะอ่าน config (read-only) ปลอดภัย ไม่สามารถแก้ไขได้
| Tool | หน้าที่ |
|---|---|
fortigate_get_system_status | ดู firmware version, hostname, etc. |
fortigate_list_address_groups | ดูรายชื่อ address group ทั้งหมด |
fortigate_get_address_group | ดู member ใน group |
fortigate_list_addresses | ดูรายชื่อ address object |
fortigate_get_address | ดู IP จริงของ address object |
fortigate_list_policies | ดู policy ทั้งหมด |
fortigate_get_policy | ดู policy ตัวเดียวละเอียด |
fortigate_list_webfilter_profiles | ดู web filter profile |
fortigate_get_webfilter_profile | ดู URL allow/block ใน profile |
fortigate_list_services | ดู custom service |
fortigate_create_policy | Safely create firewall policy, dry-run by default |
fortigate_update_policy | Safely update firewall policy after reading current state |
วาง folder fortigate-mcp ไว้ที่ไหนก็ได้ เช่น:
C:\mcp\fortigate-mcp~/mcp/fortigate-mcpcp .env.example .envแก้ .env:
FORTIGATE_HOST=172.16.1.X # IP ของ FortiGate
FORTIGATE_TOKEN=xxxxxxxxxxxx # token จาก REST API admin
FORTIGATE_VERIFY_SSL=false # true ถ้ามี valid cert
FORTIGATE_TIMEOUT=10000cd fortigate-mcp
docker compose build# ทดสอบ run แบบ interactive (Ctrl+C เพื่อออก)
docker compose run --rm fortigate-mcpถ้าเห็น log:
[FortiGate MCP] Server running on stdio
[FortiGate MCP] Connected to: 172.16.1.X
[FortiGate MCP] Mode: READ-ONLYแสดงว่า container ทำงานได้ ✅
หมายเหตุ: server จะรอ MCP protocol input จาก stdin — ถ้าไม่มี input ก็ปกติ Ctrl+C ปิดได้เลย
แก้ไฟล์ config ของ Claude Desktop:
Windows: %APPDATA%\Claude\claude_desktop_config.json Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
เพิ่ม mcpServers:
{
"mcpServers": {
"fortigate": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"--env-file",
"C:\\path\\to\\fortigate-mcp\\.env",
"fortigate-mcp:latest"
]
}
}
}⚠️ Windows: ใช้\\แทน\ในเส้นทางไฟล์ Mac/Linux: ใช้/path/to/fortigate-mcp/.env
ปิดเปิด Claude Desktop ใหม่ทั้งหมด (ไม่ใช่แค่ปิดหน้าต่าง — quit จาก system tray)
ถาม Claude ว่า:
"ลอง fortigate_get_system_status FortiGate ของฉันหน่อย"
ถ้าได้ข้อมูล hostname ETTFAC กลับมา = สำเร็จ! 🎉
.env ไม่ถูก commit (มี .gitignore).env ลง gitError: connect ECONNREFUSED.envping)FortiGate API error (401)FortiGate API error (403)network_mode: host ใน docker-compose)claude_desktop_config.json ถูกต้อง%APPDATA%\Claude\logs\ (Windows)~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.