一、生命周期
启动
- opencode 启动时自动读取
opencode.jsonc 中 mcp.trilium 配置
- 以
type: "local" 方式 spawn 子进程:node C:\Users\cat\opencode-mcp\trilium\dist\index.js
- 通过 stdio 建立 MCP 通信通道,opencode 调用
ListTools 获取工具列表
- .env 中的
TRILIUM_ETAPI_URL 和 TRILIUM_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 更新父笔记内容,而非创建子笔记
- 删除不可逆,操作前确认