bun-actionhero

使用说明

  • 项目简介
    • 这是一个用 Bun 编写的 ActionHero 风格后端框架的现代重写,其中核心能力包括:将 Action 统一为可通过 HTTP、WebSocket、CLI、后台任务等多种传输方式访问的“动作”,并将所有动作自动暴露为可被 AI 客户端(通过 MCP 协议)发现与调用的工具。
    • MCP 部分通过一个专门的初始化器暴露 MCP 服务端,允许 AI 客户端以标准的 MCP 协议请求工具、读取资源和渲染提示模板等。
    • 服务器端实现包含会话管理、认证、速率限制、PubSub、OAuth 等常见后端能力,并对外提供多种传输路径(HTTP、WebSocket、CLI、后台任务)。
  • 主要功能点
    • MCP 功能:把 Actions 自动注册为 MCP 工具、支持鉴权、跨会话管理、MCP 路由与工具执行。
    • 资源、工具与 Prompts 的管理:结合后端数据库(Drizzle ORM)、缓存(Redis)和 PubSub 实现资源与工具的生命周期与广播。
    • 安全与可扩展性:内置速率限制、会话、OAuth、CSRF/CSP 安全头等,具备分布式部署的基础能力。
    • 客户端交互:通过 JSON-RPC 风格的 MCP 交互、以及 WebSocket、HTTP 等传输方式进行通信。
  • 安装步骤
    • 依赖安装:使用 Bun 进行依赖安装(在仓库根目录执行 bun install)。
    • 配置环境:参考 backend/.env 示例,按需设置数据库、Redis、HTTP 服务、MCP 启用开关等。
    • 启动服务:按照仓库的本地开发方式执行(通常使用 bun dev 或 bun run dev 之类的平行启动方式开启后端与前端),确保后端 MCP 服务的开关开启且端口可用。
    • MCP 客户端配置:在你的 MCP 客户端中按需配置服务器地址与访问令牌等,下面给出一个示例配置格式。
  • 服务器配置(MCP 客户端配置示例,JSON 格式,注释性说明在后文) { "serverName": "bun-actionhero", "command": "bun", "args": ["dev"], "description": "启动后端应用并暴露 MCP 服务。若 MCP 启用开关为 true,后端将注册工具并提供 MCP 端点(URL 为 http://<host>:<port>/mcp)。", "endpoint": "http://localhost:8080/mcp", "notes": "MCP 服务端口取决于后端配置,默认路由为 /mcp。客户端需要将 serverName、command、args 与 endpoint 写入配置以建立连接。" } 注:以上 serverName、command、args 仅用于示例,实际部署时请使用你们的服务器名称、启动命令与参数,并将 MCP 服务的 URL 配置给 AI 客户端。
  • 基本使用方法
    • 启动后端:确保 MCP 启用配置生效后,运行后端应用以发布 MCP 服务。
    • 客户端连接:在 MCP 客户端中使用上面的 endpoint 进行连接,认证通过后即可调用工具、查询资源、执行任务等。
    • 运行模式:仓库内实现支持多种传输模式,具体以实际部署的服务器配置为准(示例中多处使用 HTTP/WSS/WebSocket 的组合能力)。

服务器信息