@brain-protocol/mcp 0.6.3 → 0.7.1

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.
@@ -1,18 +1,25 @@
1
1
  import { BrainClient, withRetry } from "@brain-protocol/sdk";
2
- import { CircuitBreaker } from "./circuit-breaker.js";
2
+ import { CircuitBreaker, } from "./circuit-breaker.js";
3
3
  export class CloudStore {
4
4
  mode = "cloud";
5
5
  client;
6
6
  breaker;
7
7
  retryConfig;
8
+ defaultBrainId = null;
9
+ apiKey;
8
10
  constructor(baseUrl, apiKey, options) {
9
11
  this.client = new BrainClient({
10
12
  baseUrl,
11
13
  apiKey,
12
14
  });
15
+ this.apiKey = apiKey;
13
16
  this.breaker = new CircuitBreaker(options?.circuitBreaker);
14
17
  this.retryConfig = options?.retry ?? {};
15
18
  }
19
+ /** The personal brain ID resolved during auto-onboarding */
20
+ get personalBrainId() {
21
+ return this.defaultBrainId;
22
+ }
16
23
  /** Circuit breaker state for observability */
17
24
  get circuitState() {
18
25
  return this.breaker.state;
@@ -29,15 +36,29 @@ export class CloudStore {
29
36
  }
30
37
  // Reset breaker on successful init
31
38
  this.breaker.reset();
39
+ // Auto-onboarding: if authenticated, ensure personal brain exists
40
+ if (this.apiKey) {
41
+ try {
42
+ const result = await this.client.onboarding.setup();
43
+ if (result.personal_brain?.id) {
44
+ this.defaultBrainId = result.personal_brain.id;
45
+ }
46
+ }
47
+ catch {
48
+ // Non-fatal: onboarding may fail for read-only keys or older servers
49
+ }
50
+ }
32
51
  }
33
52
  async close() {
34
53
  // No-op for HTTP client
35
54
  }
36
55
  async query(options) {
37
- return this.resilient(() => this.client.knowledge.query(options));
56
+ const opts = this.withDefaultBrain(options);
57
+ return this.resilient(() => this.client.knowledge.query(opts));
38
58
  }
39
59
  async create(input) {
40
- return this.resilient(() => this.client.knowledge.create(input));
60
+ const data = this.withDefaultBrain(input);
61
+ return this.resilient(() => this.client.knowledge.create(data));
41
62
  }
42
63
  async getById(id) {
43
64
  return this.resilient(() => this.client.knowledge.get(id));
@@ -47,7 +68,9 @@ export class CloudStore {
47
68
  return await this.resilient(() => this.client.knowledge.update(id, input));
48
69
  }
49
70
  catch (err) {
50
- if (err instanceof Error && "status" in err && err.status === 404) {
71
+ if (err instanceof Error &&
72
+ "status" in err &&
73
+ err.status === 404) {
51
74
  return null;
52
75
  }
53
76
  throw err;
@@ -63,12 +86,41 @@ export class CloudStore {
63
86
  return this.resilient(() => this.client.graph.traverse(entryId, depth));
64
87
  }
65
88
  async getStats() {
66
- return this.resilient(() => this.client.stats());
89
+ const raw = await this.resilient(() => this.client.stats());
90
+ // API returns { knowledge: { total_entries, total_edges, ... } }
91
+ // Map to StoreStats camelCase shape
92
+ const data = raw;
93
+ const k = (data.knowledge ?? data);
94
+ return {
95
+ totalEntries: (k.total_entries ?? k.totalEntries ?? 0),
96
+ totalEdges: (k.total_edges ?? k.totalEdges ?? 0),
97
+ categories: (k.entries_by_category ?? k.categories ?? {}),
98
+ avgConfidence: (k.avg_confidence ?? k.avgConfidence ?? 0),
99
+ oldestEntry: null,
100
+ newestEntry: (k.latest_entry_at ?? k.newestEntry ?? null),
101
+ };
67
102
  }
68
103
  async exportAll() {
69
- const result = await this.resilient(() => this.client.export());
104
+ // Brain-scoped export: fetch only entries from the user's brain (Round 13)
105
+ const allEntries = [];
106
+ let offset = 0;
107
+ const limit = 100;
108
+ while (true) {
109
+ const opts = this.withDefaultBrain({
110
+ limit,
111
+ offset,
112
+ brain_id: undefined,
113
+ });
114
+ const { entries } = await this.resilient(() => this.client.knowledge.query(opts));
115
+ allEntries.push(...entries);
116
+ if (entries.length < limit)
117
+ break;
118
+ offset += limit;
119
+ }
70
120
  return {
71
- ...result,
121
+ entries: allEntries,
122
+ edges: [],
123
+ exportedAt: new Date().toISOString(),
72
124
  mode: "cloud",
73
125
  };
74
126
  }
@@ -76,7 +128,7 @@ export class CloudStore {
76
128
  let imported = 0;
77
129
  for (const entry of data.entries) {
78
130
  try {
79
- await this.resilient(() => this.client.knowledge.create({
131
+ const input = this.withDefaultBrain({
80
132
  content: entry.content,
81
133
  content_type: entry.content_type,
82
134
  author: entry.author,
@@ -86,7 +138,8 @@ export class CloudStore {
86
138
  metadata: entry.metadata,
87
139
  brain_id: entry.brain_id,
88
140
  is_public: entry.is_public,
89
- }));
141
+ });
142
+ await this.resilient(() => this.client.knowledge.create(input));
90
143
  imported++;
91
144
  }
92
145
  catch {
@@ -167,16 +220,36 @@ export class CloudStore {
167
220
  attester_signatures: input.attester_signatures,
168
221
  },
169
222
  description: input.description,
170
- brain_id: input.brain_id,
223
+ brain_id: input.brain_id || this.defaultBrainId || undefined,
171
224
  confidence: input.confidence,
172
225
  author: input.author,
173
226
  }));
174
227
  }
175
228
  async queryGizaProofs(options) {
176
- return this.resilient(() => this.client.giza.queryProofs(options));
229
+ const opts = this.withDefaultBrain(options);
230
+ return this.resilient(() => this.client.giza.queryProofs(opts));
177
231
  }
178
232
  async linkProofToEntry(proofEntryId, targetEntryId, edgeType = "validates") {
179
233
  return this.resilient(() => this.client.giza.linkProofToEntry(proofEntryId, targetEntryId, edgeType));
180
234
  }
235
+ // --- Billing ---
236
+ async getSubscription() {
237
+ return this.resilient(() => this.client.billing.subscription());
238
+ }
239
+ // --- Brain management ---
240
+ async listBrains() {
241
+ return this.resilient(() => this.client.brains.list());
242
+ }
243
+ async createBrain(input) {
244
+ return this.resilient(() => this.client.brains.create(input));
245
+ }
246
+ // --- Helpers ---
247
+ /** Inject defaultBrainId into options if no brain_id is specified */
248
+ withDefaultBrain(options) {
249
+ if (!options.brain_id && this.defaultBrainId) {
250
+ return { ...options, brain_id: this.defaultBrainId };
251
+ }
252
+ return options;
253
+ }
181
254
  }
182
255
  //# sourceMappingURL=cloud.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../src/store/cloud.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../src/store/cloud.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { z } from "zod";
2
+ import type { StoreAdapter } from "../store/adapter.js";
3
+ export declare const createBrainSchema: z.ZodObject<{
4
+ name: z.ZodString;
5
+ description: z.ZodOptional<z.ZodString>;
6
+ }, "strip", z.ZodTypeAny, {
7
+ name: string;
8
+ description?: string | undefined;
9
+ }, {
10
+ name: string;
11
+ description?: string | undefined;
12
+ }>;
13
+ export declare function listBrains(store: StoreAdapter): Promise<unknown>;
14
+ export declare function createBrain(store: StoreAdapter, args: Record<string, unknown>): Promise<unknown>;
15
+ //# sourceMappingURL=brains.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brains.d.ts","sourceRoot":"","sources":["../../src/tools/brains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAC;AAEH,wBAAsB,UAAU,CAAC,KAAK,EAAE,YAAY,oBAQnD;AAED,wBAAsB,WAAW,CAC/B,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,oBAU9B"}
@@ -0,0 +1,23 @@
1
+ import { z } from "zod";
2
+ export const createBrainSchema = z.object({
3
+ name: z.string().min(1).max(100),
4
+ description: z.string().max(500).optional(),
5
+ });
6
+ export async function listBrains(store) {
7
+ if (!store.listBrains) {
8
+ return {
9
+ error: "Brain management requires cloud mode. Set BRAIN_API_URL to enable.",
10
+ };
11
+ }
12
+ return store.listBrains();
13
+ }
14
+ export async function createBrain(store, args) {
15
+ if (!store.createBrain) {
16
+ return {
17
+ error: "Brain management requires cloud mode. Set BRAIN_API_URL to enable.",
18
+ };
19
+ }
20
+ const input = createBrainSchema.parse(args);
21
+ return store.createBrain(input);
22
+ }
23
+ //# sourceMappingURL=brains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"brains.js","sourceRoot":"","sources":["../../src/tools/brains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAmB;IAClD,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACtB,OAAO;YACL,KAAK,EACH,oEAAoE;SACvE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,UAAU,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAmB,EACnB,IAA6B;IAE7B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACvB,OAAO;YACL,KAAK,EACH,oEAAoE;SACvE,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC"}
@@ -8,7 +8,37 @@
8
8
  * - suggest_connections: Find potential graph connections for an entry
9
9
  * - search_with_context: Graph-enriched search (search + connected entries)
10
10
  */
11
+ import { z } from "zod";
11
12
  import type { StoreAdapter } from "../store/adapter.js";
13
+ export declare const suggestConnectionsSchema: z.ZodObject<{
14
+ entry_id: z.ZodString;
15
+ limit: z.ZodOptional<z.ZodNumber>;
16
+ brain_id: z.ZodOptional<z.ZodString>;
17
+ }, "strip", z.ZodTypeAny, {
18
+ entry_id: string;
19
+ limit?: number | undefined;
20
+ brain_id?: string | undefined;
21
+ }, {
22
+ entry_id: string;
23
+ limit?: number | undefined;
24
+ brain_id?: string | undefined;
25
+ }>;
26
+ export declare const searchWithContextSchema: z.ZodObject<{
27
+ q: z.ZodString;
28
+ limit: z.ZodOptional<z.ZodNumber>;
29
+ graph_depth: z.ZodOptional<z.ZodNumber>;
30
+ brain_id: z.ZodOptional<z.ZodString>;
31
+ }, "strip", z.ZodTypeAny, {
32
+ q: string;
33
+ limit?: number | undefined;
34
+ brain_id?: string | undefined;
35
+ graph_depth?: number | undefined;
36
+ }, {
37
+ q: string;
38
+ limit?: number | undefined;
39
+ brain_id?: string | undefined;
40
+ graph_depth?: number | undefined;
41
+ }>;
12
42
  /**
13
43
  * Fetch consciousness trend from Brain API (cloud mode only).
14
44
  * Wraps GET /health/vitals/history.
@@ -1 +1 @@
1
- {"version":3,"file":"consciousness.d.ts","sourceRoot":"","sources":["../../src/tools/consciousness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAQxD;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,OAAO,CAAC,CAiClB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,OAAO,CAAC,CAqDlB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,OAAO,CAAC,CA+DlB"}
1
+ {"version":3,"file":"consciousness.d.ts","sourceRoot":"","sources":["../../src/tools/consciousness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;EAInC,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;EAKlC,CAAC;AAQH;;;GAGG;AACH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,OAAO,CAAC,CAiClB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,OAAO,CAAC,CA6DlB;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,OAAO,CAAC,CAwFlB"}
@@ -1,3 +1,25 @@
1
+ /**
2
+ * Consciousness & Self-Healing MCP Tools — Epoch 25
3
+ *
4
+ * Academic ref: "Tool Use in Large Language Models: A Survey" (Qin et al., 2024).
5
+ *
6
+ * Provides MCP tools for:
7
+ * - get_consciousness_trend: Historical consciousness score analysis
8
+ * - suggest_connections: Find potential graph connections for an entry
9
+ * - search_with_context: Graph-enriched search (search + connected entries)
10
+ */
11
+ import { z } from "zod";
12
+ export const suggestConnectionsSchema = z.object({
13
+ entry_id: z.string().uuid(),
14
+ limit: z.number().min(1).max(20).optional(),
15
+ brain_id: z.string().uuid().optional(),
16
+ });
17
+ export const searchWithContextSchema = z.object({
18
+ q: z.string().min(1),
19
+ limit: z.number().min(1).max(20).optional(),
20
+ graph_depth: z.number().min(0).max(2).optional(),
21
+ brain_id: z.string().uuid().optional(),
22
+ });
1
23
  /**
2
24
  * Fetch consciousness trend from Brain API (cloud mode only).
3
25
  * Wraps GET /health/vitals/history.
@@ -37,11 +59,15 @@ export async function getConsciousnessTrend(store, args) {
37
59
  * Wraps the graph enrichment discovery logic.
38
60
  */
39
61
  export async function suggestConnections(store, args) {
40
- const entryId = args.entry_id;
41
- if (!entryId) {
42
- return { error: "entry_id is required" };
62
+ const parsed = suggestConnectionsSchema.safeParse(args);
63
+ if (!parsed.success) {
64
+ return {
65
+ error: `Invalid input: ${parsed.error.issues.map((i) => i.message).join(", ")}`,
66
+ };
43
67
  }
44
- const limit = Math.min(Math.max(Number(args.limit) || 5, 1), 20);
68
+ const entryId = parsed.data.entry_id;
69
+ const limit = parsed.data.limit ?? 5;
70
+ const brainId = parsed.data.brain_id;
45
71
  try {
46
72
  // Get the entry's graph to see existing connections
47
73
  const graph = await store.traverseGraph(entryId, 1);
@@ -53,16 +79,18 @@ export async function suggestConnections(store, args) {
53
79
  // Find entries in the same category that aren't already connected
54
80
  const connectedIds = new Set();
55
81
  if (graph && typeof graph === "object" && "nodes" in graph) {
56
- const nodes = graph.nodes;
82
+ const nodes = graph
83
+ .nodes;
57
84
  for (const node of nodes) {
58
85
  connectedIds.add(node.entry.id);
59
86
  }
60
87
  }
61
- // Search for similar content
88
+ // Search for similar content (scoped to brain_id if provided)
62
89
  const similar = await store.query({
63
90
  q: entry.content.slice(0, 200),
64
91
  category: entry.category,
65
92
  limit: limit + connectedIds.size,
93
+ ...(brainId ? { brain_id: brainId } : {}),
66
94
  });
67
95
  const suggestions = similar.entries
68
96
  .filter((e) => !connectedIds.has(e.id) && e.id !== entryId)
@@ -81,7 +109,9 @@ export async function suggestConnections(store, args) {
81
109
  };
82
110
  }
83
111
  catch (error) {
84
- return { error: `Failed to suggest connections: ${error instanceof Error ? error.message : String(error)}` };
112
+ return {
113
+ error: `Failed to suggest connections: ${error instanceof Error ? error.message : String(error)}`,
114
+ };
85
115
  }
86
116
  }
87
117
  /**
@@ -89,15 +119,23 @@ export async function suggestConnections(store, args) {
89
119
  * Returns search results enriched with their graph neighbors.
90
120
  */
91
121
  export async function searchWithContext(store, args) {
92
- const q = args.q;
93
- if (!q) {
94
- return { error: "q (search query) is required" };
122
+ const parsed = searchWithContextSchema.safeParse(args);
123
+ if (!parsed.success) {
124
+ return {
125
+ error: `Invalid input: ${parsed.error.issues.map((i) => i.message).join(", ")}`,
126
+ };
95
127
  }
96
- const limit = Math.min(Math.max(Number(args.limit) || 5, 1), 20);
97
- const graphDepth = Math.min(Math.max(Number(args.graph_depth) || 1, 0), 2);
128
+ const q = parsed.data.q;
129
+ const limit = parsed.data.limit ?? 5;
130
+ const graphDepth = parsed.data.graph_depth ?? 1;
131
+ const brainId = parsed.data.brain_id;
98
132
  try {
99
- // Step 1: Search
100
- const searchResults = await store.query({ q, limit });
133
+ // Step 1: Search (scoped to brain_id if provided)
134
+ const searchResults = await store.query({
135
+ q,
136
+ limit,
137
+ ...(brainId ? { brain_id: brainId } : {}),
138
+ });
101
139
  if (searchResults.entries.length === 0) {
102
140
  return { results: [], total: 0, context_entries: 0 };
103
141
  }
@@ -111,7 +149,8 @@ export async function searchWithContext(store, args) {
111
149
  if (graph && typeof graph === "object" && "nodes" in graph) {
112
150
  const nodes = graph.nodes;
113
151
  for (const node of nodes) {
114
- if (node.depth > 0 && !searchResults.entries.some((e) => e.id === node.entry.id)) {
152
+ if (node.depth > 0 &&
153
+ !searchResults.entries.some((e) => e.id === node.entry.id)) {
115
154
  contextEntries.set(node.entry.id, {
116
155
  content_preview: node.entry.content.slice(0, 150),
117
156
  category: node.entry.category,
@@ -144,7 +183,9 @@ export async function searchWithContext(store, args) {
144
183
  };
145
184
  }
146
185
  catch (error) {
147
- return { error: `Search failed: ${error instanceof Error ? error.message : String(error)}` };
186
+ return {
187
+ error: `Search failed: ${error instanceof Error ? error.message : String(error)}`,
188
+ };
148
189
  }
149
190
  }
150
191
  /** Simple edge type inference for suggestions. */
@@ -1 +1 @@
1
- {"version":3,"file":"consciousness.js","sourceRoot":"","sources":["../../src/tools/consciousness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consciousness.js","sourceRoot":"","sources":["../../src/tools/consciousness.ts"],"names":[],"mappings":"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"}