Skip to main content
Glama
benbelo
by benbelo

fortinac-mcp

由 AI 生成的代码(vibe-coded)/ 完全由 AI 生成的代码

用于在 FortiNAC 7.6 上诊断 rogue 主机的 MCP 服务器。

查询 FortiNAC REST API,将每台设备与 profiling 规则进行交叉对照,并运行 nmap 扫描,以准确识别哪些条件阻止了分类。

先决条件

  • Python 3.10+

  • nmap (brew install nmap)

  • 一个 FortiNAC API 令牌,具备对主机和 profiling 规则的读取权限。

Related MCP server: MCP Network Tools

安装

cd fortinac-mcp
python3 -m venv .venv
.venv/bin/pip install -e .

配置

在 ~/.mcp.json 中添加:

{
  "fortinac": {
    "type": "stdio",
    "command": "/chemin/vers/fortinac-mcp/.venv/bin/python",
    "args": ["-m", "fortinac_mcp"],
    "env": {
      "FORTINAC_URL": "https://fortinac.example.com",
      "FORTINAC_TOKEN": "votre-token-api",
      "FORTINAC_VERIFY_SSL": "false"
    }
  }
}

重新启动 Claude Code 以加载服务器。

工具

  • check_status -- 检查 API 连接和 nmap 的可用性

  • list_rogues -- 列出 rogue 主机(MAC、IP、厂商、VLAN)

  • diagnose_rogues -- 批量诊断:针对所有 profiling 规则测试每个 rogue

  • diagnose_host -- 按 MAC 地址诊断主机

  • scan_host -- 对某个 IP 执行 nmap 扫描(端口、服务、操作系统)

  • lookup_vendor -- 根据 MAC 地址查找厂商

  • get_profiling_rules -- 从 FortiNAC 导出 profiling 规则

  • get_host_details -- 获取主机的完整详细信息

  • reprofile_all_rogues -- 在 FortiNAC 端重新发起对 rogue 的评估

诊断

对于每个 rogue,diagnose_rogues 检查:

  • 厂商 OUI(MAC 与预期厂商的匹配)

  • 通过 nmap 检测的开放端口(与规则要求的端口对比)

  • DHCP 指纹(存在性和匹配情况)

  • SNMP OID(响应和预期值)

  • IP 范围(正确的子网)

  • 位置(网络部署位置)

报告会指出哪些条件通过、哪些失败,并提出纠正措施。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for managing Fortinet FortiCNAPP via AI agents, enabling vulnerability scanning, agent management, and compliance monitoring.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables natural language management of FortiGate firewalls via the FortiOS REST API, offering 393 tools for system, policy, routing, VPN, and security configuration.
    MIT