Software Factory MCP Server
使用说明内容(Markdown格式)
-
项目简介
- 该仓库实现了面向 MCP 的服务器端框架,核心职责是以标准化的 JSON-RPC 方式向 LLM 客户端提供上下文信息、资源数据、工具执行能力以及 Prompt 模板的渲染能力,并支持会话管理、能力声明与多种传输协议信息的对接。
-
主要功能点
- 资源管理:托管与查询可供 LLM 访问的数据资源(Resources)。
- 工具注册与执行:注册外部工具并允许 LLM 客户端通过 MCP 调用执行。
- Prompt 模板定义与渲染:提供可定制的 Prompt 模板,渲染后回传给客户端用于对话/推理。
- JSON-RPC 通信:通过标准的 JSON-RPC 进行请求/响应,统一格式化调用。
- 会话与能力声明:维护会话上下文、能力对外声明,并支持越发丰富的能力描述。
- 多传输协议支持:平台可在不同传输通道(如 STDIO、SSE、WebSocket 等)中提供 MCP 服务能力。
- 安全与扩展性:在服务器端实现可扩展的资源、工具与 Prompt 管理,便于后续扩展与安全加固。
-
安装步骤
- 克隆仓库并进入项目根目录。
- 安装依赖(如 Python 及所需的第三方库)。
- 启动 MCP 服务器(示例命令):
- 通过 Python 模块方式启动 MCP 服务器:执行 python3 -m platform.mcp_platform.server
- 服务器启动后,默认端口可能为 9501,请按实际部署配置对接。
-
服务器配置(供 MCP 客户端使用的配置 JSON 示例) 注:MCP 客户端不需要的部分请忽略,以下配置用于描述如何让客户端知道如何连接 MCP 服务器与参数信息。 { "server_name": "software-factory-mcp", "command": "python3", "args": ["-m", "platform.mcp_platform.server", "--port", "9501"], "description": "Software Factory MCP 服务端,提供资源、工具与 Prompt 的 MCP 接口" // 端口、路径及其他环境变量按实际部署调整 }
-
基本使用方法
- 启动服务器后,客户端通过 JSON-RPC 请求向 MCP 服务器提交以下类型的请求:
- 读取资源(Resources)
- 注册与调用工具(Tools)
- 获取与渲染 Prompt 模板(Prompts)
- 服务器将返回标准的 JSON-RPC 响应,并在必要时通过 SSE/WebSocket 等通道发送通知。
- 开发者可通过查看日志与健康接口监控 MCP 服务状态与性能。
- 启动服务器后,客户端通过 JSON-RPC 请求向 MCP 服务器提交以下类型的请求:
-
设计要点与集成要点
- MCP 接口设计应保持向后兼容,方便多版本客户端对接。 支持通过不同传输协议暴露 MCP 服务,以便 LLM 客户端在不同环境下稳定工作。 服务器端应实现会话创建、资源与工具的注册、以及对工具执行的安全控制。