Crow MCP Toolserver

使用说明(Markdown 格式)

  • 项目简介

    • Crow MCP Toolserver 是 Crow 项目中的后端服务,用于向基于模型的客户端提供资源访问、外部工具执行以及提示模板渲染等能力。它实现 MCP 协议的核心能力,允许客户端通过 JSON-RPC 调用读取资源、调用工具以及获取并渲染 Prompts。
  • 主要功能点

    • 资源与数据访问:提供对本地文件/资源的读取、写入以及编辑等能力(如 read、write、edit 等工具)。
    • 工具注册与执行:注册多种工具(如 terminal、read、write、edit、web_search、web_fetch 等),支持客户端通过 MCP 调用执行外部功能。
    • 提示模板渲染与渲染结果:提供促成 LLM 对话的系统/提示模板,以及将 ACP 内容块转换为 OpenAI 兼容格式的能力。
    • MCP 协议与服务器端会话管理:实现对 MCP 请求的接收、解析、分发以及响应,具备会话管理和能力声明。
    • 多传输协议支持:设计目标包含 stdo、SSE、WebSocket 等传输方式的支持,以适配不同客户端需求。
  • 安装与运行步骤

    • 安装依赖与准备环境(如 Python 环境、所需依赖库等)。
    • 启动方式示例(基于仓库中的实现思路,实际可能使用 uv/daphne 等执行环境):
      • 通过命令行启动 crow-mcp 服务
        • 例如:uv --project <仓库根目录>/crow-mcp run crow-mcp
      • 或使用本地脚本/包管理工具进行启动
    • 启动后,服务器将暴露 MCP 接口,等待 MCP 客户端连接。
  • 服务器配置(MCP 客户端无需配置,以下为服务器端信息,便于理解与对接)

    • 配置示例(JSON 形式,字段含义说明在后面注释): { "mcpServers": { "crow-mcp": { "transport": "stdio", "command": "uv", "args": ["--project", "<仓库根目录>/crow-mcp", "run", "crow-mcp"], "cwd": "<仓库根目录>/crow-mcp" } // 如果需要更多服务器,可以再追加条目,格式同上 } }
    • 字段说明
      • mcpServers: MCP 服务器集合
      • crow-mcp: 服务器名称
      • transport: 传输协议类型,当前实现中包含 stdio(标准输入输出)等
      • command: 启动服务器的命令
      • args: 启动参数数组,包含项目路径及启动子命令
      • cwd: 服务器工作目录
    • 注:以上配置用于 MCP 客户端在运行时连接 Crow 的内置工具服务器。MCP 客户端需要的仅是连接信息,服务端需要具备可运行性并实现工具、资源、Prompts 的暴露和执行。
  • 基本使用方法

    • 启动 Crow MCP Toolserver,并确保 Crow 主体(Agent/客户端)能够连接到 MCP 服务。
    • 客户端通过 MCP 协议向该服务器发起请求,读取资源、执行工具、获取并渲染 Prompt。服务器返回 JSON-RPC 响应或通知,处理会话、能力声明和工具调用流程。
    • 常用工作流包括:创建会话、读取/写入文件、执行命令、执行网络请求、读取网页内容、以及通过工具实现代码编辑等。
  • 运行与验证要点

    • 确保 crow-mcp 服务器能正确启动并暴露 MCP 接口。
    • 使用 MCP 客户端测试工具(如示例脚本中的 http/stdio/Socket 方式)验证以上工具的可用性。
    • 验证多工具调用的并发执行、工具输出的正确渲染,以及在 ReAct/提示渲染中的兼容性。
  • 其他注意

    • 本实现包含 Terminal、Read、Write、Edit、Web Fetch、Web Search 等工具的后端实现,作为 MCP Toolserver 的核心能力。
    • 项目内也包含了用于视频/图像等扩展能力的模块(如 vision 相关工具),供扩展时使用。

服务器信息