笔记同步服务

Notesnook-MCP服务器是一个桥接Notesnook和OpenClaw的服务,通过文件系统每小时同步笔记,并通过HTTP/SSE暴露双向笔记操作。

  • by johnfire
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 johnfire/openclaw-notesnook-mcp

使用说明

notesnook mcp服务器

MCP服务器桥接 Notesnook 使用OpenClaw。通过文件系统每小时同步一次笔记,并通过HTTP/SSE公开双向笔记操作。

先决条件

  • Node.js>=22
  • Notesnook桌面应用程序(Linux)

安装

./install.sh

安装程序将:

  1. 检查Node.js版本
  2. 跑 npm install 和 npm run build
  3. 提示您输入同步文件夹路径
  4. 创建 export/ 和 import/ 子目录
  5. 安装并启用systemd用户服务
  6. 运行首次运行向导以配置笔记本访问权限

同步模型

Notesnook App (GUI)
    │
    │  Export all notes → Markdown → save zip to {SYNC_ROOT}/export/
    │
    ▼
{SYNC_ROOT}/
├── export/          ← Notesnook drops .zip exports here
│   └── extracted/  ← MCP server extracts zips here (auto-managed)
├── import/          ← MCP server writes new/updated .md files here
│   └── {notebook}/ ← One subfolder per notebook
└── notesnook.db     ← SQLite index maintained by MCP server

notesnook-mcp-server (HTTP/SSE daemon on :3457)
    ├── Sync Engine (hourly cron + chokidar watcher)
    │     ├── Unzips latest export → parses Markdown
    │     ├── Derives notebook from folder structure
    │     ├── Diffs against SQLite index (last-write-wins)
    │     └── Writes agent notes to import/{notebook}/*.md
    │
    └── MCP HTTP/SSE server
          └── 9 tools (search, get, create, update, notebooks, todo, sync)

从Notesnook导出

  1. 打开Notesnook桌面
  2. 首选 设置→ 备份和导出
  3. 选择 导出所有笔记→ 标记语言
  4. 保存 .zip 文件到 {SYNC_ROOT}/export/

服务器将在几秒钟内(chokidar监视器)或在下一个小时的cron滴答声中检测到新的zip。

导入到Notesnook

由OpenClaw创建或更新的注释将写入 {SYNC_ROOT}/import/{notebook}/。Notesnook将在下次打开应用程序时接收它们。

配置

环境变量

变量 必填 默认 描述
NOTESNOOK_SYNC_ROOT 是 -- 同步文件夹的路径
PORT 没有 3457 HTTP服务器端口

config.json

储存于 {SYNC_ROOT}/config.json。通过首次运行向导编辑或 notesnook_configure_notebook_access 工具。

{
  "syncRoot": "/path/to/sync",
  "enabledNotebooks": ["daily survival", "art stuff"],
  "firstRunComplete": true,
  "lastSyncAt": "2025-01-01T12:00:00.000Z"
}

OpenClaw集成

添加到您的 openclaw.json:

{
  "agents": {
    "list": [{
      "id": "main",
      "mcp": {
        "servers": [{
          "name": "notesnook",
          "type": "sse",
          "url": "http://localhost:3457/sse"
        }]
      }
    }]
  }
}

服务器必须正在运行(安装后由systemd自动启动)。

可用工具

工具 说明
notesnook_search_notes 按关键字、笔记本或标签搜索笔记
notesnook_get_note 按ID检索笔记的完整内容
notesnook_create_note 创建新笔记
notesnook_update_note 更新笔记的内容、标题或标签
notesnook_list_notebooks 列出笔记本及其访问状态
notesnook_configure_notebook_access 启用或禁用笔记本访问
notesnook_get_todo 获取每日待办事项清单
notesnook_update_todo 添加、完成或删除待办事项
notesnook_trigger_sync 强制立即同步

备注格式

注释是纯Markdown,没有YAML前体:

# Note Title

Note body content here...

- [ ] Incomplete item
- [x] Completed item

笔记本由导出zip中的文件夹名称表示。

许可证

MIT+Commons条款——仅限非商业用途。看 许可证.