Berry Classic MCP 服务器

使用说明

  • 项目简介
    • Berry 提供一个可本地运行的 Classic MCP 服务器实现,面向 LLM 客户端(如 Cursor、Claude Code、Codex、Gemini CLI 等)提供上下文信息、工具执行能力以及提示模板渲染等核心能力。
    • 经典表面(Classic)包含核心验证工具、跑步(Run)/证据跨度(Span)管理等最小集,避免开放式的广泛工具集合。
  • 主要功能点
    • 核心工具集:start_run、load_run、get_deliverable、add_span、add_file_span、list_spans、get_span、search_spans、distill_span、以及用于证据管理和运行控制的接口。
    • 证据与运行存储:将 runs、spans、deliverables 等状态持久化到磁盘,支持重启后继续工作。
    • 资源与提示:暴露促发器(prompts)用于工作流(如 verify、plan 与验证等),并通过工具执行的方式让 LLM 调用实现。
    • 安全与策略:通过配置和权限模型进行基本的只读/写控制、基础的环境注入、以及对敏感信息的处理(审计日志、脱敏等)。
    • 与 K8s 服务的互通:核心验证工具通过 K8s 服务进行集中化预算与验证(可选的远程执行路径)。
  • 安装步骤
    • 使用开发环境直接运行(推荐开发时):在仓库根目录执行安装并运行。
    • 运行方式示例(在仓库内直接启动 Classic MCP surface):
      • 通过 Python 模块运行:python -m berry.mcp_server --transport stdio --project-root <你的项目根目录>
      • 运行后,Berry 将以 Classic Surface 对外提供一组工具,客户端可以通过 MCP 连接并调用。
  • 服务器配置(给 MCP 客户端的配置示例,说明用途和字段)
    • 服务器名称(server name): berry
    • 启动命令(command): berry
    • 参数(args): ["mcp", "--server", "classic"]
    • 环境变量(env: 可选): 由 load_mcp_env() 组合而来,通常包含用于 OpenAI/ verifier 的键值对(如 OPENAI_API_KEY、OPENAI_BASE_URL、BERRY_SERVICE_URL 等),具体由运行环境的 mcp_env.json 和环境变量共同决定。
    • 该配置信息以 json 形式呈现,示例说明如下(请注意以下为描述性文本,实际客户端配置通常以 json 文件形式呈现): { "serverName": "berry", "command": "berry", "args": ["mcp", "--server", "classic"], "env": { "OPENAI_API_KEY": "你的 OpenAI API Key(若使用 OpenAI 后端才需要)", "OPENAI_BASE_URL": "若使用自定义基础地址,请设置;否则可省略", "BERRY_SERVICE_URL": "Berry 验证/预算中间件服务地址(如 http://52.191.234.157:8000)" } } 注释说明
    • serverName 对应 MCP 客户端在服务端注册的标识,Berry 的实现默认使用 berry 作为名称。
    • command/args 指定了启动 MCP 服务的可执行入口和启动参数,客户端据此建立连接并通过 JSON-RPC 调用服务。
    • env 字段用于注入客户端启动时需要的环境变量,尤其是验证与预算中间件的访问所需密钥与 URL。
  • 基本使用方法
    • 启动后,客户端应以 JSON-RPC 的方式向 Berry Classic 表面发起请求,进行资源查询、工具调用、以及提示模板的获取等操作。
    • 客户端需要在本地配置好服务器名称、启动命令和参数,以便在 MCP 客户端中建立连接并执行相应请求。
    • 运行过程中,Berry 会管理会话、记录运行、以及为后续复现提供持久化数据。

服务器信息