mcpField
C
Cato MCP CMA

Cato MCP CMA

本地服务
github.com/catonetworks安全2663 周前更新

关于 Cato MCP CMA

Cato MCP CMA 是一个本地运行的 MCP 服务,对接 Cato Network 的公开 GraphQL API,使 AI 助手能够以标准方式查询 Cato 系统信息。它面向使用 Cursor、Claude Desktop 等客户端的网络与安全运维人员。

主要功能

  1. 01通过 entity_lookup 检索实体列表并支持过滤与分页
  2. 02提供站点、连接状态与 WAN 链路指标相关工具
  3. 03提供远程用户会话、连接和客户端版本查询工具
  4. 04提供站点与用户的流量、延迟、丢包等指标分析工具
  5. 05支持以 Docker 镜像方式运行

适用场景

  1. 01查看站点连接状态与 HA 信息
  2. 02分析带宽占用最高的站点或用户
  3. 03排查网络质量较差的站点

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露多组用于查询 Cato API 的工具。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"cato": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"pull"
]
}
}
}
启动命令docker run -i --rm pull

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
ocipull

工具

还没有获取到工具列表

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

详细介绍

Cato MCP CMA

一个与 Cato CMA Public API 集成的 Model Context Protocol (MCP) 服务实现。

概述

该服务实现了 Model Context Protocol,使 AI 助手能够与 Cato 的 GraphQL API 交互。
它提供的工具可让 AI 模型以标准化方式查询和获取 Cato 系统中的信息。

所提供的 MCP 服务已针对与主流 MCP 客户端(非免费套餐)的兼容性进行测试——例如使用 Claude Sonnet 4 模型的 Cursor 和 Claude Desktop——推荐与这些客户端配合使用。

该服务以 Docker 镜像形式提供,地址为 ghcr.io/catonetworks/cato-mcp-server

将以下内容添加到 Claude-Desktop 配置文件:\

MacOS:~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "cato": {
      "command": "docker",
      "args": [
          "run",
          "--rm",
          "--pull",
          "always",
          "-i",
          "-e", "CATO_API_HOST=<your Cato API Host>",
          "-e", "CATO_ACCOUNT_ID=<your Cato Account ID>",
          "-e", "CATO_API_KEY=<your Cato API Key>",
          "ghcr.io/catonetworks/cato-mcp-server:latest"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
说明:
  • --pull always 选项确保 AI Agent 应用(例如 Claude-Desktop)使用 cato-mcp-server 的最新版本。
    运行 cato-mcp-server 的 AI Agent 应用可能会弹出窗口,请求访问其他应用数据的权限。
    image\
    • 如果你不希望允许此操作,可以移除 --pull always 选项,但这样当新版本发布时,你需要通过执行以下命令手动更新镜像:
    docker pull ghcr.io/catonetworks/cato-mcp-server:latest
    

配置

该服务需要以下环境变量:

# The hostname of the Cato API (without protocol). e.g.: api.catonetworks.com
# For details about your Cato API hostname, please see: https://support.catonetworks.com/hc/en-us/articles/20564679978397-What-is-the-Cato-API
CATO_API_HOST: "api.catonetworks.com"
# The Cato account-id
CATO_ACCOUNT_ID: "1234567"
# The Cato API-KEY for authentication
CATO_API_KEY: "123abc"

可用工具

类别工具描述
实体查询entity_lookup检索特定类型的实体列表(例如用户、站点、服务),支持可选筛选(例如按名称)和分页。
站点sites_by_location返回站点数据,并附带地理位置及关联的 PoP 连接信息。
site_details检索站点详细信息,包括运行状态、连接状态、高可用性(HA)信息以及设备接口状态。
site_types提供所有已配置站点的详细信息,包括连接方式(例如 Socket、IPSEC、vSocket)。
socket_versions列出所有已部署 Socket 的版本信息,包括站点关联。
wan_connectivity提供每个站点 WAN 链路的实时指标,包括流量、丢包、延迟和抖动,以评估链路性能和健康状况。
用户和客户端user_details提供已连接远程用户的配置文件和状态信息,包括设备名称、操作系统和连接状态。
user_connection_details提供已连接远程用户的会话特定数据,例如正常运行时间、连接时长及关联的 PoP 详细信息。
user_software_versions列出已连接远程用户的操作系统和 Cato Client 版本信息。
站点指标site_network_health检索指定时间范围内站点网络健康状况的摘要,识别网络质量较差(高丢包、延迟、抖动)的站点。
top_site_bandwidth_consumers按给定时间范围内的总流量(bytesUpstream + bytesDownstream)对站点进行排名,用于容量规划和流量分析。
site_metrics_timeseries检索站点按时间分桶的指标数据,支持趋势分析、峰值检测和流量模式识别。
site_metrics返回站点的聚合指标(无时间序列数据)。
site_metrics_summary提供按站点类型、连接类型、区域或接口角色等各种维度分组的站点聚合指标分析。
annotation_event_counter分析基础设施变更事件和注释,以跟踪稳定性并识别频繁变更或存在问题的站点。
用户指标top_users_bandwidth_consumers按给定时间范围内的总流量(bytesUpstream + bytesDownstream)对 VPN 连接用户进行排名,用于带宽监控、成本管理以及识别异常使用模式。
user_metrics_timeseries检索 VPN 连接用户按时间分桶的指标数据,支持随时间变化的趋势分析和性能监控。
user_metrics返回 VPN 连接用户的聚合指标(无时间序列数据)。

开发

从源码构建:

yarn install
yarn build

Claude-Desktop 配置示例:

将以下内容添加到:~/Library/Application\ Support/Claude/claude_desktop_config.json

{
    "mcpServers": {
        "cato": {
            "command": "node",
            "args": ["/path/to/cato-mcp-cma/build/index.js"],
            "env": {
                "CATO_API_HOST": "api.catonetworks.com",
                "CATO_ACCOUNT_ID": "1234567",
                "CATO_API_KEY": "123abc",
                "CATO_LOG_LEVEL": "debug"
            },
            "disabled": false,
            "autoApprove": []
        }        
    }
}
构建 Docker 镜像:

在项目根目录下运行:

docker build -t catonetworks/cato-mcp-server .

Claude-Desktop mcp-server 配置示例:

将以下内容添加到:~/Library/Application\ Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "cato": {
      "command": "docker",
      "args": [
          "run",
          "--rm",
          "-i",
          "-e", "CATO_API_HOST=api.catonetworks.com",
          "-e", "CATO_ACCOUNT_ID=<your Cato Account ID>",
          "-e", "CATO_API_KEY=<your Cato API Key>",
          "catonetworks/cato-mcp-server"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}

评论

支持 Markdown

第一次接触 MCP?

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

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