NestDaddy

Brainllm

io.github.miisodev/brainllm · v13.3.2

Self-hosted memory for LLMs in TriliumNext, structured by the server and editable by you.

Connect Runs on your machine

Terminal
claude mcp add brainllm -e TRILIUM_BASE_URL=<TRILIUM_BASE_URL> -e TRILIUM_ETAPI_TOKEN=<TRILIUM_ETAPI_TOKEN> -e TRILIUM_PASSWORD=<TRILIUM_PASSWORD> -e BRAINLLM_MODE=<BRAINLLM_MODE> -e BRAINLLM_TZ=<BRAINLLM_TZ> -e BRAINLLM_OWNER_PASSWORD=<BRAINLLM_OWNER_PASSWORD> -e BRAINLLM_OAUTH_SECRET=<BRAINLLM_OAUTH_SECRET> -e BRAINLLM_PUBLIC_URL=<BRAINLLM_PUBLIC_URL> -e BRAINLLM_ALLOW_UNAUTHENTICATED_HTTP=<BRAINLLM_ALLOW_UNAUTHENTICATED_HTTP> -e BRAINLLM_TRUST_PROXY=<BRAINLLM_TRUST_PROXY> -- npx -y [email protected]
claude_desktop_config.json
{
  "mcpServers": {
    "brainllm": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "TRILIUM_BASE_URL": "<TRILIUM_BASE_URL>",
        "TRILIUM_ETAPI_TOKEN": "<TRILIUM_ETAPI_TOKEN>",
        "TRILIUM_PASSWORD": "<TRILIUM_PASSWORD>",
        "BRAINLLM_MODE": "<BRAINLLM_MODE>",
        "BRAINLLM_TZ": "<BRAINLLM_TZ>",
        "BRAINLLM_OWNER_PASSWORD": "<BRAINLLM_OWNER_PASSWORD>",
        "BRAINLLM_OAUTH_SECRET": "<BRAINLLM_OAUTH_SECRET>",
        "BRAINLLM_PUBLIC_URL": "<BRAINLLM_PUBLIC_URL>",
        "BRAINLLM_ALLOW_UNAUTHENTICATED_HTTP": "<BRAINLLM_ALLOW_UNAUTHENTICATED_HTTP>",
        "BRAINLLM_TRUST_PROXY": "<BRAINLLM_TRUST_PROXY>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "brainllm": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "TRILIUM_BASE_URL": "<TRILIUM_BASE_URL>",
        "TRILIUM_ETAPI_TOKEN": "<TRILIUM_ETAPI_TOKEN>",
        "TRILIUM_PASSWORD": "<TRILIUM_PASSWORD>",
        "BRAINLLM_MODE": "<BRAINLLM_MODE>",
        "BRAINLLM_TZ": "<BRAINLLM_TZ>",
        "BRAINLLM_OWNER_PASSWORD": "<BRAINLLM_OWNER_PASSWORD>",
        "BRAINLLM_OAUTH_SECRET": "<BRAINLLM_OAUTH_SECRET>",
        "BRAINLLM_PUBLIC_URL": "<BRAINLLM_PUBLIC_URL>",
        "BRAINLLM_ALLOW_UNAUTHENTICATED_HTTP": "<BRAINLLM_ALLOW_UNAUTHENTICATED_HTTP>",
        "BRAINLLM_TRUST_PROXY": "<BRAINLLM_TRUST_PROXY>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "brainllm": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "TRILIUM_BASE_URL": "<TRILIUM_BASE_URL>",
        "TRILIUM_ETAPI_TOKEN": "<TRILIUM_ETAPI_TOKEN>",
        "TRILIUM_PASSWORD": "<TRILIUM_PASSWORD>",
        "BRAINLLM_MODE": "<BRAINLLM_MODE>",
        "BRAINLLM_TZ": "<BRAINLLM_TZ>",
        "BRAINLLM_OWNER_PASSWORD": "<BRAINLLM_OWNER_PASSWORD>",
        "BRAINLLM_OAUTH_SECRET": "<BRAINLLM_OAUTH_SECRET>",
        "BRAINLLM_PUBLIC_URL": "<BRAINLLM_PUBLIC_URL>",
        "BRAINLLM_ALLOW_UNAUTHENTICATED_HTTP": "<BRAINLLM_ALLOW_UNAUTHENTICATED_HTTP>",
        "BRAINLLM_TRUST_PROXY": "<BRAINLLM_TRUST_PROXY>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
TRILIUM_BASE_URL
Required
Base URL of the TriliumNext instance, e.g. http://localhost:8080
TRILIUM_ETAPI_TOKEN
Optional, secret
ETAPI token. Required unless TRILIUM_PASSWORD is set. Create one in Trilium under Options → ETAPI.
TRILIUM_PASSWORD
Optional, secret
Alternative to TRILIUM_ETAPI_TOKEN — BrainLLM mints a token on first start and caches it beside brainllm.json.
BRAINLLM_MODE
Optional
core (default) exposes the 45 brain-aware tools; full additionally exposes the 33 raw ETAPI tools.
BRAINLLM_TZ
Optional
IANA timezone used to stamp dated notes, e.g. Africa/Johannesburg. Defaults to the host timezone.
BRAINLLM_OWNER_PASSWORD
Optional, secret
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.
BRAINLLM_OAUTH_SECRET
Optional, secret
Optional 32+ character deployment secret for signing OAuth tokens; rotate it to invalidate old tokens.
BRAINLLM_PUBLIC_URL
Optional
Override for the public origin when a proxy rewrites Host. Must exactly match the URL entered in the client.
BRAINLLM_ALLOW_UNAUTHENTICATED_HTTP
Optional
Explicit trusted-network-only escape hatch for HTTP mode. Never enable on a public interface.
BRAINLLM_TRUST_PROXY
Optional
Trust forwarded host/protocol headers for OAuth discovery only when a trusted reverse proxy sets them.

Details

Package[email protected] (NPM, stdio)
First published9 Nov 2026
Last updated9 Nov 2026
Registry nameio.github.miisodev/brainllm

More ai and media servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.