BrainLLM MCP
A self-hosted MCP server that provides persistent, graph-structured memory for LLMs by integrating with TriliumNext. It manages note structure, lifecycle, and backups while the model supplies content, ensuring data ownership and session continuity.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Provide persistent memory across LLM sessions
- Structure knowledge in a graph within TriliumNext
- Log session activities and generate daily diaries
- Maintain user preferences and goals in a master note
Source and maintenance
- Last repository push
- Latest release
- v13.2.1
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
brainllm 13.1.2
{
"version": "13.1.2",
"transport": "stdio",
"identifier": "brainllm",
"registryType": "npm",
"environmentVariables": [
{
"name": "TRILIUM_BASE_URL",
"format": "string",
"isRequired": true,
"description": "Base URL of the TriliumNext instance, e.g. http://localhost:8080"
},
{
"name": "TRILIUM_ETAPI_TOKEN",
"format": "string",
"description": "ETAPI token. Required unless TRILIUM_PASSWORD is set. Create one in Trilium under Options → ETAPI."
},
{
"name": "TRILIUM_PASSWORD",
"format": "string",
"description": "Alternative to TRILIUM_ETAPI_TOKEN — BrainLLM mints a token on first start and caches it beside brainllm.json."
},
{
"name": "BRAINLLM_MODE",
"format": "string",
"default": "core",
"description": "core (default) exposes the 45 brain-aware tools; full additionally exposes the 33 raw ETAPI tools."
},
{
"name": "BRAINLLM_TZ",
"format": "string",
"description": "IANA timezone used to stamp dated notes, e.g. Africa/Johannesburg. Defaults to the host timezone."
},
{
"name": "BRAINLLM_OWNER_PASSWORD",
"format": "string",
"description": "Enables the OAuth 2.1 / CIMD endpoints required by claude.ai and other hosted Claude surfaces. This is the password entered on the consent screen when authorizing a client."
},
{
"name": "BRAINLLM_OAUTH_SECRET",
"format": "string",
"description": "Optional 32+ character deployment secret for signing OAuth tokens; rotate it to invalidate old tokens."
},
{
"name": "BRAINLLM_PUBLIC_URL",
"format": "string",
"description": "Override for the public origin when a proxy rewrites Host. Must exactly match the URL entered in the client."
},
{
"name": "BRAINLLM_ALLOW_UNAUTHENTICATED_HTTP",
"format": "boolean",
"description": "Explicit trusted-network-only escape hatch for HTTP mode. Never enable on a public interface."
},
{
"name": "BRAINLLM_TRUST_PROXY",
"format": "boolean",
"description": "Trust forwarded host/protocol headers for OAuth discovery only when a trusted reverse proxy sets them."
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · repository · passed · metadata changed · updated
- · backfill · recorded · Pre-expansion baseline; unobserved rich metadata remains unknown
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"brainllm-mcp": {
"command": "npx",
"args": [
"-y",
"brainllm@13.1.2"
],
"env": {
"TRILIUM_BASE_URL": "<YOUR_TRILIUM_BASE_URL>",
"TRILIUM_ETAPI_TOKEN": "<YOUR_TRILIUM_ETAPI_TOKEN>",
"TRILIUM_PASSWORD": "<YOUR_TRILIUM_PASSWORD>",
"BRAINLLM_MODE": "<YOUR_BRAINLLM_MODE>",
"BRAINLLM_TZ": "<YOUR_BRAINLLM_TZ>",
"BRAINLLM_OWNER_PASSWORD": "<YOUR_BRAINLLM_OWNER_PASSWORD>",
"BRAINLLM_OAUTH_SECRET": "<YOUR_BRAINLLM_OAUTH_SECRET>",
"BRAINLLM_PUBLIC_URL": "<YOUR_BRAINLLM_PUBLIC_URL>",
"BRAINLLM_ALLOW_UNAUTHENTICATED_HTTP": "<YOUR_BRAINLLM_ALLOW_UNAUTHENTICATED_HTTP>",
"BRAINLLM_TRUST_PROXY": "<YOUR_BRAINLLM_TRUST_PROXY>"
}
}
}
}Cline
{
"mcpServers": {
"brainllm-mcp": {
"command": "npx",
"args": [
"-y",
"brainllm@13.1.2"
],
"env": {
"TRILIUM_BASE_URL": "<YOUR_TRILIUM_BASE_URL>",
"TRILIUM_ETAPI_TOKEN": "<YOUR_TRILIUM_ETAPI_TOKEN>",
"TRILIUM_PASSWORD": "<YOUR_TRILIUM_PASSWORD>",
"BRAINLLM_MODE": "<YOUR_BRAINLLM_MODE>",
"BRAINLLM_TZ": "<YOUR_BRAINLLM_TZ>",
"BRAINLLM_OWNER_PASSWORD": "<YOUR_BRAINLLM_OWNER_PASSWORD>",
"BRAINLLM_OAUTH_SECRET": "<YOUR_BRAINLLM_OAUTH_SECRET>",
"BRAINLLM_PUBLIC_URL": "<YOUR_BRAINLLM_PUBLIC_URL>",
"BRAINLLM_ALLOW_UNAUTHENTICATED_HTTP": "<YOUR_BRAINLLM_ALLOW_UNAUTHENTICATED_HTTP>",
"BRAINLLM_TRUST_PROXY": "<YOUR_BRAINLLM_TRUST_PROXY>"
}
}
}
}VS Code
{
"servers": {
"brainllm-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"brainllm@13.1.2"
],
"env": {
"TRILIUM_BASE_URL": "<YOUR_TRILIUM_BASE_URL>",
"TRILIUM_ETAPI_TOKEN": "<YOUR_TRILIUM_ETAPI_TOKEN>",
"TRILIUM_PASSWORD": "<YOUR_TRILIUM_PASSWORD>",
"BRAINLLM_MODE": "<YOUR_BRAINLLM_MODE>",
"BRAINLLM_TZ": "<YOUR_BRAINLLM_TZ>",
"BRAINLLM_OWNER_PASSWORD": "<YOUR_BRAINLLM_OWNER_PASSWORD>",
"BRAINLLM_OAUTH_SECRET": "<YOUR_BRAINLLM_OAUTH_SECRET>",
"BRAINLLM_PUBLIC_URL": "<YOUR_BRAINLLM_PUBLIC_URL>",
"BRAINLLM_ALLOW_UNAUTHENTICATED_HTTP": "<YOUR_BRAINLLM_ALLOW_UNAUTHENTICATED_HTTP>",
"BRAINLLM_TRUST_PROXY": "<YOUR_BRAINLLM_TRUST_PROXY>"
}
}
}
}Claude Desktop
{
"mcpServers": {
"brainllm-mcp": {
"command": "npx",
"args": [
"-y",
"brainllm@13.1.2"
],
"env": {
"TRILIUM_BASE_URL": "<YOUR_TRILIUM_BASE_URL>",
"TRILIUM_ETAPI_TOKEN": "<YOUR_TRILIUM_ETAPI_TOKEN>",
"TRILIUM_PASSWORD": "<YOUR_TRILIUM_PASSWORD>",
"BRAINLLM_MODE": "<YOUR_BRAINLLM_MODE>",
"BRAINLLM_TZ": "<YOUR_BRAINLLM_TZ>",
"BRAINLLM_OWNER_PASSWORD": "<YOUR_BRAINLLM_OWNER_PASSWORD>",
"BRAINLLM_OAUTH_SECRET": "<YOUR_BRAINLLM_OAUTH_SECRET>",
"BRAINLLM_PUBLIC_URL": "<YOUR_BRAINLLM_PUBLIC_URL>",
"BRAINLLM_ALLOW_UNAUTHENTICATED_HTTP": "<YOUR_BRAINLLM_ALLOW_UNAUTHENTICATED_HTTP>",
"BRAINLLM_TRUST_PROXY": "<YOUR_BRAINLLM_TRUST_PROXY>"
}
}
}
}Let your agent find its tools
Find servers like BrainLLM MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.