@andespindola/brainlink 0.1.0-beta.1 → 0.1.0-beta.2

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/README.md CHANGED
@@ -380,6 +380,99 @@ Example MCP client configuration:
380
380
  }
381
381
  ```
382
382
 
383
+ For a locked-down setup, allowlist the vaults that MCP clients may access:
384
+
385
+ ```json
386
+ {
387
+ "mcpServers": {
388
+ "brainlink": {
389
+ "command": "brainlink-mcp",
390
+ "env": {
391
+ "BRAINLINK_ALLOWED_VAULTS": "/absolute/path/to/project-vault,/absolute/path/to/team-vault"
392
+ }
393
+ }
394
+ }
395
+ }
396
+ ```
397
+
398
+ ### Install In MCP Client Stores
399
+
400
+ Brainlink can be exposed to MCP-compatible client stores in two ways:
401
+
402
+ 1. Register the stdio server directly when the client accepts `mcpServers` configuration.
403
+ 2. Register the local plugin from this repository when the client supports a plugin gallery or local marketplace.
404
+
405
+ Direct MCP server setup:
406
+
407
+ ```bash
408
+ npm install -g @andespindola/brainlink@latest
409
+ command -v brainlink-mcp
410
+ ```
411
+
412
+ Use this server configuration in any MCP-compatible client that reads a JSON MCP manifest:
413
+
414
+ ```json
415
+ {
416
+ "mcpServers": {
417
+ "brainlink": {
418
+ "command": "brainlink-mcp"
419
+ }
420
+ }
421
+ }
422
+ ```
423
+
424
+ Local plugin gallery setup:
425
+
426
+ ```bash
427
+ npm install -g @andespindola/brainlink@latest
428
+ git clone https://github.com/andersonflima/brainlink.git "$HOME/brainlink"
429
+ mkdir -p "$HOME/plugins"
430
+ ln -s "$HOME/brainlink/plugins/brainlink" "$HOME/plugins/brainlink"
431
+ ```
432
+
433
+ Then register the plugin in the local marketplace file used by compatible clients:
434
+
435
+ ```bash
436
+ node <<'NODE'
437
+ const fs = require('node:fs')
438
+ const os = require('node:os')
439
+ const path = require('node:path')
440
+
441
+ const marketplacePath = path.join(os.homedir(), '.agents', 'plugins', 'marketplace.json')
442
+ const pluginEntry = {
443
+ name: 'brainlink',
444
+ source: {
445
+ source: 'local',
446
+ path: './plugins/brainlink'
447
+ },
448
+ policy: {
449
+ installation: 'AVAILABLE',
450
+ authentication: 'ON_INSTALL'
451
+ },
452
+ category: 'Productivity'
453
+ }
454
+
455
+ fs.mkdirSync(path.dirname(marketplacePath), { recursive: true })
456
+
457
+ const marketplace = fs.existsSync(marketplacePath)
458
+ ? JSON.parse(fs.readFileSync(marketplacePath, 'utf8'))
459
+ : {
460
+ name: 'local',
461
+ interface: {
462
+ displayName: 'Local'
463
+ },
464
+ plugins: []
465
+ }
466
+
467
+ const plugins = Array.isArray(marketplace.plugins) ? marketplace.plugins : []
468
+ marketplace.plugins = [...plugins.filter((plugin) => plugin?.name !== 'brainlink'), pluginEntry]
469
+
470
+ fs.writeFileSync(marketplacePath, `${JSON.stringify(marketplace, null, 2)}\n`)
471
+ NODE
472
+ ```
473
+
474
+ Restart the client after changing marketplace or MCP configuration so it reloads the Brainlink entry. The plugin starts `brainlink-mcp` and exposes the same tool set listed below.
475
+
383
476
  Available tools:
384
477
 
385
478
  - `brainlink_context`: read indexed context for a task or question.
@@ -387,7 +480,9 @@ Available tools:
387
480
  - `brainlink_add_note`: write durable Markdown memory and reindex.
388
481
  - `brainlink_add_file`: ingest a local file as a note and reindex.
389
482
  - `brainlink_index`: rebuild the vault index.
483
+ - `brainlink_stats`: read indexed vault statistics.
390
484
  - `brainlink_validate`: validate broken links and orphan notes.
485
+ - `brainlink_sync`: run index, stats, validation, broken-link and orphan checks in one call.
391
486
  - `brainlink_graph`: read indexed graph nodes and weighted links.
392
487
  - `brainlink_broken_links`: list unresolved wiki links.
393
488
  - `brainlink_orphans`: list disconnected notes.
@@ -646,11 +741,11 @@ Brainlink reads `brainlink.config.json` or `.brainlink.json` from the current wo
646
741
  "defaultSearchMode": "hybrid",
647
742
  "chunkSize": 1200
648
743
  }
744
+ ```
649
745
 
650
746
  `defaultAgent` is optional. When set, CLI and MCP calls that omit `--agent`/`agent` use this value automatically. If not set, behavior remains as before.
651
747
 
652
748
  `autoIndexOnWrite` is optional and defaults to `true`. Set it to `false` to defer indexing after writes.
653
- ```
654
749
 
655
750
  Use `"embeddingProvider": "none"` when you want FTS-only indexing.
656
751
 
@@ -763,17 +858,18 @@ Detailed notes:
763
858
  - HTTP API is local and unauthenticated.
764
859
  - Watch mode depends on the platform filesystem watcher.
765
860
 
766
- ## Alpha Scope
861
+ ## Beta Scope
767
862
 
768
- `0.1.0-alpha.0` is intended to prove the local-first memory loop:
863
+ `0.1.0-beta.0` is intended to stabilize the local-first memory loop:
769
864
 
770
865
  - Markdown as durable memory.
771
866
  - SQLite FTS plus local embeddings and semantic buckets as rebuildable retrieval index.
772
867
  - CLI as the primary agent interface.
773
868
  - HTTP graph API and frontend as inspection tools.
774
869
  - Agent namespaces to avoid context mixing.
870
+ - MCP tools for context retrieval, durable memory writes and graph maintenance.
775
871
 
776
- The alpha includes local semantic retrieval. Remote embedding providers, remote auth, advanced deduplication and graph editing are future milestones.
872
+ The beta includes local semantic retrieval. Remote embedding providers, remote auth, advanced deduplication and graph editing are future milestones.
777
873
 
778
874
  ## Security
779
875
 
@@ -523,7 +523,9 @@ Available MCP tools:
523
523
  - `brainlink_add_note`
524
524
  - `brainlink_add_file`
525
525
  - `brainlink_index`
526
+ - `brainlink_stats`
526
527
  - `brainlink_validate`
528
+ - `brainlink_sync`
527
529
  - `brainlink_graph`
528
530
  - `brainlink_broken_links`
529
531
  - `brainlink_orphans`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@andespindola/brainlink",
3
- "version": "0.1.0-beta.1",
3
+ "version": "0.1.0-beta.2",
4
4
  "description": "Local-first knowledge memory for agents with Markdown, backlinks, indexing and context retrieval.",
5
5
  "type": "module",
6
6
  "license": "MIT",