Dorabot: 基于 MCP 的工具服务器实现

使用说明

  • 项目简介

    • dorabot 提供一个 MCP 服务器实现,核心在于通过 Claude SDK 的 createSdkMcpServer 将 Dorabot 内置的工具集合暴露为 MCP 服务,便于 LLM 客户端调用外部功能(如浏览器、日历、记忆、计划、任务等)并获取结果。
  • 主要功能点

    • MCP 服务能力:将 Dorabot 的工具集合以 MCP 服务器形式对外暴露,LLM 客户端可通过标准的 JSON-RPC 请求读取工具、执行工具、并获取结果。
    • 服务器端集成:通过 Dorabot 的 gateway/agent 运行时,将 MCP 服务器嵌入在工具入口中,确保工具调用、资源访问和 prompts 流程在统一框架内工作。
    • 工具生态:已内置多种工具如 messaging、screenshot、browser、calendar、goals、tasks、research、memory 等,具备扩展能力。
    • 与模型对接:支持 Claude/Codex 等模型的 MCP 工作流,在服务端处理工具调用、工具结果、以及任务分流。
  • 安装步骤

    • 克隆仓库并安装依赖
    • 构建或运行 Dorabot 的服务,在运行 Dorabot 的主进程时,内置的 MCP 服务就会被暴露给客户端
    • 以 MCP 客户端的身份连接 Dorabot 的 MCP 服务,并使用其提供的工具进行交互
  • 服务器配置(MCP 客户端需要的最小信息)

    • 说明:以下配置用于 MCP 客户端启动一个服务器实例,用于连接并访问 Dorabot 暴露的工具集合。此处 serverName 为 Dorabot 暴露的工具服务器名称,command/args 指定启动入口。注:仓库实现将 MCP 服务器嵌入在 Dorabot 的运行时组件中,若以独立进程启动,需要将 Dorabot 的入口按实际部署暴露出来;下列示例仅用于说明客户端配置结构。
    • 配置示例(JSON,字段含义在注释中给出): { "serverName": "dorabot-tools", "type": "stdio", "command": "node", "args": ["path/to/dorabot-tools-entry.js"], "env": { "DORABOT_GATEWAY": "1" }, "notes": "Dorabot 内置的 MCP 服务通过工具集合暴露;若要独立启动,请将入口脚本路径替换为实际部署位置。MDP 客户端仅需此配置信息以建立连接。" }
  • 基本使用方法

    • 启动后,MCP 客户端发送标准的 JSON-RPC 请求,包含对资源、工具的读取、调用以及提示模板等操作,并获取 JSON-RPC 响应。
    • Dorabot 的 MCP 服务整合了多种工具,客户端可通过 RPC 调用工具进行任务执行,获取结果与上下文。
  • 其他说明

    • MCP 的核心能力在于将工具集合以标准化接口暴露,便于 LLM 进行组合调用。
    • 该实现还与 Dorabot 的网关、会话、浏览器、日历、 memory 等模块深度整合,具备较强的实际应用能力。

服务器信息