SubNetree MCP 服务器
Markdown 使用说明
-
项目简介 SubNetree 的 MCP 服务器实现提供统一的后端接口,使 LLM 客户端能够以标准化的 JSON-RPC 方式访问和执行“资源”获取、工具调用以及提示模板渲染相关的能力,便于将 SubNetree 的监控与管理能力整合到 AI 驱动的工作流中。
-
主要功能点
- MCP 服务核心:基于 JSON-RPC 的请求/响应模型,通过 stdio 传输与客户端通信。
- 资源托管与访问:提供设备、硬件、服务等资源的数据访问入口,方便 LLM 客户端读取与查询。
- 工具注册与执行:在 MCP 服务器上注册多组工具,LLM 客户端可通过调用工具来查询资源、执行任务,如获取设备信息、硬件摘要、设备查询、服务清单等。
- 与现有子系统对接:通过适配层连接 ReconStore、svcmap 等核心存储,确保工具获取到最新的本地数据。
- 安全与会话:服务器端处理会话上下文,提供能力声明与可扩展的传输能力(当前实现为 StdIO 传输,后续可扩展为 SSE/WebSocket 等)。
-
安装步骤
- 安装与准备
- 需要具备 Go 的开发环境(建议版本 1.18 及以上)。
- 构建 MCP 服务端
- 在仓库根目录执行构建命令,将生成可执行二进制文件。
- 启动 MCP 服务器
- 使用子命令启动 MCP 服务器,采用 stdio 传输以便输出输入与客户端交互。
- 配置 MCP 客户端
- 根据示例配置,提供服务器名称、启动命令及参数等信息,让客户端能够通过启动子进程的方式连接到该 MCP 服务器(客户端配置略)。
- 安装与准备
-
服务器配置(面向 MCP 客户端的配置示例,使用 json 表示) { "server_name": "subnetree-mcp-stdio", "command": "./subnetree", "args": ["mcp"], "transport": "stdio", "description": "SubNetree MCP 服务器,使用 stdio 传输与客户端进行 JSON-RPC 通信" } 注释说明:
- server_name: 该 MCP 服务器在客户端管理中的唯一标识名称。
- command: 启动 MCP 服务器的程序路径,此处应指向已编译得到的 SubNetree 二进制。
- args: 启动参数,此处使用 "mcp" 子命令来启用 stdio 传输的 MCP 服务。
- transport: 指定传输协议,此实现为 stdio(标准输入/输出)传输,便于与本地应用或 Claude Desktop 集成对接。
- description: 简短的服务器描述,便于客户端管理与文档化。
-
基本使用方法
- 第一步:启动 MCP 服务器
- 运行生成的 SubNetree 二进制,带上子命令参数以启用标准输入输出传输的 MCP 服务。
- 第二步:配置 MCP 客户端
- 将上面的服务器配置(server_name、command、args、transport 等字段)写入客户端配置库,确保客户端能够在启动时以指定的启动命令拉起服务器并建立连接。
- 第三步:发送请求
- 客户端通过 JSON-RPC 的格式向服务器发送请求,例如请求资源数据、调用工具、请求硬件摘要等,服务器返回相应的 JSON-RPC 响应。
- 第四步:扩展与维护
- 服务器支持多种传输协议的扩展(当前实现为 stdio,未来可扩展到 SSE/WebSocket),客户端可根据需要在配置中调整传输模式。
- 第一步:启动 MCP 服务器
-
备注
- MCP 服务器的实现核心在于将 SubNetree 的资源与工具以标准化方式暴露给 LLM 客户端,便于在 AI 驱动的工作流中进行上下文提供和能力调用。