mcpField
T
TriliumNext Notes' MCP Server

TriliumNext Notes' MCP Server

本地服务
github.com/tan-yong-sheng记忆与知识6831 周前更新

关于 TriliumNext Notes' MCP Server

TriliumNext Notes' MCP Server 是面向 TriliumNext Notes 的 MCP 服务,通过 ETAPI 让 MCP 客户端搜索、读取、创建和修改笔记及属性。项目目前为原型,主要面向开发者使用,文档中建议使用前备份笔记。

主要功能

  1. 01搜索笔记与按标题解析笔记 ID
  2. 02读取笔记内容并支持正则提取
  3. 03创建、更新、移动和删除笔记
  4. 04读取与管理笔记属性(labels 和 relations)
  5. 05通过 PERMISSIONS 控制读写权限

适用场景

  1. 01让 AI 助手查找近期编辑过的笔记
  2. 02向工作日志追加当天内容
  3. 03批量整理笔记属性或子笔记结构

MCP 相关

该项目是 MCP 服务,向 MCP 客户端暴露搜索、笔记读写和属性管理等工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"triliumnext": {
"command": "npx",
"args": [
"-y",
"triliumnext-mcp"
],
"env": {
"TRILIUM_API_URL": "<TRILIUM_API_URL>",
"TRILIUM_API_TOKEN": "<TRILIUM_API_TOKEN>",
"PERMISSIONS": "<PERMISSIONS>"
}
}
}
}
启动命令npx -y triliumnext-mcp
需要配置的环境变量
TRILIUM_API_URL
TRILIUM_API_TOKEN密钥
PERMISSIONS

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmtriliumnext-mcp

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

TriliumNext Notes 的 MCP 服务

⚠️ 免责声明:这是为 https://github.com/TriliumNext/Notes/issues/705 制作的原型。仅建议开发者使用。使用此工具前,请备份你的 Trilium 笔记。 ⚠️

用于 TriliumNext Notes 的模型上下文协议服务。此服务提供工具,让你通过 MCP 与自己的 Trilium Notes 实例交互。你可以将此 MCP 与 triliumnext-skills 搭配使用。

此外,如果你希望同时将 Trilium 实例备份到多个云存储服务提供商,例如 cloudflare R2、AWS S3 和 google drive,请访问: https://github.com/tan-yong-sheng/trilium-backup

可供推荐的替代方案:

快速开始

请先设置环境变量:

  • TRILIUM_API_URL(默认值:http://localhost:8080/etapi)
  • TRILIUM_API_TOKEN(必需,可在 Trilium Notes 设置中获取)
  • PERMISSIONS(可选,默认值为 'READ;WRITE'。READ 授予对 search_notes、get_note、resolve_note_id 和 read_attributes 的访问权限;WRITE 授予对 create_note、update_note、delete_note 和 manage_attributes 的访问权限)
  • VERBOSE(可选,默认值为 'false';若设为 true,则会输出详细的调试日志)

安装

以下是此 MCP 在不同 MCP 客户端(例如 Claude Desktop、Claude Code、Cursor、Cline 等)中的安装指南。

Claude Desktop

添加到 Claude Desktop 配置中:

{
  "mcpServers": {
    "triliumnext-mcp": {
      "command": "npx",
      "args": ["triliumnext-mcp"],
      "env": {
        "TRILIUM_API_URL": "http://localhost:8080/etapi",
        "TRILIUM_API_TOKEN": "<YOUR_TRILIUM_API_TOKEN>",
        "PERMISSIONS": "READ;WRITE"
      }
    }
  }
}
Claude Code
claude mcp add triliumnext-mcp \
  -e TRILIUM_API_URL=http://localhost:8080/etapi \
  -e TRILIUM_API_TOKEN=<YOUR_TRILIUM_API_TOKEN> \
  -e PERMISSIONS='READ;WRITE' \
  -- npx triliumnext-mcp

注意:按如下方式更新 ~\.claude\settings.json,将 MCP 启动超时时间延长至 1 分钟,并将 MCP 工具执行超时时间延长至约 5 分钟:

{
  "env": {
    "MCP_TIMEOUT": "60000",
    "MCP_TOOL_TIMEOUT": "300000"
  }
}
Cursor

前往:Settings -> Cursor Settings -> MCP -> Add new global MCP server

建议将以下配置粘贴到 Cursor 的 ~/.cursor/mcp.json 文件中。你也可以在项目文件夹中创建 .cursor/mcp.json,将其安装到特定项目中。详情请参阅 Cursor MCP 文档。

{
  "mcpServers": {
    "triliumnext-mcp": {
      "command": "npx",
      "args": ["triliumnext-mcp"],
      "env": {
        "TRILIUM_API_URL": "http://localhost:8080/etapi",
        "TRILIUM_API_TOKEN": "<YOUR_TRILIUM_API_TOKEN>",
        "PERMISSIONS": "READ;WRITE"
      }
    }
  }
}
Cline

Cline 使用 JSON 配置文件管理 MCP 服务。若要集成提供的 MCP 服务配置:

  1. 打开 Cline,点击顶部导航栏中的 MCP Servers 图标。
  2. 选择 Installed 选项卡,然后点击 Advanced MCP Settings。
  3. 在 cline_mcp_settings.json 文件中添加以下配置:

(i) 使用 Google AI Studio Provider

{
  "mcpServers": {
    "timeout": 300, 
    "type": "stdio",
    "triliumnext-mcp": {
      "command": "npx",
      "args": ["triliumnext-mcp"],
      "env": {
        "TRILIUM_API_URL": "http://localhost:8080/etapi",
        "TRILIUM_API_TOKEN": "<YOUR_TRILIUM_API_TOKEN>",
        "PERMISSIONS": "READ;WRITE"
      }
    }
  }
}
其他 MCP 客户端

此服务使用 stdio 传输,并遵循标准 MCP 协议。运行以下命令即可将其集成到任何兼容 MCP 的客户端:

npx triliumnext-mcp
使用 Docker 运行 MCP(测试版)
使用 GitHub Container Registry 中的预构建映像

拉取并运行最新映像:

docker pull ghcr.io/tan-yong-sheng/triliumnext-mcp:latest

然后,将以下配置用于你的 MCP: (注意:请记得在此处修改 TRILIUM_API_URL 和 TRILIUM_API_TOKEN)

{
  "mcpServers": {
    "triliumnext-mcp-docker": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "TRILIUM_API_URL",
        "-e",
        "TRILIUM_API_TOKEN",
        "-e",
        "PERMISSIONS",
        "-e",
        "VERBOSE",
        "ghcr.io/tan-yong-sheng/triliumnext-mcp:latest"
      ],
      "env": {
        "TRILIUM_API_URL": "https://trilium:8080/etapi",
        "TRILIUM_API_TOKEN": "<YOUR_TRILIUM_API_TOKEN>",
        "PERMISSIONS": "READ;WRITE",
        "VERBOSE": "false"
      }
    }
  }
}

可用工具

此服务提供以下笔记管理工具:

搜索与发现工具
  • search_notes - 支持全面筛选的统一搜索,包括关键词搜索、日期范围、字段专属搜索、属性搜索、笔记属性、基于模板的搜索、笔记类型筛选、MIME 类型筛选和层级导航。
  • resolve_note_id - 根据笔记标题查找笔记 ID。这是获取笔记 ID 并将其用于其他工具的必备工具。
  • list_children_notes - 使用确定性搜索查询列出父笔记的直接子笔记。返回按创建日期和标题排序的子笔记摘要。
笔记管理工具
  • get_note - 按 ID 检索笔记及其内容。也可配合正则表达式,从内容中提取特定模式。
  • create_note - 创建新笔记。支持 10 种笔记类型,并可在同一步骤中创建属性(标签和关系)。
  • update_note - 更新笔记的标题或内容。需要指定 mode('overwrite' 或 'append')来设置更新类型,并提供 expectedHash 以防止冲突。
  • move_note - 将笔记移动到新的父文件夹。仅当笔记有多个父分支时才使用 branchId。
  • patch_note - 使用基于模式的补丁(css、xpath、line、fragment、literal、regex)进行批量定点编辑,并进行原子验证。字面文本补丁可使用 occurrence 和可选的 context 来定位重复文本。
  • delete_note - 永久删除笔记(⚠️ 无法撤销)。
属性管理工具
  • read_attributes - 读取指定笔记的所有属性(标签和关系)。
  • manage_attributes - 创建、更新或删除笔记上的属性。支持批量创建。

📖 详细用法:请参阅笔记管理指南,了解版本控制策略和最佳实践。

示例查询

搜索与发现
  • “查找我从 2024 年初至今最近创建的 10 条关于 ‘n8n’ 的笔记”
  • “显示我在过去 7 天内编辑过的笔记”
  • “列出 ‘n8n Template’ 文件夹下的所有笔记,包括子文件夹”
  • “列出此文件夹的直接子笔记”
内容管理
  • “将今天的更新添加到我的工作日志”(使用 update_note 和 mode: 'append')
  • “将此草稿替换为最终版本”(使用 update_note 和 mode: 'overwrite')
  • “在我的日记文件夹中创建一条名为 ‘Weekly Review’ 的新笔记”

📖 更多示例:请参阅用户查询示例,了解全面的使用场景。

文档

开发

如果你想为服务做出贡献或对其进行修改:

# Clone the repository
git clone https://github.com/tan-yong-sheng/triliumnext-mcp.git

# Install dependencies
npm install

# Build the server
npm run build

# For development with auto-rebuild
npm run watch

贡献

欢迎贡献!如果你想改进服务,请先熟悉官方的 Trilium Search DSL 文档以及我们的内部搜索查询示例,了解搜索查询的构造方式。

欢迎提交问题或拉取请求。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。