Promptly MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • Promptly MCP 服务器是一套基于 MCP 的后端,核心职责是在统一接口下向 LLM 客户端暴露对话上下文、工具以及提示模板等能力。服务器记录对话,将会话数据持久化到本地 SQLite 数据库,支持在本地或云端环境中运行。
  • 主要功能点

    • MCP 服务端:实现 MCP 的核心通信,注册并暴露工具、资源和提示相关能力。
    • 工具与会话管理:提供用于开始日志记录、记录对话轮次、查看状态、结束会话等工具(如 promptly_start、promptly_log、promptly_status、promptly_finish)。
    • 本地持久化:使用本地缓存与 SQLite 数据库保存未上传的会话数据,完成后可写入本地数据库。
    • 传输与协议:通过 JSON-RPC 进行通信,当前实现基于 Stdio 传输,具备未来扩展到 SSE、WebSocket 的设计能力。
    • 易用性设计:CLI/工具链与 MCP 服务器协同工作,支持开发者在本地环境进行对话上下文管理与学习分析。
  • 安装与运行步骤

    • 先决条件:Node.js 环境,具备 TypeScript 构建能力(项目使用 pnpm、Turborepo 等工具)。
    • 构建与安装
      • 在仓库根目录执行依赖安装与构建,确保所有包编译通过。
      • 构建完成后,可以通过 MCP 客户端以指定的启动命令连接该 MCP 服务器。
    • 运行方式(两种常见方式)
      • 本地开发/测试:通过 MCP 客户端以 Stdio 传输连接服务器,客户端只需传入 server 名称、启动命令与参数即可建立连接。
      • 生产/发布:将 MCP 服务器打包并通过 nodemon/PM2 等进程管理器运行,或按仓库提供的 npx 方案直接启动。
    • MCP 客户端连接示意(简述,无代码)
      • 客户端需要提供一个启动命令及参数来启动 MCP 服务器进程,服务器将通过 JSON-RPC 接收请求并返回响应。
      • 服务器名称为 promptly,版本信息为 0.1.0,传输为 Stdio(当前实现)并可扩展到其他传输层。
  • 服务器配置(MCP 客户端需要的 JSON 配置示例描述) 字段说明:

    • serverName: MCP 服务器的唯一名称。来自仓库信息,设为 "promptly"。
    • command: 启动 MCP 服务器的命令。当前实现以 Node.js 入口启动,常见取值为 "node"。
    • args: 启动 MCP 服务器的参数,通常包含入口脚本路径(如入口编译输出 dist/index.js 的实际路径)。
    • transport(可选): 传输协议,当前实现为 STDIO,后续可扩展为 SSE/WebSocket 等。
    • version(可选): 服务器版本,建议填写为 0.1.0,与代码中的版本信息相符。

    具体配置示例(描述性文本,不包含实际路径,客户端需要将路径替换为真实入口): { "serverName": "promptly", "command": "node", "args": ["<path-to-entrypoint>/packages/mcp-server/dist/index.js"] }

    配置说明:上述字段用于 MCP 客户端在与 Promptly MCP 服务器建立连接时知道如何启动服务器进程、以及服务器的识别信息。实际部署中,请将入口脚本路径替换为你本地或部署环境中 MCP 服务器的打包输出路径。

  • 基本使用方法

    • 启动与连接:通过 MCP 客户端命令启动并连接到 Promptly MCP 服务器,发送对话日志、工具调用、以及状态查询等请求。
    • 日志与持久化:服务器将对话轮次写入本地缓冲区,完成后可将数据持久化到 SQLite 数据库,便于离线分析与仪表盘展示。
    • 安全与扩展:当前实现通过本地传输通道与 JSON-RPC 进行通信,后续可扩展到安全传输(如 TLS、鉴权)及更多传输协议。
  • 运行后的使用场景

    • LLM 客户端在对话中调用工具、读取资源、获取 Prompts 等能力,均通过 MCP 服务端提供的工具暴露进行。
    • 支持本地 Dashboard 的数据源,通过 Promptly 的前端仪表盘查看会话、统计与成本估算等信息(若结合仪表盘实现)。

服务器信息