AutoForge MCP 服务端

使用说明(Markdown 格式)

  • 项目简介

    • AutoForge 将 MCP 服务端作为后端核心,负责资源(Resource)管理、工具(Tools)注册与执行、Prompt 模板的定义与渲染,并通过 JSON-RPC/WebSocket 等方式与 LLM 客户端通信,提供可扩展的上下文服务框架。
    • 服务器侧实现包括:资源与工具暴露、Prompts 的加载与渲染、会话管理、以及对多种传输协议的支持等核心能力,旨在为 LLM 客户端提供一致、可扩展的上下文与功能能力。
  • 主要功能点

    • 资源与数据访问:托管并管理 Resources,提供对应用数据的统一访问能力。
    • 工具注册与执行:注册可调用的外部工具并执行,支持 LLM 调用外部功能。
    • Prompt 模板定义与渲染:加载并渲染初始化和编码阶段的提示模板,支持按需替换特定特征。
    • MCP 服务入口与工具集:提供按角色划分的工具集合,确保按需暴露给不同 Agent 的能力。
    • 会话与能力声明:对话会话管理、能力声明以及对多种传输协议的支持(如 Stdio、SSE、WebSocket)。
    • 安全与沙箱:通过策略与命令校验,限制外部命令执行,提供防护与日志能力。
    • 监控与扩展:内置日志和状态事件,便于集成监控与调试。
  • 安装步骤

    • 确认环境:Python 3.11+,以及 Node.js/前端环境如需使用 UI。
    • 安装依赖(Python):在仓库根目录执行安装,确保依赖就绪。
    • 启动 MCP 服务器:
      • 使用命令启动 MCP 服务端模块(示例):
        • python -m mcp_server.feature_mcp
      • 如果有特定工作目录/环境变量,请按照项目文档设置。
    • 客户端连接配置(见下方“服务器配置”示例):
      • 客户端需要指向 MCP 服务器的启动命令与参数,以建立连接(详细配置见下方的 JSON 示例)。
  • 服务器配置(MCP 客户端需要的配置示例) 说明:以下 JSON 配置用于 MCP 客户端与服务端建立连接的示例,包含服务器名称、启动命令、参数,以及可选的工作目录和环境变量注释。实际使用时,请按你们的部署环境替换路径与参数。

    { "server_name": "AutoForge Feature MCP Server", "command": "python", "args": ["-m", "mcp_server.feature_mcp"], "working_directory": "/path/to/repo", "env": { "PROJECT_DIR": "/path/to/project", // 服务器用于定位项目资源的工作目录(如需要) "PYTHONPATH": "/path/to/repo" // 将仓库根加入 Python 模块搜索路径 } // 说明: // - server_name:用于标识 MCP 服务器的名称,便于在多服务器场景中区分。 // - command、args:用于启动 MCP 服务器的命令与参数。此处以 "python -m mcp_server.feature_mcp" 为例,实际路径请以仓库结构为准。 // - working_directory:执行时的工作目录,通常设为仓库根或服务器部署目录。 // - env:可选的环境变量,用以向 MCP 服务器注入配置信息(如目标项目目录、API 端点等)。 }

  • 基本使用方法

    • 启动:按照上述启动命令启动 MCP 服务器,确保服务器能正确加载资源、工具与 Prompts。
    • 配置:确保 MCP 客户端正确配置 server_name、command、args 等字段,以便建立连接并获取服务能力。
    • 交互:通过客户端向 MCP 服务器发送 JSON-RPC 风格请求,执行资源读取、工具调用、Prompt 获取等操作,服务器返回相应的 JSON-RPC 响应或通知。
    • 安全与扩展:结合仓库中的 security 策略,可在 server 端对命令和工具进行校验,客户端按需调用暴露的工具集与资源。
  • 其他注意

    • 该仓库同时包含前端 UI、示例脚本、以及完整的后端服务端实现,核心 MCP 相关模块在 mcp_server 目录下,请以该部分为主进行接入与二次开发。

服务器信息