trilium-mcp
A community-built MCP server for TriliumNext that enables AI agents to read and write notes, labels, and relations via the ETAPI. It supports creating, updating, searching, and managing a self-hosted knowledge base tree of notes with attributes.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Capture research dumps and decisions into notes
- Maintain structured tables using notes-as-rows and labels-as-columns
- Search the existing knowledge base and feed snippets into conversations
- Manage note relations and labels for organization
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
ghcr.io/ovden13/trilium-mcp:0.1.5
{
"transport": "stdio",
"identifier": "ghcr.io/ovden13/trilium-mcp:0.1.5",
"registryType": "oci",
"environmentVariables": [
{
"name": "TRILIUM_URL",
"format": "string",
"isRequired": true,
"description": "Base URL of the Trilium ETAPI. Comma-separated for failover: fast LAN first, public fallback (e.g. http://192.168.0.10:8092,https://memo.example.com)."
},
{
"name": "TRILIUM_TOKEN",
"format": "string",
"isRequired": true,
"description": "ETAPI token created in Trilium under Options -> ETAPI"
},
{
"name": "TRILIUM_HTTP_TIMEOUT_SECONDS",
"format": "string",
"description": "Per-request HTTP timeout in seconds (default 30)"
},
{
"name": "TRILIUM_MCP_LOG",
"format": "string",
"description": "Tool-call log level on stderr: off / info (default) / debug"
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"trilium-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"TRILIUM_URL=<YOUR_TRILIUM_URL>",
"-e",
"TRILIUM_TOKEN=<YOUR_TRILIUM_TOKEN>",
"-e",
"TRILIUM_HTTP_TIMEOUT_SECONDS=<YOUR_TRILIUM_HTTP_TIMEOUT_SECONDS>",
"-e",
"TRILIUM_MCP_LOG=<YOUR_TRILIUM_MCP_LOG>",
"ghcr.io/ovden13/trilium-mcp:0.1.5"
],
"env": {
"TRILIUM_URL": "<YOUR_TRILIUM_URL>",
"TRILIUM_TOKEN": "<YOUR_TRILIUM_TOKEN>",
"TRILIUM_HTTP_TIMEOUT_SECONDS": "<YOUR_TRILIUM_HTTP_TIMEOUT_SECONDS>",
"TRILIUM_MCP_LOG": "<YOUR_TRILIUM_MCP_LOG>"
}
}
}
}Cline
{
"mcpServers": {
"trilium-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"TRILIUM_URL=<YOUR_TRILIUM_URL>",
"-e",
"TRILIUM_TOKEN=<YOUR_TRILIUM_TOKEN>",
"-e",
"TRILIUM_HTTP_TIMEOUT_SECONDS=<YOUR_TRILIUM_HTTP_TIMEOUT_SECONDS>",
"-e",
"TRILIUM_MCP_LOG=<YOUR_TRILIUM_MCP_LOG>",
"ghcr.io/ovden13/trilium-mcp:0.1.5"
],
"env": {
"TRILIUM_URL": "<YOUR_TRILIUM_URL>",
"TRILIUM_TOKEN": "<YOUR_TRILIUM_TOKEN>",
"TRILIUM_HTTP_TIMEOUT_SECONDS": "<YOUR_TRILIUM_HTTP_TIMEOUT_SECONDS>",
"TRILIUM_MCP_LOG": "<YOUR_TRILIUM_MCP_LOG>"
}
}
}
}VS Code
{
"servers": {
"trilium-mcp": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"TRILIUM_URL=<YOUR_TRILIUM_URL>",
"-e",
"TRILIUM_TOKEN=<YOUR_TRILIUM_TOKEN>",
"-e",
"TRILIUM_HTTP_TIMEOUT_SECONDS=<YOUR_TRILIUM_HTTP_TIMEOUT_SECONDS>",
"-e",
"TRILIUM_MCP_LOG=<YOUR_TRILIUM_MCP_LOG>",
"ghcr.io/ovden13/trilium-mcp:0.1.5"
],
"env": {
"TRILIUM_URL": "<YOUR_TRILIUM_URL>",
"TRILIUM_TOKEN": "<YOUR_TRILIUM_TOKEN>",
"TRILIUM_HTTP_TIMEOUT_SECONDS": "<YOUR_TRILIUM_HTTP_TIMEOUT_SECONDS>",
"TRILIUM_MCP_LOG": "<YOUR_TRILIUM_MCP_LOG>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"trilium-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"TRILIUM_URL=<YOUR_TRILIUM_URL>",
"-e",
"TRILIUM_TOKEN=<YOUR_TRILIUM_TOKEN>",
"-e",
"TRILIUM_HTTP_TIMEOUT_SECONDS=<YOUR_TRILIUM_HTTP_TIMEOUT_SECONDS>",
"-e",
"TRILIUM_MCP_LOG=<YOUR_TRILIUM_MCP_LOG>",
"ghcr.io/ovden13/trilium-mcp:0.1.5"
],
"env": {
"TRILIUM_URL": "<YOUR_TRILIUM_URL>",
"TRILIUM_TOKEN": "<YOUR_TRILIUM_TOKEN>",
"TRILIUM_HTTP_TIMEOUT_SECONDS": "<YOUR_TRILIUM_HTTP_TIMEOUT_SECONDS>",
"TRILIUM_MCP_LOG": "<YOUR_TRILIUM_MCP_LOG>"
}
}
}
}Let your agent find its tools
Find servers like trilium-mcp from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.