
TriliumNext Notes
STDIOMCP server for TriliumNext Notes interaction and management
MCP server for TriliumNext Notes interaction and management
⚠️ DISCLAIMER: This is a prototype for https://github.com/TriliumNext/Notes/issues/705. Suggested only for developer use. Please backup your Trilium notes before using this tool. ⚠️
A model context protocol server for TriliumNext Notes. This server provides tools to interact with your Trilium Notes instance through MCP.
Make sure to set up your environment variables first:
TRILIUM_API_URL
(default: http://localhost:8080/etapi)TRILIUM_API_TOKEN
(required, get this from your Trilium Notes settings)PERMISSIONS
(optional, default='READ;WRITE', where READ let this MCP has permissions to perform search_notes
and get_note
operation and WRITE let this MCP has permissions to perform create_note
, update_note
and delete_note
operations)VERBOSE
(optional, default='false', where if true it will print out some logging response and pass the logs into LLM (such as API call) which is useful for developers to debug this MCP)Add the server config to your Claude Desktop configuration file:
Add the following configuration to the mcpServers
object in your Claude configuration file:
"triliumnext-mcp": { "command": "cmd", "args": [ "/k", "npx", "-y", "triliumnext-mcp" ], "env": { "TRILIUM_API_URL": "http://localhost:8080/etapi", "TRILIUM_API_TOKEN": "<YOUR_TRILIUM_API_TOKEN>", "PERMISSIONS": "READ;WRITE" } }
"triliumnext-mcp": { "command": "npx", "args": [ "-y", "triliumnext-mcp" ], "env": { "TRILIUM_API_URL": "http://localhost:8080/etapi", "TRILIUM_API_TOKEN": "<YOUR_TRILIUM_API_TOKEN>", "PERMISSIONS": "READ;WRITE" } }
cd /path/to/triliumnext-mcp npm run build
"triliumnext-mcp": { "command": "node", "args": [ "/path/to/triliumnext-mcp/build/index.js" ], "env": { "TRILIUM_API_URL": "http://localhost:8080/etapi", "TRILIUM_API_TOKEN": "<YOUR_TRILIUM_API_TOKEN>", "PERMISSIONS": "READ;WRITE", "VERBOSE": "true" } }
Location of the configuration file:
%APPDATA%/Claude/claude_desktop_config.json
~/Library/Application Support/Claude/claude_desktop_config.json
Feedback: Please report issues and test results at GitHub Issues
The server provides the following tools for note management:
search_notes
- Unified search with advanced filtering capabilities
manage_attributes
- Comprehensive attribute management system for CRUD operations on both labels and relations
attributeType
parametersearch_notes
- Unified search and discovery tool with hierarchy navigation
ls
command)find
command)search_notes
with hierarchyType='descendants' and parentNoteId='root'search_notes
with hierarchyType='children'get_note
- Retrieve a note content by IDcreate_note
- Create a new note (supports various types: text, code, file, image, etc.)update_note
- Replace entire note content (⚠️ creates backup by default)append_note
- Add content while preserving existing content (📝 optimized for logs/journals)delete_note
- Permanently delete a note (⚠️ cannot be undone)📖 Detailed Usage: See Content Modification Guide for revision control strategy and best practices.
search_notes
with hierarchyType='descendants' and parentNoteId='root'search_notes
with hierarchyType='descendants' for complete inventorysearch_notes
with hierarchyType='children' and specific parentNoteIdsearch_notes
with hierarchyType='children' and specific parentNoteIdsearch_notes
with hierarchyType='descendants' and specific parentNoteIdappend_note
)update_note
)📖 More Examples: See User Query Examples for comprehensive usage scenarios.
If you want to contribute or modify the server:
# 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
Contributions are welcome! If you are looking to improve the server, especially the search functionality, please familiarize yourself with the following resources:
search_notes
parameters are translated into Trilium search strings. This is crucial for understanding and extending the current implementation.Please feel free to open an issue or submit a pull request.