Blogging Desktop Server (bDS) - MCP Backend

使用说明(简要且易操作)

  • 项目简介

    • bDS 提供一个基于 MCP 的后端服务器,实现资源、工具、Prompt 的托管与渲染,并通过 JSON-RPC 与 LLM 客户端通信。服务器核心包含资源管理、工具注册/执行、Prompt 模板渲染,以及会话与能力声明等功能,旨在为 LLM 应用提供可扩展的上下文服务。
  • 主要功能点

    • MCP 服务器核心:处理 MCP 请求与响应,提供统一的 JSON-RPC 通信。
    • 资源管理:托管与访问资源(如 posts、media、templates 等),提供数据访问和状态管理。
    • 工具注册与执行:注册外部工具,LLM 客户端可以调用以完成外部任务。
    • Prompt 模板:渲染和管理可定制的 Prompt 模板,支持多种交互模式。
    • 多传输协议支持:包含 Standalone 的 stdio 服务,以及与 Electron 集成的 HTTP/SSE/WebSocket 传输能力。
    • 会话与能力声明:服务器端维护会话、能力声明,以及自动配置到常用模型代理/客户端。
    • 与本地 Electron 应用协同:在桌面端应用中实现 MCP 服务端,并可通过 CLI 独立运行。
  • 安装步骤

    • 先决条件:Node.js 18+,npm/yarn。
    • 安装依赖:在项目根目录执行安装命令安装所需依赖。
    • 构建与运行 MCP stdio 服务器(独立 CLI 版本)
      • 构建 MCP CLI 包(会输出 dist/cli/bds-mcp.cjs)
      • 使用 Node 启动 Standalone MCP stdio 服务器:
        • node dist/cli/bds-mcp.cjs
      • 该 stdio 服务器与 Electron 运行时分离,可在无 UI 的环境下作为后端服务使用。
    • 通过 Electron 版应用启动时,MCP 服务器也可通过 Electron 打包的 CLI 形式运行,形成桌面端 MCP 服务端。
  • 服务器配置(供 MCP 客户端使用的配置示例) 注意:以下为可用于 MCP 客户端连接的 JSON 配置示例。每个服务器条目包含服务器名称、启动命令、参数和环境信息,帮助 MCP 客户端正确启动并连接到 MCP 服务器。请根据实际部署环境替换路径与参数。

    { "servers": [ { "name": "bDS", "transport": "stdio", "command": "/path/to/electron", "args": ["/path/to/bds-mcp.cjs"], "env": { "ELECTRON_RUN_AS_NODE": "1" } // 说明:这是用于标准输入/输出的 MCP 服务器运行配置。name 为 MCP 服务器实例标识,命令与参数指向用于启动 MCP 的 CLI 脚本。 }, { "name": "bDS-desktop", "transport": "stdio", "command": "/path/to/electron", "args": ["/path/to/bds-mcp.cjs"], "env": { "ELECTRON_RUN_AS_NODE": "1" } // 说明:同一个 MCP 服务器在不同客户端可复用,以上为桌面端示例。 } ] }

  • 基本使用方法

    • 启动 MCP 服务:按照上面的安装步骤,启动 Standalone MCP stdio 服务器,确保端口与传输通道就绪。
    • 客户端连接:使用配置中的 server 界面信息,提供 server 名称、启动命令、启动参数等,客户端即可通过 JSON-RPC 与 MCP 服务器进行资源读取、工具调用、模板渲染等操作。
    • 运行与扩展:如需扩展 Tool/Resource/Prompt,请在服务器端注册新工具、添加资源、定义新的 Prompt 模板,客户端即可通过标准化接口使用。

服务器信息