HVE Stem 服务器端 (MCP)
使用说明(Markdown 格式)
-
项目简介
- 该项目实现了一个基于 MCP(Model Context Protocol)的后端服务器,用于向编码代理/LLM 客户端提供“资源访问”“工具注册与执行”和“提示模板渲染”等能力,帮助实现对目标仓库的SDLC评估等任务。
-
主要功能点
- 实现 MCP 协议核心能力:通过 FastMCP 组件暴露服务器、注册工具、暴露资源处理能力,并支持与客户端进行 JSON-RPC 通信与事件通知。
- 提供评估能力入口:实现 assess_repo 工具,允许 MCP 客户端请求对指定仓库进行 SDLC 评估,返回 Markdown 报告文本。
- 资源、工具、Prompts 管理:通过工作区/Stem 结构提供资源访问、外部工具集成、并渲染/返回评测时使用的提示信息。
- 支持本地开发与集成:与 Stem CLI、Web UI、Copilot SDK 等整合,便于在本地开发、CI/CD,以及 Copilot/Coding Agents 场景中使用。
-
安装步骤
- 系统要求:需要 Python 环境,并满足项目的依赖安装要求(如 README 所述的开发依赖/构建流程)。
- 安装方法概览:按照仓库提供的安装与构建说明进行,确保 Python 环境中可直接运行 stem mcp 启动服务器。
-
服务器配置
- MCP 服务器名称:stem
- 启动命令与参数(用于 MCP 客户端配置连接)
- 注:MCP 客户端只需要发送启动服务器所需的命令与参数,服务器端本身不要求在客户端提供敏感信息。下列配置信息用于 MCP 客户端接入 Stem 服务器的示例描述。
JSON 配置(用于 MCP 客户端连接 Stem 服务器的示例描述,不作为代码展示): { "name": "stem", "type": "stdio", "command": "stem", "args": ["mcp"], "tools": ["*"] } 说明:
- name: 服务器名称,客户端在连接时可按此名称识别对应的 MCP 服务器。
- type: 通信传输类型,此实现使用标准输入输出(stdio)形式,便于与本地进程对接。
- command: 启动服务器的命令。
- args: 启动命令的参数,与服务器的子命令配合使用,在本实现中即为 mcp。
- tools: 暴露给 MCP 客户端的工具集,"*" 表示暴露所有公开工具。
-
基本使用方法
- 启动服务器:执行 Stem 的 MCP 启动入口(在实际环境中通常为 stem mcp)。
- 与 MCP 客户端对接:在客户端配置中指定服务器名称 stem、启动命令与参数(如上 JSON 示例),并按需要暴露的工具订阅服务。
- 调用流程示例(简述):客户端通过 MCP 请求调用 assess_repo 工具,传入仓库标识、模型和超时等参数,服务器端接收并执行评估流程,返回 Markdown 报告文本及相关事件流。
- 运行维护:服务器在评估过程中会输出状态、Reasoning、Tool 调用等事件,客户端可通过流式事件获取进度。
-
额外信息
- 该实现与 Stem 的 CLI、Web UI、Copilot SDK 等组件紧密协作,支持在本地开发环境中进行快速迭代和集成测试。