mcpField
C
Catalyst Center MCP

Catalyst Center MCP

本地服务
github.com/richbibby云与基础设施1732 周前更新

关于 Catalyst Center MCP

Catalyst Center MCP 是一个 Python MCP 服务,为 Cisco Catalyst Center 提供设备管理、客户端信息查询和网络监控工具。网络运维人员可通过支持 MCP 的客户端检索站点、接口和客户端数据。

主要功能

  1. 01安全连接 Cisco Catalyst Center
  2. 02发现并查询网络设备
  3. 03检索站点层级与详情
  4. 04查询设备接口信息
  5. 05筛选客户端并查询详情和数量
  6. 06转换 API 时间范围

适用场景

  1. 01查看设备清单及状态
  2. 02检查站点内设备和层级
  3. 03查询设备接口状态
  4. 04按 SSID、站点或 MAC 筛选客户端

MCP 相关

该 MCP 服务将 Cisco Catalyst Center 的设备、站点、接口和客户端查询能力作为工具提供给 MCP 客户端,并支持时间范围转换。通过 `.env` 文件配置连接凭据。

配置

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

暂未收录安装方式

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

代码仓库

工具

还没有获取到工具列表

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

详细介绍

Catalyst Center MCP 服务

一个基于 Python 的 MCP(Model Context Protocol)服务,适用于 Cisco Catalyst Center(原名 DNA Center),提供设备管理、客户端信息检索和网络监控工具。

功能

  • 使用 Cisco Catalyst Center 进行安全身份验证。
  • 发现、列出设备并检索详细信息。
  • 检索站点信息,包括层级结构和详细信息。
  • 获取特定设备的网络接口信息。
  • 支持全面筛选选项的客户端列表。
  • 根据 MAC 地址检索详细的客户端信息。
  • 支持筛选条件的客户端数量检索。
  • 提供用于转换为 API 兼容时间范围的辅助工具。
  • 使用 FastMCP 实现,打造稳健且可扩展的 MCP 服务。
  • 通过 .env 文件进行配置,便于设置。

安装

  1. 克隆仓库:
git clone https://github.com/richbibby/catalyst-center-mcp.git
cd catalyst-center-mcp
  1. 创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. 安装依赖项:
pip install -r requirements.txt

配置

  1. 复制示例环境文件:
cp .env.example .env
  1. 使用 Catalyst Center 凭据更新 .env 文件:
CCC_HOST=your-catalyst-center-host
CCC_USER=your-username
CCC_PWD=your-password

与 Claude 桌面客户端搭配使用

  1. 配置 Claude Desktop 以使用此 MCP 服务:
  • 打开 Claude Desktop
  • 前往 Settings > Developer > Edit Config
  • 添加以下配置(根据需要调整路径;示例结构请参阅 claude_desktop_config.json):
{
  "mcpServers": {
    "catalyst-center-mcp": {
      "command": "/path/to/your/venv/bin/fastmcp",
      "args": [
        "run",
        "/path/to/your/catalyst-center-mcp/catalyst-center-mcp.py"
      ],
      "env": {
        "PYTHONUNBUFFERED": "1"
      }
    }
  }
}
  • 将 /path/to/your/... 替换为适用于本地环境的绝对路径。
  • 建议在 Stdio 传输中使用 PYTHONUNBUFFERED 环境变量。
  1. 重启 Claude Desktop

  2. 与 Claude Desktop 交互:

  • 请 Claude 执行类似“显示我的 Cisco Catalyst Center 中的设备”这样的操作
  • Claude 将使用 MCP 服务进行身份验证并获取设备信息

Claude Desktop 与 Catalyst Center MCP

Claude Desktop 与 Catalyst Center MCP

与 VScode 搭配使用

  1. 配置 VSCode 以使用此 MCP 服务:
  • 打开 VScode
  • 打开命令面板:在 macOS 上的 Visual Studio Code 中按 Command + Shift + P(在 Windows 和 Linux 上按 Ctrl + Shift + P)
  • 输入:MCP: Open User Configuration
  • 添加以下配置(根据需要调整路径;示例结构请参阅 claude_desktop_config.json):
{
  "servers": {
    "catalyst-center-mcp": {
      "type": "stdio",
      "command": "/path/to/your/venv/bin/fastmcp",
      "args": [
        "run",
        "/path/to/your/catalyst-center-mcp/catalyst-center-mcp.py"
      ],
      "env": {
        "PYTHONUNBUFFERED": "1"
      }
    }
  }
}
  • 将 /path/to/your/... 替换为适用于本地环境的绝对路径。
  • 建议在 Stdio 传输中使用 PYTHONUNBUFFERED 环境变量。
  1. 重启 VSCode

你也可以

  • 打开命令面板:在 macOS 上的 Visual Studio Code 中按 Command + Shift + P(在 Windows 和 Linux 上按 Ctrl + Shift + P)
  • 执行 Developer: Reload Window
  1. 在聊天窗口中交互:
  • 提出类似“显示我的 Cisco Catalyst Center 中的设备”这样的问题
  • VSCode 将使用 MCP 服务进行身份验证并获取设备信息

VSCode 与 Catalyst Center MCP

示例问题

以下是一些可以向 Claude 提出、以便与 Catalyst Center 交互的示例问题:

设备信息
  • “显示我网络中的所有设备”
  • “列出我网络中的所有交换机”
  • “哪些设备当前不可达?”
  • “显示主机名包含 ‘switch’ 的设备”
  • “IP 为 10.1.1.1 的设备状态如何?”
接口信息
  • “显示设备 X 的所有接口”
  • “设备 Y 上哪些接口处于关闭状态?”
  • “列出设备 Z 上的所有 Gigabit 接口”
  • “显示具有 IP 地址的接口”
  • “设备 X 上的接口 GigabitEthernet1/0/1 状态如何?”
站点信息
  • “显示我网络中的所有站点”
  • “站点 X 中有哪些设备?”
  • “列出我网络中的所有建筑”
  • “显示站点层级结构”
  • “站点 Y 的地址是什么?”
客户端信息
  • “当前连接了多少个客户端?”
  • “列出所有无线客户端。”
  • “显示连接到 SSID 'Corporate-WiFi' 的客户端。”
  • “MAC 地址为 aa:bb:cc:dd:ee:ff 的客户端有哪些详细信息?”
  • “是否有操作系统类型为 'macOS' 的客户端?”
  • “列出过去一小时内活跃的客户端。”
组合查询
  • “显示站点 X 中的所有设备及其接口”
  • “列出所有设备中处于关闭状态的接口”
  • “建筑 Y 中有哪些设备的接口不可达?”
  • “显示站点 Z 的网络拓扑”
  • “区域 A 中所有设备的状态如何?”

可用工具

  • fetch_devices:从 Cisco Catalyst Center 获取设备列表,并提供筛选选项。
  • fetch_sites:从 Cisco Catalyst Center 获取站点列表,并返回精简的 JSON 结构。
  • fetch_interfaces:获取指定设备 ID 的接口信息。
  • get_api_compatible_time_range:将自然语言时间输入(例如“过去 24 小时”“昨天”)或特定时间戳转换为 API 兼容的纪元毫秒开始和结束时间。
  • get_clients_list:从 Cisco Catalyst Center 获取客户端列表,并提供全面的筛选选项(例如按客户端类型、操作系统、站点、MAC/IP 地址、SSID 筛选)。每次调用最多返回 100 个客户端。
  • get_client_details_by_mac:根据 MAC 地址获取特定客户端的详细信息。
  • get_clients_count:获取符合指定筛选条件的客户端总数。

贡献

  1. Fork 此存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交更改(git commit -m 'Add some amazing feature')
  4. 推送到分支(git push origin feature/amazing-feature)
  5. 创建 Pull Request

评论

支持 Markdown

第一次接触 MCP?

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

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