RemNote MCP 服务器(CLI 守护进程实现)
使用说明(Markdown 格式)
- 项目简介
- 本仓库实现了一个 RemNote MCP 风格的后端服务器组件(CLI 守护进程),用于在 RemNote 插件与 MCP 客户端之间处理中枢化请求。通过一个 WebSocket 服务器与 RemNote 插件建立长期连接,另一方面提供一个本地 HTTP 控制接口,供 MCP 客户端通过 JSON 结构化请求来操作 RemNote 中的笔记、搜索、日志等功能。
- 主要功能点
- 与 RemNote 插件的桥接
- 通过 WebSocket 连接插件,发送请求并等待插件返回结果。
- 实现 Bridge 风格消息:BridgeRequest、BridgeResponse,以及 Hello/Ping/Pong 等控制消息。
- 支持通过 id 关联请求与响应,带有请求超时和连接丢失的错误处理。
- 在 get_status 返回中附带 CLI 版本与桥接版本信息,并在版本不一致时发出警告。
- 控制 API(HTTP)
- GET /health:返回服务器运行状态、PID、端口、是否与桥接连接等信息。
- POST /execute:接收 action 与 payload,转发给 WebSocketBridge,并返回执行结果;对 get_status 等请求进行版本信息的额外整合。
- POST /shutdown:请求干净关闭服务。
- 会话与版本对齐
- 客户端(MCP 客户端)与 RemNote 插件版本对齐检查,提供 version_warning 字段(必要时提示版本不一致)。
- 容错与安全
- 单一客户端连接模型,拒绝多端连接;请求超时与连接丢失时返回明确错误。
- 运行与运维
- 提供守护进程(daemon)模式、PID 文件、日志文件管理,以及以 foreground/background 方式运行的能力。
- 通过守护进程生命周期实现对服务器的启动/停止/状态获取。
- 安装与运行步骤
- 系统要求
- Node.js 18+。
- 安装
- 使用命令行全局安装(如 README 所述的 RemNote CLI 组件)。
- 启动服务器
- 启动 RemNote MCP 守护进程(daemon),通常通过 remnote-cli daemon start 命令。默认端口:WebSocket 3002、控制端口 3100,可通过参数自定义。
- 连接与测试
- 需在 RemNote 客户端中安装 RemNote Automation Bridge 插件,并确保插件可与 本仓库实现的守护进程通过 WebSocket 通信。
- 通过 remnote-cli 的其他命令(如 create/read/search)进行演示与测试。
- 配置与调试
- 日志等级、日志文件、前台/后台模式等选项可根据需求调整,进程管理、PID 文件和健康检查均已实现。
- 服务器配置(MCP 客户端配置示例,JSON 格式) 下列配置用于说明 MCP 客户端如何连接到本仓库实现的 MCP 服务器。请注意客户端本身并不需要改动,这里给出服务器端可用的配置信息示例,便于理解连接参数。
{ "serverName": "RemNote MCP Server (CLI Daemon)", "command": "remnote-cli", "args": [ "daemon", "start", "--ws-port", "3002", "--control-port", "3100", "--foreground", "--log-level", "info" ] }
字段说明:
- serverName: MCP 服务器在本地或实验环境中的唯一名称,便于识别。
- command: 启动 MCP 服务器的主命令。此处对应 RemNote CLI 的守护进程启动命令。
- args: 启动命令需要的参数列表,包括端口设置、前台模式、日志等级等。
关键信息备注:
- MCP 客户端本身通常只需要连接信息与能力声明,实际的 serverName/command/args 仅用于描述与定位服务器行为。上述配置反映仓库实现的实际运行方式与参数组合,帮助集成时理解如何启动服务器并与客户端建立连接。
- 基本使用方法
- 启动与连接
- 启动守护进程(daemon),确保 RemNote 插件已连接桥接。
- 使用 CLI 命令进行笔记创建、读取、更新、搜索等操作,服务器将通过 WebSocket 与 RemNote 插件进行实际执行,并返回结果。
- 常用命令示例(简述)
- 创建笔记、读取笔记、更新笔记、追加日记、基于标签的搜索、普通搜索等。输出格式可切换为 JSON 或文本形式,方便脚本化或直接查看。
- 故障排查
- 若桥接未连接,/health 与执行请求可能返回错误,请确认 RemNote 插件已正确安装并与守护进程建立连接。
- 端口占用、日志级别等可通过配置调整。
- 其他说明
- MCP 服务器核心通过 Bridge 协议在插件与外部客户端之间传递 BridgeRequest/BridgeResponse,支持超时处理与请求-响应绑定。
- 提供单一客户端连接模型、消息路由、错误处理,以及对版本兼容性的提示,便于在多版本环境中进行安全稳健的对接。
- 参考要点
- 该实现具备可运行的服务端能力,包含完整的服务器、桥接、控制接口和守护进程机制,能够在真实环境中充当一个 MCP 风格服务器的核心后端组件。
-
关键词(3-5 个) RemNote, WebSocket, daemon, automation, bridge
-
分类 1