Software Factory MCP Server

使用说明内容(Markdown格式)

  • 项目简介

    • 该项目实现了基于 MCP(Model Context Protocol)的服务端框架,核心职责是对 LLM 客户端暴露统一的上下文资源、可调用工具、以及可渲染的 Prompt 模板,采用 JSON-RPC 形式通信,支持多传输协议,确保会话管理、能力声明与扩展性。
  • 主要功能点

    • 资源(Resource)托管与数据访问:提供对后端数据与知識片段的统一访问入口,供 LLM 进行上下文检索与引用。
    • 工具(Tools)注册与执行:注册、发现并执行外部功能/工具,LLM 通过工具调用来扩展能力。
    • Prompt 模板(Prompts)定义与渲染:提供可定制的 Prompt 模板及渲染机制,支持不同交互模式下的上下文渲染。
    • JSON-RPC 通信:客户端通过标准的 JSON-RPC 请求与服务器交互,获取资源、执行工具、获取 Prompts 等。
    • 会话管理与能力声明:对会话进行跟踪与权限控制,明确服务能力范围。
    • 多传输协议支持:支持 SSE、WebSocket、StdIO 等传输方式,确保在不同环境中都能高效传输流式数据与事件通知。
    • 安全与可扩展性:RBAC/认证、日志、可观测性与分布式部署能力,适合多节点部署和横向扩展。
  • 安装步骤

    • 准备环境:确保系统上安装了 Python 3.10+、所需依赖(按仓库的 requirements 文件安装,例如 platform/requirements.txt 等)。
    • 安装依赖:在根目录执行依赖安装(如 pip install -r platform/requirements.txt,若有其他子模块则按各自要求安装)。
    • 启动 MCP 服务器:运行平台中与 MCP 服务相关的启动入口,例如通过执行模块方式启动 MCP 服务器(示例:python3 -m platform.mcp_platform.server)。默认端口一般为 9500 左右,具体请以实际配置为准;服务器启动后应暴露健康端点用于自检。
    • 健康自检:通过 GET /health 或类似健康端点检查 MCP 服务是否就绪。
    • 客户端连接:MCP 客户端需要的不是代码实现,而是通过提供的配置(见下面的“服务器配置”JSON)指向 MCP 服务器的地址与端点进行对接。
  • 服务器配置(MCP 客户端角度的描述)

    • 说明:以下 JSON 配置用于 MCP 客户端连接并与 MCP 服务器进行交互。该配置属于客户端连接信息,服务器端无需直接使用本配置,但客户端需要参照该格式来建立与 MCP 服务器的连接。
    • 服务器名称(server_name):software-factory-mcp
    • 启动命令(command):python3
    • 启动参数(args):[ "-m", "platform.mcp_platform.server", "--port", "9500" ]
    • 注释与用途:
      • server_name 表示 MCP 服务端标识,便于客户端在日志与监控中区分。
      • command 与 args 描述了如何启动 MCP 服务器进程及其运行端口,确保客户端在对接时能够定位到正确的健康端点与 RPC 服务入口。
      • 实际部署中,端口与启动参数可能因环境(本地、容器、云端)而异,请将端口与工作路径调整为实际环境所需。
    • JSON 示例(结构说明,不包含代码块): { "server_name": "software-factory-mcp", "command": "python3", "args": ["-m", "platform.mcp_platform.server", "--port", "9500"], "notes": "MCP 服务器监听健康端点 /health,提供资源、工具与 prompts 的 JSON-RPC 服务。实际环境中请按部署脚本调整端口与工作目录。" }
  • 基本使用方法

    • 启动与健康
      • 启动 MCP 服务器后,确保健康端点返回 200,表示服务器就绪,可以开始与 MCP 客户端建立连接。
    • 客户端交互
      • 客户端通过 JSON-RPC 向 MCP 服务器请求资源读取、工具调用、Prompt 获取等能力,并获取 JSON-RPC 响应。
    • 会话与权限
      • MCP 服务器应维护会话状态、能力声明,并基于角色进行访问控制,保证资源与工具的安全使用。
    • 维护与扩展
      • 服务器应支持热加载工具、Prompts 与资源的更新,且具备日志与监控能力,便于追踪成本、延迟与安全事件。
  • 备注

    • 仓库内存在对 MCP 服务的引用与对接实现(如 platform.mcp_platform.server、MCP 工具列表等),可用于在生产环境中搭建完整的 MCP 服务端与客户端协作体系。

服务器信息