notesnook mcp服务器
MCP服务器桥接 Notesnook 使用OpenClaw。通过文件系统每小时同步一次笔记,并通过HTTP/SSE公开双向笔记操作。
先决条件
- Node.js>=22
- Notesnook桌面应用程序(Linux)
安装
./install.sh安装程序将:
- 检查Node.js版本
- 跑
npm install和npm run build - 提示您输入同步文件夹路径
- 创建
export/和import/子目录 - 安装并启用systemd用户服务
- 运行首次运行向导以配置笔记本访问权限
同步模型
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导出
- 打开Notesnook桌面
- 首选 设置→ 备份和导出
- 选择 导出所有笔记→ 标记语言
- 保存
.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条款——仅限非商业用途。看 许可证.
