项目简介
Topolograph Docker MCP 服务器是一个方便部署的Dockerized解决方案,它集成了Topolograph网络分析平台和一个Model Context Protocol (MCP) 服务器。这个MCP服务器旨在将复杂的网络分析功能以LLM(大型语言模型)友好的方式暴露出来,允许AI代理通过标准化的JSON-RPC协议访问Topolograph的各项能力,例如网络拓扑分析、路径计算和设备状态监控。
主要功能点
- 网络拓扑分析: 获取并分析网络设备的连接关系和整体拓扑结构。
- OSPF/IS-IS事件监控: 实时监控路由协议(OSPF、IS-IS)相关的事件和状态变化。
- 路径计算与备份路径分析: 计算网络中的数据传输路径,并分析其备份路径以增强网络弹性。
- 图状态与连接监控: 监控网络拓扑图的实时状态和设备间的连接情况。
- 节点与边缘查询: 对网络拓扑中的特定节点(设备)和边缘(连接)进行详细查询。
- LLM集成: 通过MCP协议,使得大型语言模型能够直接调用上述网络分析功能。
安装步骤
- 安装Docker Desktop: 确保您的Windows/Mac系统已安装Docker Desktop。
- 克隆仓库:
git clone https://github.com/Vadims06/topolograph-docker.git cd topolograph-docker - 启动服务:
或者使用安装脚本:docker-compose pull docker-compose up -d
或者sudo ./install.shcurl -O https://raw.githubusercontent.com/Vadims06/topolograph-docker/master/install.sh chmod +x install.sh sudo ./install.sh - 等待几分钟,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'的工具,并接收返回的结构化网络数据。
信息
分类
开发者工具