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 サーバーで、MCP クライアントからノートや属性の検索・読み取り・作成・編集を行えます。プロトタイプで開発者向けとされ、利用前のバックアップが推奨されています。

主な機能

  1. 01ノートの検索とタイトルからのID解決
  2. 02ノート内容の読み取りと正規表現による抽出
  3. 03ノートの作成、更新、移動、削除
  4. 04ラベルとリレーションの読み取りと管理
  5. 05PERMISSIONS による読み書き権限の制御

活用シーン

  1. 01AI アシスタントに最近編集したノートを探させる
  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 にすると、詳細なデバッグログを出力します)

インストール

以下では、Claude Desktop、Claude Code、Cursor、Cline など、各種 MCP クライアントでこの MCP をインストールする方法を説明します。

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 docs をご覧ください。

{
  "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 は、MCP サーバーの管理に JSON 設定ファイルを使用します。提供されている 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 年の初め以降に作成した、『n8n』に関する最新のノートを 10 件探して」
  • 「過去 7 日間に編集したノートを表示して」
  • 「サブフォルダーも含めて、『n8n Template』フォルダー内のすべてのノートを一覧表示して」
  • 「このフォルダーの直下にあるノートを一覧表示して」
コンテンツ管理
  • 「今日の更新を作業ログに追加して」(mode: 'append' を指定して update_note を使用)
  • 「この下書きを最終版に置き換えて」(mode: 'overwrite' を指定して update_note を使用)
  • 「ジャーナルフォルダーに『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 ドキュメントと、プロジェクト内の検索クエリの例をご確認ください。

お気軽にイシューを作成するか、プルリクエストを送信してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。