trilium-mcp
JSON →Read and write a self-hosted TriliumNext knowledge base over its ETAPI. Ten tools: create/get/update/append/delete notes, full search, labels and relations.
Tools · 16
- create_note Create a note (optionally under a parent, with labels in one shot).
- batch_create_notes Create many notes in one call — saves per-call schema overhead during restructuring.
- get_note Fetch note metadata; optionally include body content.
- get_note_subtree Recursively fetch a note + descendants up to N levels as a nested tree — replaces N+1 get_note calls.
- update_note Partial update: include only the fields you want to change; omitted fields stay as-is.
- append_content Append text to the body with a configurable separator.
- delete_note Delete a note and its subtree.
- batch_delete_notes Delete many notes; partial failures don't stop the rest.
- move_note Re-parent a note in two ETAPI calls (vs the old read-recreate-delete dance).
- clone_note Add the note under an additional parent — Trilium-native multi-parent links.
- delete_branch Remove one parent-child link without deleting the note (un-clone).
- search_notes Full-power Trilium search (#label, ~relation, note.title %= "regex", ancestor scoping, etc.).
- add_label Attach a label (#key=value) — acts as a "column" in collection views.
- add_relation Attach a relation (~name → noteId) — like a foreign key between notes.
- remove_attribute Remove a label or relation by its attribute id.
- list_attributes List all labels and relations on a note.
Environment variables
TRILIUM_URLTRILIUM_TOKEN