SideButton MCP 服务器

使用说明(Markdown 格式)

  • 项目简介
    • SideButton MCP 服务器是一个完整的后端实现,遵循 MCP 规范,提供资源管理、工具注册与执行、以及提示模板的渲染与渲染上下文管理,供 LLM 客户端以标准化方式查询与执行。
  • 主要功能点
    • MCP 核心能力
      • 通过 /mcp 提供基于事件驱动的 JSON-RPC 交互,支持 initialize、tools/read、tools/call、resources/list、resources/read、以及其他扩展能力等。
      • 支持多种传输:stdio( Claude Desktop 适配)、SSE(流式传输)、以及后续 REST/ WebSocket 形式的扩展。
    • 资源与工具
      • 管理并暴露 Resources(资源)与 Tools(工具)的读取、执行与查询。
    • 工具与工作流
      • 提供对工作流、动作、模板的读取、执行、日志与状态查询,支持嵌套工作流、异常处理和重试策略。
    • 会话与安全
      • 会话管理、能力声明、以及对外部 MCP 的代理与拓展能力(如外部 MCP 配置、代理执行等)。
    • 兼容性与扩展性
      • 兼容标准的 MCP 协议版本与 Last-Event-ID 的恢复机制,具备基本的容错与重连支持。
  • 安装步骤
    • 依赖安装:按仓库根部提供的通用安装方法安装依赖(如 pnpm install、pnpm build、pnpm start 等)。
    • 编译与启动:构建后端与前端,启动 MCP 服务器,默认监听端口为 9876。
  • 服务器配置(MCP 客户端连接配置示例)
    • MCP 客户端连接方式分为两种常用场景,以下配置示例仅供参考,不代表代码实现细节:
    • 方案 A:Claude Desktop 使用 stdio 传输
      • 服务器名称(name):sidebutton
      • 启动命令(command):npx
      • 启动参数(args):["sidebutton", "--stdio"]
      • 说明:通过 Claude Desktop 的 stdio 模式与 MCP 服务器进行 JSON-RPC 通信,适合本地开发与离线使用。
    • 方案 B:Claude Code、Cursor 等使用 SSE/ HTTP 传输
      • 服务器名称(name):sidebutton
      • 传输类型(type):sse
      • 服务器地址(url):http://localhost:9876/mcp
      • 说明:通过 SSE 传输以 JSON-RPC 方式与服务器交互,适合持续会话和服务器端推送。
    • 备注
      • MCP 服务器在默认端口 9876 提供多种入口:/mcp(SSE/HTTP 串流)、/health、/api/*(REST 相关扩展)以及对外的 /ws/dashboard(仪表盘实时事件推送)等。
      • 客户端配置应以 JSON 文本形式提供给 MCP 客户端工具或代理,包含 server name、command、args(如上两种方案的示例),以便自动化连接与恢复。
  • 基本使用方法
    • 启动与连接:启动服务器后,LLM 客户端可通过配置将 MCP 服务器作为上下文提供者,按需要读取资源、执行工具、获取或执行工作流等。
    • 会话与重连:服务器实现了简单的会话管理和消息缓冲,确保断线后能够恢复未完成的请求。
    • 安全性:如需对外暴露,建议通过授权中间件进行访问控制,避免未授权访问。

服务器信息