mcpField
F
Fortinet MCP

Fortinet MCP

本地服务
github.com/servosity安全64今天更新

关于 Fortinet MCP

Fortinet MCP 是面向 MSP 的只读 MCP 服务和 CLI,用于审计多个客户的 FortiGate。它汇总设备状态并记录审计结果,以便发现新出现的问题。

主要功能

  1. 01跨设备 FortiGate 审计
  2. 02固件与 SSL-VPN 检查
  3. 03管理员和许可证审查
  4. 04健康状态与策略检查
  5. 05本地审计记录和变更跟踪

适用场景

  1. 01查找低于固件版本要求的防火墙
  2. 02识别暴露的 SSL-VPN 接口
  3. 03检查管理员访问和即将到期的许可证
  4. 04跟踪多次审计间的新问题

MCP 相关

向 MCP 客户端提供 FortiGate 配置和实时状态的只读审计。项目建议使用默认的 stdio 传输,并警告此版本不要使用 HTTP 模式。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbfortinet-mcp.mcpb0.1.4

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Fortinet + AI - 适用于 ChatGPT、Claude、GitHub Copilot、Microsoft 365 Copilot、Gemini 以及任何支持 MCP 的 Agent

非官方。由社区构建的 Fortinet API Claude Code Skill 和 MCP 服务。与 Fortinet, Inc. 无关联,未获其认可或赞助。

Fortinet - MCP 服务和 Claude Code Skill

完整技能页面 - 安装、效果和安全模型。

读取每台 FortiGate 的配置和实时状态,然后通过一条命令审计整个客户设备群的固件、SSL-VPN 暴露情况、管理员账号和许可证到期时间。适用于你已经在使用的 AI - ChatGPT(Plus/Pro+,在重新发布此连接器前暂停;请参阅 mcp-install.md)、Claude Desktop、Codex、Claude Code、Claude Cowork 和 GitHub Copilot - 以及通过远程路径使用的 Microsoft 365 Copilot / Copilot Studio 和 Google Gemini。免费、开源,可在笔记本电脑上运行。专为 MSP 所有者打造。无需编写代码。

适用于你的 Agent

安全提示(在重新发布此连接器之前)。 不要运行 HTTP 模式 (--transport http),即使在 localhost 上也不行。此版本会检查令牌,但 早于修复版本中的请求大小和时间限制。MCP 工具还可以使用你的凭据读取数据。如果 为远程 Agent 设置了隧道,请将其关闭。修复版本即将推出。

MSP 所有者实际使用的六种 Agent(可自行安装,现已可用):

你的 AI Agent如何安装 Fortinet skill
Claude Desktop运行安装程序,然后前往 Settings > Extensions 注册 fortinet-mcp(无需编辑 JSON)。
ChatGPT(付费计划)在重新发布此连接器前暂停:ChatGPT 需要 HTTP 模式,而此版本的该模式虽然会检查令牌,但尚无请求大小或时间限制。请参阅 mcp-install.md 中的安全提示。
Codex CLI粘贴下方的安装提示词。
Claude Code粘贴下方的安装提示词。
Claude Cowork粘贴下方的安装提示词。
GitHub Copilot(VS Code)运行安装程序,在 mcp.json 的 servers 键下添加 fortinet-mcp,然后选择 Agent 模式。

ChatGPT 需要远程 HTTPS 服务,这意味着需要使用此连接器的 HTTP 模式;在重新发布连接器之前,该模式会暂停:此版本的该模式虽然会检查令牌,但尚无请求大小或时间限制。请参阅 mcp-install.md 中的安全提示。

也适用于 Microsoft 和 Google 技术栈

这类工具的安装量很大,但先如实提醒一下:它们走的是远程/企业路径,而不是你刚刚安装的本地二进制文件。

Agent所需条件
Microsoft 365 Copilot / Copilot Studio暂停使用,等待此连接器重新发布:Copilot Studio 需要其 HTTP 模式,而此版本的该模式会检查令牌,但尚无请求大小或时间限制。请参阅 mcp-install.md 中的安全说明。
Google GeminiGemini CLI 是本地的,与 Claude Code 相同。Gemini app 是远程的,需要使用与 ChatGPT 相同的暂停 HTTP 模式。请参阅 mcp-install.md。

原生支持 Skill 的 Agent(也已涵盖): Hermes 和 OpenClaw 可直接读取此 Skill 的 SKILL.md,也支持 MCP——请参阅下方的安装部分。通过 MCP 也适用于 Cursor、Windsurf、Cline、Continue.dev 和 Zed。各工具的完整连接指南:docs/which-agent.md。

要运行多个 Agent? 只需一条命令,即可在所有 51+ 个受支持的 Agent 中安装:npx skills add Servosity/msp-skills@latest(需要 Node.js,然后运行各 Skill 的安装程序以安装 CLI/MCP 二进制文件)。请参阅 docs/which-agent.md。

60 秒内完成安装

Claude Desktop 最快捷方式——一键安装 .mcpb

下载 Fortinet MCP(.mcpb)——然后打开 Claude Desktop > Settings > Extensions 并选择该文件。一键完成,无需 JSON 或 Shell。(在 releases 页面浏览所有 Fortinet 版本。)

更喜欢 Claude Code 插件?添加一次 marketplace,然后安装——立即生效,无需列出目录:

/plugin marketplace add Servosity/msp-skills
/plugin install fortinet@msp-skills
路径 A——向 AI Agent 粘贴一条提示词(推荐)

将以下内容复制到 Claude Code、Codex CLI 或 Claude Cowork 中:

在此 Agent 工作区中,从 Servosity/msp-skills 安装 Fortinet Skill 和 MCP 服务。如果此工作区使用 POSIX Shell(macOS、Linux、WSL 或 Bash),请运行 bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/fortinet/install.sh)。如果使用 Windows PowerShell,请运行 iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/fortinet/install.ps1 | iex。然后按照 README 进行身份验证,并运行 fortinet-cli --help 了解用法。

任何能够运行 Shell 的 Agent 都可以使用同一条提示词。

路径 B——自行运行安装程序

Windows(PowerShell):

iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/fortinet/install.ps1 | iex

macOS / Linux:

bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/fortinet/install.sh)

安装程序会将 fortinet-cli(CLI)和 fortinet-mcp(MCP 服务)安装到用户的 bin 路径中。Claude Code、Codex 和 Cowork 会通过此目录中的 SKILL.md 找到 Skill。

验证:

fortinet-cli --version
升级到最新版本

安装程序始终获取当前版本——重新运行即可升级:

macOS / Linux:

bash <(curl -fsSL https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/fortinet/install.sh)

Windows(PowerShell):

iwr -useb https://raw.githubusercontent.com/Servosity/msp-skills/main/skills/fortinet/install.ps1 | iex

Claude Desktop .mcpb 用户:下载最新的 .mcpb(见本节顶部),然后在 Settings > Extensions 中重新选择该文件。Claude Code 插件用户:/plugin update fortinet@msp-skills。

添加到 Claude Desktop、GitHub Copilot、Gemini CLI、Microsoft 365 Copilot 或其他 MCP 客户端

安装程序运行后,请参阅 mcp-install.md 和 docs/which-agent.md,查看各 Agent 的连接指南——每个 Agent 都有单独的说明,包括 GitHub Copilot 的 servers 键,以及 Microsoft 365 Copilot / Copilot Studio 的远程接入方式。Claude Desktop 的 Settings > Extensions 面板是最简单的方式;mcp-install.md 中也记录了 MCP 配置块(供希望编辑 JSON 的用户使用)。

为 Hermes 安装

在 Hermes CLI 中:

hermes skills install servosity/msp-skills/skills/fortinet --force

在 Hermes 聊天会话中:

/skills install servosity/msp-skills/skills/fortinet --force

Hermes 原生支持 MCP,因此也可以直接使用 fortinet-mcp 服务——安装方式和环境变量相同。

为 OpenClaw 安装

告诉你的 OpenClaw Agent(复制以下内容):

从 https://github.com/servosity/msp-skills/tree/main/skills/fortinet 安装 fortinet 技能。该技能说明了如何通过 openclaw: frontmatter 块安装其所需的 CLI(fortinet-cli)。

OpenClaw 尚未普遍开放;frontmatter 配置已预先随附,会在 OpenClaw 发布时立即启用。

身份验证

在 FortiGate 上创建 REST API 管理员(System > Administrators > Create New > REST API Admin,配置只读权限,并将你的 IP 设为受信任主机),然后:

FORTINET_BASE_URL=<value> FORTINET_API_TOKEN=<value> fortinet-cli doctor

doctor 会检查配置和路径,然后执行一次经过身份验证的读取请求(GET /monitor/system/status),以报告令牌是否确实可用,而不仅仅是是否已设置令牌。若要管理多台 FortiGate,请在 devices.toml 文件中列出它们,然后运行 fortinet-cli fleet devices,查看哪些条目配置了可用的 URL 和令牌文件。

此技能的功能

MSP 经常提出的问题命令
为每台客户 FortiGate 提供统一的安全态势评估结果,仅显示自上次运行以来新增的问题fortinet-cli fleet audit --new
哪些 FortiGate 的固件版本低于其分支的固定版本?fortinet-cli audit firmware --min-version 7.2.10,7.4.5
哪些 WAN 接口上的 SSL-VPN 对任意来源开放?fortinet-cli audit sslvpn
哪些管理员没有受信任主机或双重身份验证?fortinet-cli audit admins
哪些 FortiGuard 和 FortiCare 许可证将在未来 60 天内到期?fortinet-cli audit licenses --within 60d
哪些防火墙存在 HA 不同步、隧道断开或证书即将到期的情况?fortinet-cli fleet health --cert-within 14d
哪些策略允许任意来源访问任意目标、未被使用或未启用日志记录?fortinet-cli policies hygiene --unused-days 90
本周每位客户的配置有哪些变更?fortinet-cli fleet changes --since 7d
哪些由 FortiManager 管理的设备未同步?fortinet-cli fmg devices
哪些 FortiGate Cloud 设备的隧道已断开或合约即将到期?fortinet-cli cloud devices

完整命令参考:guide.md。有关 AI Agent 的操作约定(--agent、--dry-run,以及何时在执行变更前确认),请参阅 AGENTS.md。

有什么不同

alpadalar/fortigate-mcp-server 是一款通用型 FortiGate MCP 服务:它包含设备注册表、读取工具,以及用于创建、更新和删除策略、VIP 和路由的工具;只有启用写入功能后,这些写入工具才会生效。它会回答你所询问的设备相关问题。

而这个项目从设计上就是只读的,专为 MSP 在 SSL-VPN 安全公告发布后的早晨会问的问题打造:我的 40 个客户中,现在有多少暴露在风险之下?devices.toml 文件会列出每个客户的 FortiGate,而 fleet audit 会并行读取所有设备,然后根据各分支的固件最低版本、SSL-VPN 暴露情况、管理员账户和许可证到期时间,分别评定为 PASS、WARN、FAIL 或 UNKNOWN。无法读取的设备会标记为 UNKNOWN,绝不会标记为 PASS。每次运行都会在本地留档,因此 fleet audit --new 只会显示自上次运行后新增的问题;fleet backup 和 fleet changes 则会显示两次备份之间发生变化的配置对象。fmg 和 cloud 还会以只读方式加入 FortiManager 和 FortiGate Cloud 的资产清单。存储的机密不会出现在答复中:所有 FortiOS 加密值都会以 ENC (redacted) 返回。

Fortinet 的 FortiAI-Assist 在 FortiManager 和 FortiAnalyzer 中运行;自 FortiOS 8.0 起,也可在 RAM 超过 2 GB 且订阅 FortiCare Premium 的 FortiGate 上运行。它只会在自身运行的控制台中回答问题。这个项目只需要每台 FortiGate 配置一个只读 REST API 令牌,因此也支持 FortiAI-Assist 无法覆盖的小型设备,并且可以同时回答所有客户防火墙相关的问题。

解决的痛点

FortiOS SSL-VPN 是客户网络中最先遭受攻击的部分。Fortinet 在 2024 年 2 月披露 CVE-2024-21762 时表示,该漏洞“可能已在实际环境中遭到利用”(Rapid7);给 MSP 的建议是,将每台设备升级到其所属分支的修复版本,或关闭 SSL-VPN(SmarterMSP)。要在当天早晨完成这项工作,就必须知道哪些客户的 FortiGate 正在运行 SSL-VPN、哪些设备在 WAN 上对任何人开放,以及哪些设备低于修复版本。FortiOS 一次只能查询一台设备;没有 FortiManager 时,就得为每个客户分别登录一次。

  • fortinet-cli audit sslvpn - 对每台设备和 VDOM,若 SSL-VPN 在 WAN 接口上对任何来源开放,则标记为 FAIL。
  • fortinet-cli audit firmware --min-version 7.2.10,7.4.5 - 列出所有低于所属分支最低版本的设备,并显示落后了多少。
  • fortinet-cli audit licenses --within 60d - 提供一个续订队列,免去电子表格。
  • fortinet-cli fleet audit --new --fail-on fail - 执行全部四项检查,只显示新增问题;用于计划任务时,失败会返回代码 6。

更详细的说明请参阅 pain-point.md。

常见问题

这能与 ChatGPT 配合使用吗?

这个版本不行。ChatGPT(Plus、Pro、Team、Business、Enterprise 和 Education 计划;Free 目前尚未开放 Developer Mode)只能通过 HTTPS 连接远程 MCP 服务,这意味着必须以 HTTP 模式运行 Fortinet MCP 服务。在这个版本中,HTTP 模式会检查令牌,但尚未设置请求大小或时间限制,因此在连接器重新发布之前,请勿运行它,也不要将它置于隧道之后;mcp-install.md 中的安全说明解释了原因。在此之前,请使用 Claude Desktop、Claude Code 或 Codex。

这能与 Codex、Cursor、Windsurf、Cline、Copilot 或 Gemini 配合使用吗?

可以——它们都支持 MCP。跨工具安装命令见上方的对照表,详细说明见 docs/which-agent.md。

我需要懂编程吗?

不需要。推荐的安装方式是在 Claude Code 或 Codex 中粘贴一句话——你的 Agent 会读取 SKILL.md 并完成安装。备用方案是在每种操作系统上运行一行安装命令(bash 或 PowerShell)。这两种方式都不需要编写代码。你只需输入一次 Fortinet 凭据。

我的 Fortinet 数据安全吗?

你的数据始终留在自己的机器上。CLI 和 MCP 服务都是本地二进制文件。SQLite 镜像存放在你用户账户下的目录中。AI Agent 只能看到 CLI 返回的内容,通常是查询结果,而不是原始批量数据。凭据从你的环境变量或 Agent 配置中读取;MSP Skills 不会将其打包进此仓库或传输到任何地方。

它能更改我的 FortiGate 吗?

不能。每次 FortiOS 调用都是读取配置表或监控状态(settings 和 monitor 命令执行读取,不会设置),FortiManager 命令只发送 JSON-RPC 的 get 方法,而 FortiGate Cloud 命令只会列出设备。存储的机密也不会出现在答案中:所有 FortiOS 加密值(RADIUS 机密、IPsec 密钥、密码哈希)都会以 ENC (redacted) 返回,且对于获取明文密码的请求会予以拒绝。为每个令牌配置一个具有只读管理员配置文件的 REST API 管理员,剩下的由 FortiGate 自身强制执行。

如何检查 40 台客户端的 FortiGate,而不只是 1 台?

在 devices.toml 中逐一列出,每台设备对应一个 [[device]] 条目,并填写其 url、token_file(存放该设备令牌的文件;在 macOS 和 Linux 上,除非文件权限设为 chmod 600,否则 CLI 会拒绝使用该文件)以及可选的 client 名称。fortinet-cli fleet devices 会显示哪些条目具有可用的 URL 和令牌文件,之后每条审计命令都会针对整个列表运行。你指定的设备文件(通过 --devices 或 FORTINET_DEVICES)如果不存在或未列出任何 [[device]] 条目,就会报错,而不会悄悄退回到单台设备。若没有指定设备文件,审计会检查 FORTINET_BASE_URL 指定的单台设备。

我的 FortiGate 仍在使用出厂证书。它能连接吗?

默认情况下不能:证书检查始终开启。安全的解决方法是在 FortiGate 上安装受信任的证书(FortiOS 可以从 Let's Encrypt 获取证书)。否则,可在 devices.toml 中为每台设备设置 insecure = true、传入 --insecure,或在 JSON 配置的 MCP 服务 env 区块中添加 "FORTINET_SKIP_TLS_VERIFY": "true"(这也会关闭 FortiManager 的验证;仅针对 FortiManager 时,可使用 FORTINET_FMG_INSECURE=true)。单击即可安装的 .mcpb 特意不提供此选项,因为勾选一次就会关闭所有设备的验证。devices.toml 条目中的 insecure = true 会涵盖整个设备列表,以及其中的审计和策略卫生工具;单设备工具和 fmg 工具仍需要受信任的证书(或使用上述 JSON 配置)。

我需要 FortiManager 或 FortiGate Cloud 吗?

不需要。两者都是可选的附加项:fmg 命令会读取 FortiManager ADOM 和受管设备,cloud 命令会读取你的 FortiGate Cloud 资产清单。其他所有功能都直接与每台 FortiGate 通信。

费用是多少?

免费,采用 Apache-2.0 许可证。你只需为使用的 AI Agent(Claude、ChatGPT、Codex 等)付费,费用由你的 AI 服务提供商收取,与我们无关。

安全模型

层级示例建议的 Agent 策略
读取fleet audit、fleet health、四项 audit 检查、policies hygiene、fmg 和 cloud 读取、所有 list / get、monitor 和 settings 命令、sync、search、export(加密密钥会脱敏;sync 和 fleet audit 会写入本地状态,export --output 会覆盖指定文件)允许
敏感读取fleet backup(完整配置,包括加密密钥和私钥,按设计不脱敏)、administrators、api-users、local-users、monitor fortitokens人工介入;保持输出私密
凭据auth set-token、auth logout仅限人工介入
数据外发--deliver webhook:<url>、feedback --send人工介入

没有任何命令会更改 FortiGate、FortiManager 或 FortiGate Cloud。

最有力的控制措施,是为每个 REST API 令牌设置的管理员配置文件——只读配置文件意味着 FortiGate 会拒绝其他所有操作。完整详情(包括如何锁定权限)请参阅 governance.md。

状态

Beta 版,尚待真实环境验证。命令接口根据社区编写的 FortiOS 7.4 端点 OpenAPI 描述生成,该描述源自 Fortinet 的公开 Ansible 集合(并非 Fortinet 官方规范);舰队审计则通过模拟 FortiGate、FortiManager 和 FortiGate Cloud 响应的单元测试进行覆盖。但目前还没有 MSP 在生产环境中的 FortiGate 上运行过它并反馈结果,因此这里的内容尚未经过真实设备验证。如果你在自己的设备上运行它,可通过「运行成功」表单申请徽章。MSP 会在每周的 Build Sessions 中全面测试这类连接器——请在 compoundingteams.com/build-sessions 报名参加。


标准。 符合开放的 Agent Skills 规范(Anthropic,2025 年 12 月;支持 40 多种 Agent)。兼容 MCP,可与任何支持 MCP 的 Agent 搭配使用,包括 Hermes。已适配 OpenClaw(frontmatter 已预先配置,等待 OpenClaw 发布)。

由 Servosity 维护。采用 Apache-2.0 许可。使用 CLI Printing Press 构建。最后更新:2026-10-13。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。