项目简介

Topolograph Docker MCP 服务器是一个方便部署的Dockerized解决方案,它集成了Topolograph网络分析平台和一个Model Context Protocol (MCP) 服务器。这个MCP服务器旨在将复杂的网络分析功能以LLM(大型语言模型)友好的方式暴露出来,允许AI代理通过标准化的JSON-RPC协议访问Topolograph的各项能力,例如网络拓扑分析、路径计算和设备状态监控。

主要功能点

  • 网络拓扑分析: 获取并分析网络设备的连接关系和整体拓扑结构。
  • OSPF/IS-IS事件监控: 实时监控路由协议(OSPF、IS-IS)相关的事件和状态变化。
  • 路径计算与备份路径分析: 计算网络中的数据传输路径,并分析其备份路径以增强网络弹性。
  • 图状态与连接监控: 监控网络拓扑图的实时状态和设备间的连接情况。
  • 节点与边缘查询: 对网络拓扑中的特定节点(设备)和边缘(连接)进行详细查询。
  • LLM集成: 通过MCP协议,使得大型语言模型能够直接调用上述网络分析功能。

安装步骤

  1. 安装Docker Desktop: 确保您的Windows/Mac系统已安装Docker Desktop。
  2. 克隆仓库:
    git clone https://github.com/Vadims06/topolograph-docker.git
    cd topolograph-docker
  3. 启动服务:
    docker-compose pull
    docker-compose up -d
    或者使用安装脚本:
    sudo ./install.sh
    或者
    curl -O https://raw.githubusercontent.com/Vadims06/topolograph-docker/master/install.sh
    chmod +x install.sh
    sudo ./install.sh
  4. 等待几分钟,Topolograph网站将可在 'http://localhost:8080/' 访问。MCP服务器将在 'http://localhost:8000/mcp' 可用。

服务器配置 (供MCP客户端使用)

MCP客户端需要配置与MCP服务器建立连接的参数。由于此MCP服务器是通过Docker部署并以HTTP服务形式提供的,MCP客户端通常通过网络地址连接,而非直接启动一个进程。

这是一个JSON格式的配置示例,供MCP客户端参考:

{
  "server_name": "Topolograph MCP Server",
  "connection_type": "http_json_rpc",
  "host": "localhost",
  "port": 8000,
  "path": "/mcp",
  "authentication": {
    "type": "api_token",
    "username_env_var": "TOPOLOGRAPH_WEB_API_USERNAME_EMAIL",
    "password_env_var": "TOPOLOGRAPH_WEB_API_PASSWORD"
  },
  "description": "连接到Topolograph的MCP服务器,以利用其网络分析工具。",
  "tools_offered": [
    "网络拓扑分析 (Network topology analysis)",
    "OSPF/IS-IS事件监控 (OSPF/IS-IS event monitoring)",
    "路径计算和备份路径分析 (Path calculation and backup path analysis)",
    "图状态和连接监控 (Graph status and connectivity monitoring)",
    "节点和边缘查询 (Node and edge queries)"
  ],
  "env_vars_needed": [
    "TOPOLOGRAPH_WEB_API_USERNAME_EMAIL",
    "TOPOLOGRAPH_WEB_API_PASSWORD"
  ],
  "notes": "此配置用于连接一个已通过Docker部署并运行的MCP服务器。由于这是一个HTTP服务,客户端通常无需提供'command'和'args'来启动服务器,而是直接连接到指定的'host'和'port'。服务器需外部管理(例如,通过运行'docker-compose up -d'命令)。身份验证需依赖环境变量中提供的Topolograph API凭据。"
}
  • 'server_name': 服务器的显示名称。
  • 'connection_type': 连接类型,此处为HTTP JSON-RPC。
  • 'host': MCP服务器所在的主机地址,默认为 'localhost'。
  • 'port': MCP服务器监听的端口,默认为 '8000'。
  • 'path': MCP服务器的API路径,默认为 '/mcp'。
  • 'authentication': 认证信息,此服务器支持API token认证,需要通过环境变量提供用户名和密码。
  • 'description': 服务器功能简介。
  • 'tools_offered': 服务器提供的主要工具列表。
  • 'env_vars_needed': 连接此服务器所需的关键环境变量。
  • 'notes': 其他重要说明。

基本使用方法

一旦MCP服务器成功运行,并提供正确的认证信息,AI代理或LLM客户端即可通过JSON-RPC请求与 'http://localhost:8000/mcp' 端点进行交互。例如,客户端可以发送JSON-RPC请求来调用特定的网络分析工具,如获取网络拓扑信息或计算特定路径。

具体的MCP请求和响应格式将遵循MCP协议规范,允许LLM理解并执行网络分析任务。例如,一个LLM可能会请求调用一个名为'get_network_topology'的工具,并接收返回的结构化网络数据。

信息

分类

开发者工具