brainllm 10.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/manifest.json ADDED
@@ -0,0 +1,72 @@
1
+ {
2
+ "dxt_version": "0.1",
3
+ "name": "brainllm",
4
+ "display_name": "BrainLLM",
5
+ "version": "10.1.0",
6
+ "description": "Turns TriliumNext Notes into a persistent, graph-structured second brain for Claude and other LLM clients.",
7
+ "long_description": "BrainLLM is an MCP server that organises memory into five purpose-built areas (Master, LLM, Memory, Knowledge, Insights). The model supplies content while the server owns placement, format, lifecycle, dates and backups. Includes a full raw ETAPI surface for advanced use. Requires a running TriliumNext instance and the Bun runtime.",
8
+ "author": {
9
+ "name": "Kevin Miiso",
10
+ "email": "miisodev@gmail.com",
11
+ "url": "https://github.com/miisodev"
12
+ },
13
+ "homepage": "https://github.com/miisodev/BrainLLM#readme",
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "https://github.com/miisodev/BrainLLM.git"
17
+ },
18
+ "support": "https://github.com/miisodev/BrainLLM/issues",
19
+ "license": "MIT",
20
+ "keywords": ["mcp", "trilium", "trilium-next", "second-brain", "knowledge-graph", "memory", "claude"],
21
+ "icon": "public/BrainLLM.png",
22
+ "server": {
23
+ "type": "binary",
24
+ "entry_point": "dist/index.js",
25
+ "mcp_config": {
26
+ "command": "bun",
27
+ "args": ["run", "${__dirname}/dist/index.js"],
28
+ "env": {
29
+ "TRILIUM_BASE_URL": "${user_config.trilium_base_url}",
30
+ "TRILIUM_ETAPI_TOKEN": "${user_config.trilium_etapi_token}",
31
+ "BRAINLLM_MODE": "${user_config.brainllm_mode}",
32
+ "BRAINLLM_TZ": "${user_config.brainllm_tz}"
33
+ }
34
+ }
35
+ },
36
+ "tools_generated": true,
37
+ "user_config": {
38
+ "trilium_base_url": {
39
+ "type": "string",
40
+ "title": "Trilium base URL",
41
+ "description": "URL of your TriliumNext instance.",
42
+ "default": "http://localhost:8080",
43
+ "required": true
44
+ },
45
+ "trilium_etapi_token": {
46
+ "type": "string",
47
+ "title": "Trilium ETAPI token",
48
+ "description": "Create one in Trilium: Options -> ETAPI -> Create token.",
49
+ "required": true,
50
+ "sensitive": true
51
+ },
52
+ "brainllm_mode": {
53
+ "type": "string",
54
+ "title": "Tool surface",
55
+ "description": "core (default) or full (adds the 33 raw ETAPI tools).",
56
+ "default": "core",
57
+ "required": false
58
+ },
59
+ "brainllm_tz": {
60
+ "type": "string",
61
+ "title": "Timezone (IANA)",
62
+ "description": "Optional. e.g. America/New_York. Leave blank to use the host clock.",
63
+ "required": false
64
+ }
65
+ },
66
+ "compatibility": {
67
+ "platforms": ["darwin", "win32", "linux"],
68
+ "runtimes": {
69
+ "bun": ">=1.0.0"
70
+ }
71
+ }
72
+ }
package/package.json ADDED
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "brainllm",
3
+ "version": "10.1.0",
4
+ "description": "MCP server that turns TriliumNext Notes into a persistent, graph-structured second brain for Claude and other LLM clients.",
5
+ "author": "Kevin Miiso Novo <miisodev@gmail.com>",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/miisodev/BrainLLM.git"
10
+ },
11
+ "homepage": "https://github.com/miisodev/BrainLLM#readme",
12
+ "bugs": {
13
+ "url": "https://github.com/miisodev/BrainLLM/issues"
14
+ },
15
+ "funding": [
16
+ "https://github.com/sponsors/miisodev",
17
+ "https://paypal.me/miisodev"
18
+ ],
19
+ "keywords": [
20
+ "mcp",
21
+ "model-context-protocol",
22
+ "trilium",
23
+ "trilium-next",
24
+ "second-brain",
25
+ "knowledge-graph",
26
+ "llm",
27
+ "claude",
28
+ "ai"
29
+ ],
30
+ "bin": {
31
+ "brainllm": "dist/index.js"
32
+ },
33
+ "main": "dist/index.js",
34
+ "files": [
35
+ "dist/index.js",
36
+ "public/",
37
+ "skills/brainllm/",
38
+ "config.example.json",
39
+ ".env.example",
40
+ "manifest.json",
41
+ "server.json",
42
+ "README.md",
43
+ "LICENSE"
44
+ ],
45
+ "engines": {
46
+ "bun": ">=1.0.0"
47
+ },
48
+ "scripts": {
49
+ "dev": "bun run --watch src/index.ts",
50
+ "build": "bun build src/index.ts --outfile dist/index.js --target bun",
51
+ "start": "bun run dist/index.js",
52
+ "test": "bun run src/test.ts",
53
+ "init": "bun run src/init.ts",
54
+ "icons": "bun run scripts/icons.ts",
55
+ "prepublishOnly": "bun run build"
56
+ },
57
+ "dependencies": {
58
+ "@modelcontextprotocol/sdk": "^1.29.0",
59
+ "zod": "^3.23.8"
60
+ },
61
+ "devDependencies": {
62
+ "@types/bun": "latest",
63
+ "sharp": "^0.35.3",
64
+ "typescript": "^5.0.0"
65
+ }
66
+ }
Binary file
@@ -0,0 +1,41 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ BrainLLM mark.
4
+
5
+ A 3x3 grid of nodes, six lit and three dark — the same figure the site's
6
+ wordmark carries. It reads as a small graph rather than a brain, which is
7
+ what the product actually is: typed nodes, some connected, some not yet.
8
+
9
+ Geometry is exact so it stays crisp at every raster size: a 512 canvas, dots
10
+ of r=38 on a 92px pitch, centred on 164 / 256 / 348 in both axes.
11
+
12
+ The plate is part of the mark, not a backdrop. Rasterised icons are served
13
+ into favicon and connector slots that sit on unknown backgrounds, and amber
14
+ dots alone would disappear against a light one.
15
+ -->
16
+ <svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512" role="img" aria-label="BrainLLM">
17
+ <defs>
18
+ <radialGradient id="glow" cx="50%" cy="42%" r="52%">
19
+ <stop offset="0%" stop-color="#f59e0b" stop-opacity="0.20"/>
20
+ <stop offset="100%" stop-color="#f59e0b" stop-opacity="0"/>
21
+ </radialGradient>
22
+ </defs>
23
+
24
+ <rect width="512" height="512" rx="114" fill="#0a0a0f"/>
25
+ <rect width="512" height="512" rx="114" fill="url(#glow)"/>
26
+ <rect x="1" y="1" width="510" height="510" rx="113" fill="none" stroke="#ffffff" stroke-opacity="0.09" stroke-width="2"/>
27
+
28
+ <g fill="#f59e0b">
29
+ <circle cx="164" cy="164" r="38"/>
30
+ <circle cx="348" cy="164" r="38"/>
31
+ <circle cx="164" cy="256" r="38"/>
32
+ <circle cx="256" cy="256" r="38"/>
33
+ <circle cx="256" cy="348" r="38"/>
34
+ <circle cx="348" cy="348" r="38"/>
35
+ </g>
36
+ <g fill="#3f3f46">
37
+ <circle cx="256" cy="164" r="38"/>
38
+ <circle cx="348" cy="256" r="38"/>
39
+ <circle cx="164" cy="348" r="38"/>
40
+ </g>
41
+ </svg>
Binary file
Binary file
Binary file
Binary file
package/server.json ADDED
@@ -0,0 +1,69 @@
1
+ {
2
+ "$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json",
3
+ "name": "io.github.miisodev/brainllm",
4
+ "description": "Persistent, graph-structured memory for LLMs, stored in TriliumNext Notes. Enforced note structure, a session protocol with a durable pre-close gate, a typed knowledge graph, and a maintenance lifecycle — in a note application the human can read and edit too.",
5
+ "version": "10.1.0",
6
+ "websiteUrl": "https://github.com/miisodev/BrainLLM#readme",
7
+ "repository": {
8
+ "url": "https://github.com/miisodev/BrainLLM",
9
+ "source": "github"
10
+ },
11
+ "packages": [
12
+ {
13
+ "registryType": "npm",
14
+ "identifier": "brainllm",
15
+ "version": "10.1.0",
16
+ "transport": {
17
+ "type": "stdio"
18
+ },
19
+ "environmentVariables": [
20
+ {
21
+ "name": "TRILIUM_BASE_URL",
22
+ "description": "Base URL of the TriliumNext instance, e.g. http://localhost:8080",
23
+ "isRequired": true,
24
+ "format": "string"
25
+ },
26
+ {
27
+ "name": "TRILIUM_ETAPI_TOKEN",
28
+ "description": "ETAPI token. Required unless TRILIUM_PASSWORD is set. Create one in Trilium under Options → ETAPI.",
29
+ "isRequired": false,
30
+ "isSecret": true,
31
+ "format": "string"
32
+ },
33
+ {
34
+ "name": "TRILIUM_PASSWORD",
35
+ "description": "Alternative to TRILIUM_ETAPI_TOKEN — BrainLLM mints a token on first start and caches it beside brainllm.json.",
36
+ "isRequired": false,
37
+ "isSecret": true,
38
+ "format": "string"
39
+ },
40
+ {
41
+ "name": "BRAINLLM_MODE",
42
+ "description": "core (default) exposes the 39 brain-aware tools; full additionally exposes the 33 raw ETAPI tools.",
43
+ "isRequired": false,
44
+ "format": "string",
45
+ "default": "core"
46
+ },
47
+ {
48
+ "name": "BRAINLLM_TZ",
49
+ "description": "IANA timezone used to stamp dated notes, e.g. Africa/Johannesburg. Defaults to the host timezone.",
50
+ "isRequired": false,
51
+ "format": "string"
52
+ },
53
+ {
54
+ "name": "BRAINLLM_OWNER_PASSWORD",
55
+ "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.",
56
+ "isRequired": false,
57
+ "isSecret": true,
58
+ "format": "string"
59
+ },
60
+ {
61
+ "name": "BRAINLLM_PUBLIC_URL",
62
+ "description": "Override for the public origin when a proxy rewrites Host. Must exactly match the URL entered in the client.",
63
+ "isRequired": false,
64
+ "format": "string"
65
+ }
66
+ ]
67
+ }
68
+ ]
69
+ }