opencode trilium mcp 操作手册

一、生命周期

启动

  • opencode 启动时自动读取 opencode.jsoncmcp.trilium 配置
  • type: "local" 方式 spawn 子进程:node C:\Users\cat\opencode-mcp\trilium\dist\index.js
  • 通过 stdio 建立 MCP 通信通道,opencode 调用 ListTools 获取工具列表
  • .env 中的 TRILIUM_ETAPI_URLTRILIUM_ETAPI_TOKEN 在进程内加载,用于鉴权 Trilium ETAPI

运行

  • AI 在对话中识别到 trilium 相关工具调用时,通过 MCP 协议向子进程发送 CallTool 请求
  • 子进程将请求转为 HTTP 请求发往 Trilium ETAPI,返回结果通过 stdio 回传

关闭

  • opencode 退出时自动终止 MCP 子进程
  • 也可手工 opencode mcp add/remove 管理生命周期

二、配置方式

{
  "mcp": {
    "trilium": {
      "type": "local",
      "command": ["node", "C:\\Users\\cat\\opencode-mcp\\trilium\\dist\\index.js"],
      "enabled": true
    }
  }
}
  • 配置文件:~/.config/opencode/opencode.jsonc
  • .env 文件:~/opencode-mcp/trilium/.env,包含 ETAPI URL 和 token

三、可用工具

工具用途
search_notes全文搜索笔记
read_note读取笔记内容 + 基础元数据
get_note_metadata获取完整元数据(属性、标签)
list_children列出所有直接子笔记
create_note创建新笔记
update_note更新笔记内容/标题/类型
delete_note删除笔记(不可逆)
move_note移动笔记到新父节点
batch_create_notes批量创建笔记
batch_move_notes批量移动笔记
manage_attributes管理标签/关联(创建、更新、删除)

四、操作注意事项

  • 内容编辑遵循 CKEditor 5 HTML 规范(h2~h6、p、ul/ol、pre code、table、figure 等)
  • 更新内容用 update_note,直接传完整 HTML 正文
  • "发布到 XX笔记的 YY标题下" → 用 read_note 读父笔记 → update_note 更新父笔记内容,而非创建子笔记
  • 删除不可逆,操作前确认