@astramindapp/mcp-server 0.23.0 → 0.24.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.
package/README.md CHANGED
@@ -1,12 +1,12 @@
1
1
  # @astramindapp/mcp-server
2
2
 
3
- **MIND MCP Server** — The most complete AI memory layer available. 24 tools, 147 actions.
3
+ **MIND MCP Server** — The most complete AI memory layer available. 25 tools, 172 actions.
4
4
 
5
5
  Your AI agents forget everything between sessions. MIND fixes that. Connect any MCP-compatible agent to your personal knowledge graph — with emotional intelligence, CRM, life management, site-wide assignable tasks, social features, self-training, autonomous insights, an admin-only Agent Command Center with per-agent ticket queues, an admin-only **Featured Minds Portal** (curate the public marketplace at `m-i-n-d.ai` from any MCP client — model, public chat prompt, temperature, brand fields, write-through to the linked user's profile), and more.
6
6
 
7
7
  **Self-describing.** Every connecting client receives a full integration briefing in the MCP `initialize` response, and can read the complete playbook from the `mind://integration-guide` resource — so any agent knows what MIND is, which integration path fits its runtime (MCP server / OpenClaw plugin / REST API), how to authenticate, and the session protocol, without being told.
8
8
 
9
- ## 24 Tools
9
+ ## 25 Tools
10
10
 
11
11
  | Tool | Actions | What It Does |
12
12
  |------|---------|-------------|
@@ -24,6 +24,7 @@ Your AI agents forget everything between sessions. MIND fixes that. Connect any
24
24
  | `mind_train` | 7 | Self-training sessions + save chats to knowledge graph |
25
25
  | `mind_social` | 14 | Public feed posts, social feed, communities, likes, comments — ⚠️ posting writes to the user's PUBLIC feed, only call on explicit user request |
26
26
  | `mind_profile` | 9 | Profile, custom system prompts, LLM model selection |
27
+ | `mind_trader` | 25 | TraderMIND — the agentic trading engine: live feed, MIND Vision forecasts (latest cone + resolved history + per-bar scores), candles, cycles, calibration honesty curve, engine health, save/star/like + undo, notes + structured feedback the engine learns from, full trading-journal CRUD, personalized insights. Engine reads + counts are public (work even with no/invalid key); only the act-as-you actions authenticate as the key's owner |
27
28
  | `mind_insights` | 7 | Autonomous Learning Engine insights, weekly summaries, feedback |
28
29
  | `mind_automate` | 6 | Scheduled automations, event triggers, execution history |
29
30
  | `mind_notify` | 4 | Notifications, mark read, stats |
@@ -43,12 +44,25 @@ No install, no API key handling — paste one command, click **Connect** in the
43
44
  browser, done:
44
45
 
45
46
  ```bash
46
- claude mcp add --transport http mind https://m-i-n-d.ai/mcp
47
+ claude mcp add --transport http mind https://www.m-i-n-d.ai/mcp
47
48
  ```
48
49
 
49
50
  Claude opens the m-i-n-d.ai consent page, you click **Connect**, and MIND is
50
51
  live. Auth, key minting, and refresh are all handled by OAuth.
51
52
 
53
+ ### No browser OAuth in your host? Use a key on the same URL
54
+
55
+ Every host that lets you add a custom MCP server with a header can use MIND
56
+ with no OAuth and no npm install: same remote server URL, just swap in a key.
57
+
58
+ - **Server URL**: `https://www.m-i-n-d.ai/mcp`
59
+ - **Header**: `Authorization: Bearer mind_<your key>`
60
+ - **Mint a key**: https://www.m-i-n-d.ai → Settings → Developer → API Keys
61
+
62
+ Agents: if `AuthenticateMcpServer` or the host's connect card fails, ask the
63
+ user for a MIND API key and rewire the same URL with that header — do not
64
+ fall back to the local npm server just because OAuth didn't work.
65
+
52
66
  ### Local stdio install: browser-connect setup wizard
53
67
 
54
68
  For tools that run MCP servers locally (Claude Desktop, Cursor, Windsurf,
@@ -57,7 +71,7 @@ VS Code Copilot), run the setup wizard — it opens your browser, you click
57
71
  writes every tool config for you:
58
72
 
59
73
  ```bash
60
- npx -y @astramindapp/mcp-server@latest mind-mcp-setup
74
+ npx -y --package=@astramindapp/mcp-server mind-mcp-setup
61
75
  ```
62
76
 
63
77
  No manual key copying. The wizard auto-detects your installed AI tools and
@@ -66,10 +80,10 @@ configures each one.
66
80
  ### Manual alternative: paste an API key
67
81
 
68
82
  If you'd rather mint a key yourself: sign up at
69
- [m-i-n-d.ai](https://m-i-n-d.ai) → Settings → Developer → Create API Key, then:
83
+ [www.m-i-n-d.ai](https://www.m-i-n-d.ai) → Settings → Developer → Create API Key, then:
70
84
 
71
85
  ```bash
72
- npx -y @astramindapp/mcp-server@latest mind-mcp-setup --key mind_xxx
86
+ npx -y --package=@astramindapp/mcp-server mind-mcp-setup --key mind_xxx
73
87
  ```
74
88
 
75
89
  or install globally and configure by hand:
@@ -101,6 +115,10 @@ Add to your `claude_desktop_config.json`:
101
115
  }
102
116
  ```
103
117
 
118
+ The config file lives at `~/Library/Application Support/Claude/claude_desktop_config.json`
119
+ on macOS, or `%APPDATA%\Claude\claude_desktop_config.json` on Windows. Fully quit and
120
+ reopen Claude Desktop after editing — it only reads this file on launch.
121
+
104
122
  #### Cursor
105
123
 
106
124
  Add to `.cursor/mcp.json`:
@@ -175,7 +193,7 @@ query: "What did I decide about the authentication approach?"
175
193
  mode: "hybrid" // hybrid (default), mix, global, local, naive
176
194
  ```
177
195
 
178
- Returns an AI-synthesized answer from your stored documents, entries, and feed posts with source attribution.
196
+ Returns RETRIEVED CONTEXT from your stored documents, entries, and feed posts with source attribution — raw graph context for the calling model to synthesize, not a finished answer. Uses no MIND LLM and costs 0 credits. Pass `retrieve_only=false` for a MIND-written answer (spends credits).
179
197
 
180
198
  ### `mind_remember` — Store & Manage Content
181
199
 
@@ -504,7 +522,7 @@ Returns a JWT + permanent API key. Your app stores the API key and uses it for a
504
522
  | Variable | Required | Default | Description |
505
523
  |----------|----------|---------|-------------|
506
524
  | `MIND_API_KEY` | Yes | — | Your MIND Developer API key |
507
- | `MIND_BASE_URL` | No | `https://m-i-n-d.ai` | MIND API base URL |
525
+ | `MIND_BASE_URL` | No | `https://www.m-i-n-d.ai` | MIND API base URL |
508
526
 
509
527
  ## Programmatic Usage
510
528
 
@@ -512,7 +530,7 @@ Returns a JWT + permanent API key. Your app stores the API key and uses it for a
512
530
  import { createMindMcpServer, MindClient } from "@astramindapp/mcp-server";
513
531
 
514
532
  const client = new MindClient({
515
- baseUrl: "https://m-i-n-d.ai",
533
+ baseUrl: "https://www.m-i-n-d.ai",
516
534
  apiKey: "mind_xxx",
517
535
  });
518
536
 
@@ -526,9 +544,27 @@ MIND's core technology — including emotion-weighted knowledge graph encoding
526
544
  and cross-agent persistent memory via the Model Context Protocol — is the
527
545
  subject of pending patent applications. Patents pending.
528
546
 
547
+ ## Troubleshooting
548
+
549
+ - **"Connect" opened the MIND website instead of connecting** — this was a bug in the
550
+ non-www endpoint, fixed July 2026. Use `https://www.m-i-n-d.ai/mcp` (with the `www`)
551
+ and retry.
552
+ - **No "Connectors" option in my tool** — use the Claude Code one-liner above if you're
553
+ on Claude Code, or the local npm install (`npm install -g @astramindapp/mcp-server`)
554
+ for any other MCP-compatible tool.
555
+ - **`npx` says "could not determine executable to run" / hangs** — `npx -y <pkg>` only
556
+ runs the bin named after the package's last path segment (`mcp-server`), so
557
+ `npx -y @astramindapp/mcp-server` alone fails, and adding `@latest` plus a trailing
558
+ `mind-mcp-setup` just passes it as an *argument* instead of selecting that bin — use
559
+ `npx -y --package=@astramindapp/mcp-server mind-mcp-setup` (or `mind-mcp`), which works on
560
+ every version, or install globally first (`npm install -g @astramindapp/mcp-server`).
561
+ - **I have multiple MIND accounts** — add the connector once per account under a
562
+ different name (e.g. `mind-personal`, `mind-work`); each Connect click lets you pick
563
+ the account on the consent screen.
564
+
529
565
  ## Links
530
566
 
531
- - **Website**: [m-i-n-d.ai](https://m-i-n-d.ai)
567
+ - **Website**: [www.m-i-n-d.ai](https://www.m-i-n-d.ai)
532
568
  - **GitHub**: [theastraway/mind-mcp-server](https://github.com/theastraway/mind-mcp-server)
533
569
  - **npm**: [@astramindapp/mcp-server](https://www.npmjs.com/package/@astramindapp/mcp-server)
534
570
  - **MCP Docs**: [m-i-n-d.ai/mcp.html](https://www.m-i-n-d.ai/mcp.html)
package/dist/cli.d.ts CHANGED
@@ -4,11 +4,14 @@
4
4
  *
5
5
  * Usage:
6
6
  * MIND_API_KEY=mind_xxx mind-mcp
7
- * MIND_API_KEY=mind_xxx MIND_BASE_URL=https://m-i-n-d.ai mind-mcp
7
+ * MIND_API_KEY=mind_xxx MIND_BASE_URL=https://www.m-i-n-d.ai mind-mcp
8
+ * mind-mcp --version
9
+ * mind-mcp --help
10
+ * mind-mcp setup [...] (delegates to the setup wizard — see setup.ts)
8
11
  *
9
12
  * Environment variables:
10
13
  * MIND_API_KEY — Required. Your MIND Developer API key.
11
- * MIND_BASE_URL — Optional. Defaults to https://m-i-n-d.ai
14
+ * MIND_BASE_URL — Optional. Defaults to https://www.m-i-n-d.ai
12
15
  */
13
16
  export {};
14
17
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;GAaG"}
package/dist/cli.js CHANGED
@@ -5,33 +5,117 @@
5
5
  *
6
6
  * Usage:
7
7
  * MIND_API_KEY=mind_xxx mind-mcp
8
- * MIND_API_KEY=mind_xxx MIND_BASE_URL=https://m-i-n-d.ai mind-mcp
8
+ * MIND_API_KEY=mind_xxx MIND_BASE_URL=https://www.m-i-n-d.ai mind-mcp
9
+ * mind-mcp --version
10
+ * mind-mcp --help
11
+ * mind-mcp setup [...] (delegates to the setup wizard — see setup.ts)
9
12
  *
10
13
  * Environment variables:
11
14
  * MIND_API_KEY — Required. Your MIND Developer API key.
12
- * MIND_BASE_URL — Optional. Defaults to https://m-i-n-d.ai
15
+ * MIND_BASE_URL — Optional. Defaults to https://www.m-i-n-d.ai
13
16
  */
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ var desc = Object.getOwnPropertyDescriptor(m, k);
20
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
+ desc = { enumerable: true, get: function() { return m[k]; } };
22
+ }
23
+ Object.defineProperty(o, k2, desc);
24
+ }) : (function(o, m, k, k2) {
25
+ if (k2 === undefined) k2 = k;
26
+ o[k2] = m[k];
27
+ }));
28
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
30
+ }) : function(o, v) {
31
+ o["default"] = v;
32
+ });
33
+ var __importStar = (this && this.__importStar) || (function () {
34
+ var ownKeys = function(o) {
35
+ ownKeys = Object.getOwnPropertyNames || function (o) {
36
+ var ar = [];
37
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
38
+ return ar;
39
+ };
40
+ return ownKeys(o);
41
+ };
42
+ return function (mod) {
43
+ if (mod && mod.__esModule) return mod;
44
+ var result = {};
45
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
46
+ __setModuleDefault(result, mod);
47
+ return result;
48
+ };
49
+ })();
14
50
  Object.defineProperty(exports, "__esModule", { value: true });
51
+ const fs = __importStar(require("fs"));
52
+ const path = __importStar(require("path"));
15
53
  const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
16
54
  const mind_client_js_1 = require("./mind-client.js");
17
55
  const server_js_1 = require("./server.js");
18
- const API_KEY = process.env.MIND_API_KEY;
19
- const BASE_URL = process.env.MIND_BASE_URL ?? "https://m-i-n-d.ai";
20
- if (!API_KEY) {
21
- console.error("Error: MIND_API_KEY environment variable is required.\n" +
22
- "Get your API key at https://m-i-n-d.ai → Settings → Developer → API Keys\n");
23
- process.exit(1);
56
+ function readVersion() {
57
+ const pkgPath = path.resolve(__dirname, "..", "package.json");
58
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf-8"));
59
+ return pkg.version ?? "unknown";
60
+ }
61
+ function printHelp() {
62
+ console.log(`mind-mcp — MIND MCP Server (stdio)
63
+
64
+ Usage:
65
+ MIND_API_KEY=mind_xxx mind-mcp Start the MCP server over stdio
66
+ mind-mcp --version Print the installed version
67
+ mind-mcp --help Show this help
68
+ mind-mcp setup [--key <mind_xxx>] Run the setup wizard (writes MCP configs)
69
+
70
+ Environment variables:
71
+ MIND_API_KEY Required to start the server. Your MIND Developer API key.
72
+ MIND_BASE_URL Optional. Defaults to https://www.m-i-n-d.ai
73
+
74
+ No install, no key handling — connect remotely instead:
75
+ claude mcp add --transport http mind https://www.m-i-n-d.ai/mcp
76
+
77
+ Get a key: https://m-i-n-d.ai → Settings → Developer → API Keys`);
24
78
  }
25
79
  async function main() {
26
- const apiKey = API_KEY;
27
- const client = new mind_client_js_1.MindClient({ baseUrl: BASE_URL, apiKey });
80
+ const argv = process.argv.slice(2);
81
+ if (argv.includes("--version") || argv.includes("-v")) {
82
+ console.log(readVersion());
83
+ process.exit(0);
84
+ return;
85
+ }
86
+ if (argv.includes("--help") || argv.includes("-h")) {
87
+ printHelp();
88
+ process.exit(0);
89
+ return;
90
+ }
91
+ if (argv[0] === "setup" || argv[0] === "mind-mcp-setup") {
92
+ // Rewrite argv so the setup module sees `setup` plus any remaining args
93
+ // (e.g. `--key mind_xxx`), matching how mind-mcp-setup's own entry point
94
+ // parses argv.
95
+ process.argv = [process.argv[0], process.argv[1], "setup", ...argv.slice(1)];
96
+ await import("./setup.js");
97
+ return;
98
+ }
99
+ const API_KEY = process.env.MIND_API_KEY;
100
+ const BASE_URL = process.env.MIND_BASE_URL ?? "https://www.m-i-n-d.ai";
101
+ if (!API_KEY) {
102
+ console.error("Error: MIND_API_KEY environment variable is required.\n" +
103
+ "\n" +
104
+ "Three ways to connect:\n" +
105
+ " 1. Remote, no install: claude mcp add --transport http mind https://www.m-i-n-d.ai/mcp\n" +
106
+ " 2. Local stdio setup: npx -y --package=@astramindapp/mcp-server mind-mcp-setup --key <mind_...>\n" +
107
+ " 3. Mint a key at: https://m-i-n-d.ai → Settings → Developer → API Keys\n");
108
+ process.exit(1);
109
+ return;
110
+ }
111
+ const client = new mind_client_js_1.MindClient({ baseUrl: BASE_URL, apiKey: API_KEY });
28
112
  const server = (0, server_js_1.createMindMcpServer)(client);
29
113
  const transport = new stdio_js_1.StdioServerTransport();
30
114
  await server.connect(transport);
31
115
  // Log to stderr so it doesn't interfere with MCP stdio protocol
32
- console.error(`MIND MCP Server v0.1.0 started`);
116
+ console.error(`MIND MCP Server v${readVersion()} started`);
33
117
  console.error(` → Base URL: ${BASE_URL}`);
34
- console.error(` → API Key: ${apiKey.slice(0, 8)}...`);
118
+ console.error(` → API Key: ${API_KEY.slice(0, 8)}...`);
35
119
  console.error(` → Tools: mind_query, mind_remember, mind_context, mind_life, mind_crm, mind_graph`);
36
120
  }
37
121
  main().catch((err) => {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;AACA;;;;;;;;;;GAUG;;AAEH,wEAAiF;AACjF,qDAA8C;AAC9C,2CAAkD;AAElD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;AACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,oBAAoB,CAAC;AAEnE,IAAI,CAAC,OAAO,EAAE,CAAC;IACb,OAAO,CAAC,KAAK,CACX,yDAAyD;QACvD,4EAA4E,CAC/E,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,OAAQ,CAAC;IACxB,MAAM,MAAM,GAAG,IAAI,2BAAU,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,IAAA,+BAAmB,EAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAE7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,gEAAgE;IAChE,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAChD,OAAO,CAAC,KAAK,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,KAAK,CAAC,gBAAgB,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACvD,OAAO,CAAC,KAAK,CAAC,qFAAqF,CAAC,CAAC;AACvG,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAC;IAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;AACA;;;;;;;;;;;;;GAaG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,wEAAiF;AACjF,qDAA8C;AAC9C,2CAAkD;AAElD,SAAS,WAAW;IAClB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAyB,CAAC;IAClF,OAAO,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;AAClC,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;gEAekD,CAAC,CAAC;AAClE,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,SAAS,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO;IACT,CAAC;IAED,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAAE,CAAC;QACxD,wEAAwE;QACxE,yEAAyE;QACzE,eAAe;QACf,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,wBAAwB,CAAC;IAEvE,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,yDAAyD;YACvD,IAAI;YACJ,0BAA0B;YAC1B,6FAA6F;YAC7F,uGAAuG;YACvG,kFAAkF,CACrF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,2BAAU,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACtE,MAAM,MAAM,GAAG,IAAA,+BAAmB,EAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAE7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,gEAAgE;IAChE,OAAO,CAAC,KAAK,CAAC,oBAAoB,WAAW,EAAE,UAAU,CAAC,CAAC;IAC3D,OAAO,CAAC,KAAK,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,KAAK,CAAC,gBAAgB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACxD,OAAO,CAAC,KAAK,CAAC,qFAAqF,CAAC,CAAC;AACvG,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAG,CAAC,CAAC;IAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * Programmatic usage:
8
8
  * import { createMindMcpServer, MindClient } from "@mindapp/mcp-server";
9
- * const client = new MindClient({ baseUrl: "https://m-i-n-d.ai", apiKey: "mind_xxx" });
9
+ * const client = new MindClient({ baseUrl: "https://www.m-i-n-d.ai", apiKey: "mind_xxx" });
10
10
  * const server = createMindMcpServer(client);
11
11
  */
12
12
  export { createMindMcpServer } from "./server.js";
package/dist/index.js CHANGED
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * Programmatic usage:
9
9
  * import { createMindMcpServer, MindClient } from "@mindapp/mcp-server";
10
- * const client = new MindClient({ baseUrl: "https://m-i-n-d.ai", apiKey: "mind_xxx" });
10
+ * const client = new MindClient({ baseUrl: "https://www.m-i-n-d.ai", apiKey: "mind_xxx" });
11
11
  * const server = createMindMcpServer(client);
12
12
  */
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -9,6 +9,6 @@
9
9
  * `INTEGRATION_GUIDE` is the full playbook, exposed as the readable MCP
10
10
  * resource `mind://integration-guide` for agents that want the deep dive.
11
11
  */
12
- export declare const SERVER_INSTRUCTIONS = "MIND is the persistent memory and knowledge-graph layer for AI agents \u2014 identity, memories, decisions, tasks, contacts, and emotional context that survive across every session, every tool, and every agent.\n\n\u2550\u2550\u2550 HOW TO INTEGRATE \u2014 pick the path for your runtime \u2550\u2550\u2550\n\u2022 You are an MCP client (Claude Code, Claude Desktop, Cursor, Windsurf, or any MCP host): you are already connected. Call the mind_* tools directly \u2014 nothing else to install.\n\u2022 You are an OpenClaw agent: do NOT use this MCP server. Install the OpenClaw plugin instead \u2014 `openclaw plugins install @astramindapp/openclaw-mind` \u2014 which exposes the same MIND surface as native OpenClaw tools.\n\u2022 You are any other runtime (custom agent, script, n8n, backend): call the REST API directly at https://m-i-n-d.ai/developer/v1 with header `X-API-Key: <key>`. Every mind_* tool maps 1:1 to a /developer/v1 endpoint.\n\nAUTH: every path needs a MIND API key (prefix `mind_`). Get one at https://m-i-n-d.ai \u2192 Settings \u2192 Developer \u2192 API Keys. For this MCP server, set env var MIND_API_KEY (and optionally MIND_BASE_URL). The admin tools (mind_admin, mind_agents, mind_tickets) require an admin-scoped key.\n\n\u2550\u2550\u2550 SESSION PROTOCOL \u2014 do this every session \u2550\u2550\u2550\n1. START: call mind_context \u2014 loads identity, operating rules, priorities, recent activity. Never skip it.\n2. BEFORE deciding or asserting: call mind_query on the topic. MIND is authoritative memory \u2014 do not guess or claim something does not exist without querying.\n3. AFTER completing non-trivial work: call mind_remember to log the outcome. Unlogged work is invisible to the next session. Use `type: \"entry\"` (PRIVATE \u2014 default) for all agent outcomes, logs, decisions, and research.\n\n\u26A0\uFE0F PRIVATE vs PUBLIC: `document` and `entry` (via mind_remember) are PRIVATE to the user's knowledge graph. `feed_post` (mind_remember) and mind_social create_thought are PUBLIC \u2014 they post to the user's social feed where everyone can see them. NEVER write to the public feed unless the user explicitly said \"post\", \"share\", \"tweet\", \"feed\", or \"thought to my feed\". Deploy logs, PR notes, work outcomes, and agent activity belong in `entry` \u2014 NEVER on the public feed.\n\n\u2550\u2550\u2550 TOOL MAP \u2014 24 tools \u2550\u2550\u2550\nMEMORY mind_query (semantic search) \u00B7 mind_remember (store / list / delete) \u00B7 mind_context (load identity + rules)\nLIFE & WORK mind_life (goals, tasks, calendar \u2014 supports delete + bulk_delete) \u00B7 mind_tasks (assignable, reportable work items) \u00B7 mind_automate (triggers + workflows) \u00B7 mind_notify (notifications)\nPEOPLE mind_crm (contacts, pipeline stages, activity logging)\nGRAPH mind_graph (KG stats + health) \u00B7 mind_insights (Autonomous Learning Engine patterns) \u00B7 mind_sense (MINDsense emotional state)\nKNOWLEDGE mind_research (autonomous deep-research jobs) \u00B7 mind_train (teach the KG / save chats)\nFRONT LAYER mind_list_templates \u00B7 mind_get_template \u00B7 mind_save_typed \u00B7 mind_bootstrap_templates (16 structured document types: SOUL, IDENTITY, BELIEFS, USER, AGENTS, TOOLS, SENSES, SKILLS, BEHAVIOR, LESSON, DECISION, POLICY, \u2026)\nSOCIAL mind_social (public feed posts, social feed, communities \u2014 \u26A0\uFE0F posting writes to the user's PUBLIC feed) \u00B7 mind_profile (bio, prompts, model preferences)\nFLEET/ADMIN mind_agents (Agent Command Center \u2014 agent registry, heartbeat, probe; admin key) \u00B7 mind_tickets (agent ticket queue \u2014 file / answer / triage / resolve; admin key) \u00B7 mind_admin (user provisioning; admin key) \u00B7 mind_accounts (own / switch / share multiple MINDs)\n\nEvery tool's own description lists its exact actions and required parameters. For the full playbook \u2014 endpoint mapping, scopes, and common recipes \u2014 read the resource `mind://integration-guide`.";
13
- export declare const INTEGRATION_GUIDE = "# MIND \u2014 Complete Integration Guide\n\nMIND is the persistent memory and knowledge-graph layer for AI agents. It stores\nidentity, memories, decisions, goals, tasks, contacts, and emotional context, and\nmakes them queryable across every session, tool, and agent \u2014 so an AI never starts\nfrom zero.\n\nThis guide tells any agent exactly how to integrate, regardless of how it runs.\n\n---\n\n## 1. Choose your integration path\n\nMIND meets your agent wherever it runs. There are three paths \u2014 pick the one that\nmatches your runtime. They all read and write the *same* knowledge graph.\n\n| Your runtime | Path | How to connect |\n|---|---|---|\n| MCP host \u2014 Claude Code, Claude Desktop, Cursor, Windsurf, Zed, any MCP client | **MCP server** | `npx @astramindapp/mcp-server setup`, or add the server to your MCP config. You are reading this because you are already connected \u2014 just call the `mind_*` tools. |\n| OpenClaw agent | **OpenClaw plugin** | `openclaw plugins install @astramindapp/openclaw-mind`. Do NOT install the MCP server for OpenClaw \u2014 OpenClaw consumes a plugin, not an MCP server, for its memory slot. The plugin exposes MIND as native OpenClaw tools. |\n| Anything else \u2014 custom agent, backend service, script, n8n, automation | **REST API** | Call `https://m-i-n-d.ai/developer/v1/*` directly with header `X-API-Key: <key>`. Every MCP tool is a thin wrapper over one of these endpoints. |\n\nAll three paths are equivalent in capability. The MCP server and OpenClaw plugin\nare convenience layers over the same `/developer/v1` REST API.\n\n## 2. Authenticate\n\nEvery path needs a **MIND API key** \u2014 a string with the prefix `mind_`.\n\n- Get a key: https://m-i-n-d.ai \u2192 Settings \u2192 Developer \u2192 API Keys.\n- MCP server: set env var `MIND_API_KEY`. Optionally `MIND_BASE_URL` (defaults to the production host).\n- REST: send it as the `X-API-Key` request header.\n- Keys carry **scopes** (e.g. `life:read`, `life:write`, `crm:write`). A new key gets the full standard set. The admin tools `mind_admin`, `mind_agents`, and `mind_tickets` require an **admin-scoped** key.\n\n## 3. Session protocol\n\nFollow this every session \u2014 it is the difference between an agent with memory and\nan agent that re-discovers the world each time.\n\n1. **Start** \u2014 call `mind_context`. Loads identity, operating rules, current priorities, and recent activity.\n2. **Before deciding or asserting** \u2014 call `mind_query` on the specific topic. MIND is the authoritative memory; never claim something does not exist without querying first.\n3. **After completing non-trivial work** \u2014 call `mind_remember` to log the outcome (what worked, what didn't, decisions made). Tag it. Set `source` to your agent name.\n\n## 4. The 24 tools\n\n### Memory\n- **mind_query** \u2014 semantic search across the knowledge graph. Returns an AI-synthesized answer with sources. 5 search modes.\n- **mind_remember** \u2014 store/manage content. Actions: create, search, get, list, delete. Types: **PRIVATE**: `document` (long-form research/specs), `entry` (medium-form observations/agent logs \u2014 DEFAULT). **PUBLIC**: `feed_post` (a social-media post on the user's public feed \u2014 NEVER use unless the user explicitly said \"post\", \"share\", \"tweet\", \"feed\", or \"thought to my feed\"; deploy logs and agent outcomes belong in `entry`). `thought` is a deprecated alias for `feed_post`.\n- **mind_folders** \u2014 organize documents into folders. Actions: list, create, rename, move, delete, move_documents. Folders are a presentation layer \u2014 the graph still indexes every document regardless of folder. Typical flow: `mind_remember` create a document, then `mind_folders` move_documents to file it.\n- **mind_context** \u2014 load persistent identity, preferences, rules, priorities, recent activity.\n\n### Life & work\n- **mind_life** \u2014 goals, projects, tasks, calendar events, productivity stats. Actions: list, create, update, complete, delete, **bulk_delete** (up to 200 ids in one call), move, get, calendar_*, stats.\n- **mind_tasks** \u2014 site-wide assignable work items that attach to projects, contacts, or agents. Actions: list, create, get, update, complete, reopen, assign, delete, reports.\n- **mind_automate** \u2014 scheduled workflows, event triggers, rules.\n- **mind_notify** \u2014 read and manage notifications.\n\n### People\n- **mind_crm** \u2014 contacts, pipeline stages, activity logging, interaction history.\n\n### Knowledge graph & intelligence\n- **mind_graph** \u2014 KG statistics, diagnostics, label/entity breakdown, health.\n- **mind_insights** \u2014 patterns surfaced by the Autonomous Learning Engine, weekly summaries.\n- **mind_sense** \u2014 MINDsense emotional intelligence: the user's living emotional state, signal history, KG entity weights.\n- **mind_research** \u2014 launch and manage autonomous deep-research jobs; findings land in the graph.\n- **mind_train** \u2014 guided training sessions and chat-to-KG ingestion.\n\n### Front Layer templates (structured documents)\n- **mind_list_templates** / **mind_get_template** / **mind_save_typed** / **mind_bootstrap_templates** \u2014 the 16 typed-document templates (SOUL, IDENTITY, BELIEFS, USER, AGENTS, TOOLS, SENSES, SKILLS, BEHAVIOR, LESSON, DECISION, POLICY, and more) that give a MIND tenant a well-structured front layer.\n\n### Social & profile\n- **mind_social** \u2014 PUBLIC feed posts, social feed, communities. \u26A0\uFE0F `create_thought` writes to the user's PUBLIC social feed \u2014 NEVER call unless the user explicitly said \"post\", \"share\", \"tweet\", \"feed\", or \"thought to my feed\". For private agent outcomes, use `mind_remember` with `type=entry` instead.\n- **mind_profile** \u2014 bio, AI prompt settings, model preferences.\n\n### Fleet & administration (admin key required)\n- **mind_agents** \u2014 the **Agent Command Center**: the canonical registry of every agent in the fleet (running, planned, archived). Each agent is owned by a MIND account (`owner_username`). Actions: list (with `list_query` free-text search), get, create, update, delete, heartbeat, probe, log_activity, list_activities, import_from_mind, seed_known, set_status, set_current_job, transfer_owner, share, list_shares, revoke_share, plus invoice linking. Backed by `/admin/agents`.\n- **mind_tickets** \u2014 the **agent ticket queue**: client feedback, critique, ideas, feature requests, and bugs filed against any agent. Actions: list, get, create, comment (answer a ticket), update (triage status/priority/kind/assignee), resolve, delete. `agent_slug` is required on every call. Backed by `/admin/agents/{slug}/tickets`.\n- **mind_admin** \u2014 user provisioning + the **Featured Minds Portal**: full CRUD over featured minds with admin write-through to the linked `user_profiles` doc. Actions: `create_user`, `list_users`, `update_user_tier`, `adjust_user_credits`, `create_featured_mind`, `list_featured_minds`, `get_featured_mind_full` (bundled mind + owner profile + model catalog \u2014 what the portal side sheet loads), `update_featured_mind` (catalog fields: title / subtitle / description / tags / featured / display_order / is_public / avatar_url / banner_url / price), `update_featured_mind_owner_profile` (write-through to user_profiles: `preferred_llm_model`, `public_mind_prompt`, `chat_temperature`, `chat_reasoning_effort`, `public_mind_enabled`, `public_mind_tagline` / `greeting` / `persona`, `bio`, `avatar_url`, `banner_url` \u2014 changes hit /m/{username} immediately), `reorder_featured_minds` (bulk display_order via `ordered_mind_ids`), `delete_featured_mind`.\n- **mind_accounts** \u2014 multi-MIND ownership: discover, create, and switch between MINDs; manage owners, viewers, and invitations.\n\nEach tool's own MCP description is the source of truth for its exact action list\nand required parameters \u2014 read it before calling.\n\n## 5. REST endpoint mapping\n\nIf you integrate over REST, every tool maps to `/developer/v1`. Examples:\n\n| Capability | Method + path |\n|---|---|\n| Query the graph | `POST /developer/v1/query` |\n| List / create life items | `GET` / `POST /developer/v1/life/items` |\n| Delete one life item | `DELETE /developer/v1/life/items/{id}` |\n| Delete many life items | `POST /developer/v1/life/items/bulk-delete` (body: `{\"item_ids\": [...]}`) |\n| CRM contacts | `GET` / `POST /developer/v1/crm/contacts` |\n| Documents (PRIVATE) | `/developer/v1/documents` |\n| Entries (PRIVATE) | `/developer/v1/entries` |\n| Feed posts (PUBLIC) \u2014 personal CRUD | `/developer/v1/thoughts` \u2014 scope `thoughts:read` / `thoughts:write`. `/feed_posts` is a semantic alias mounted on the same handlers + collection (UI JWT path). |\n| Feed posts (PUBLIC) \u2014 social layer | `/developer/v1/social/thoughts` (create / get / delete / like) + `/developer/v1/social/feed` (browse) \u2014 scope `social:write` / `social:read` |\n| Folders | `GET` / `POST /developer/v1/folders`, `PATCH` / `DELETE /developer/v1/folders/{id}` |\n| Move documents into a folder | `POST /developer/v1/documents/move` (body: `{\"doc_ids\": [...], \"folder_id\": \"...\"}`) |\n| Agent Command Center | `/admin/agents` (admin key) |\n| Agent ticket queue | `/admin/agents/{slug}/tickets` \u2014 `GET`/`POST`, `/{ticket_id}` `GET`/`PATCH`/`DELETE`, `/{ticket_id}/comments` `POST` (admin key) |\n| **Featured Minds Portal** | `/admin/featured-minds` `GET`/`POST`, `/admin/featured-minds/{id}` `PUT`/`DELETE`, `/admin/featured-minds/{id}/full` `GET` (bundled view), `/admin/featured-minds/{id}/owner-profile` `PUT` (admin write-through to user_profiles: model, prompt, temperature, brand fields), `/admin/featured-minds/reorder` `PUT` (body: `{\"ordered_mind_ids\": [...]}`), `/admin/featured-minds/{id}/upload` `POST` (multipart: `kind=avatar|banner`, `file`) \u2014 all admin key |\n\n## 6. Common recipes\n\n- **Clear the life board** \u2014 `mind_life` action `bulk_delete` with every item id (list first, then pass the ids), or repeated for boards over 200 items.\n- **Start a session right** \u2014 `mind_context`, then `mind_query` for anything you are about to act on.\n- **Record an outcome** \u2014 `mind_remember` action `create`, type `entry`, with tags and your `source`.\n- **File a document in a folder** \u2014 `mind_folders` action `create` to make the folder, `mind_remember` to create the document, then `mind_folders` action `move_documents` with the document id and the folder id. `folder_id: \"root\"` files at the top level.\n- **Register / update an agent** \u2014 `mind_agents` (admin key) \u2014 `create` or `update`, then `heartbeat` from the agent runtime.\n- **Handle agent tickets** \u2014 `mind_tickets` (admin key) \u2014 `list` an agent's queue, `get` a ticket with its thread, `comment` to answer, then `resolve`. `agent_slug` is required on every call.\n- **Run the Featured Minds Portal from MCP** \u2014 `mind_admin` (admin key) \u2014 `list_featured_minds` to get every mind_id, `get_featured_mind_full` for a bundled view (featured_mind doc + owner profile + model catalog in one round-trip), `update_featured_mind` for catalog fields (title/tags/featured/display_order/is_public/avatar/banner/subtitle/price), `update_featured_mind_owner_profile` for chat-behavior fields (preferred_llm_model, public_mind_prompt, chat_temperature, chat_reasoning_effort, public_mind_tagline/greeting/persona, bio) \u2014 this write-through hits /m/{username} immediately, `reorder_featured_minds` for bulk display_order, `delete_featured_mind` to remove from the catalog (user's MIND is preserved).\n\n## 7. Feed post endpoint surfaces (clarification)\n\nA \"feed post\" is a public social-media-style post on the user's MIND feed. There are three endpoint surfaces, all backed by the **same** `thoughts` MongoDB collection \u2014 pick by what your key carries:\n\n| Surface | Use when | Scope required |\n|---|---|---|\n| `/developer/v1/thoughts` (POST / GET / DELETE / search) | Personal feed post CRUD via a developer API key | `thoughts:read` / `thoughts:write` |\n| `/developer/v1/social/thoughts` (POST / GET / DELETE / like) + `/developer/v1/social/feed` (browse) | Same create/delete + the social-feed read surface for browsing other users' posts, likes, repost flow | `social:write` (writes) / `social:read` (browse) |\n| `/feed_posts` (POST / GET / DELETE + comments/likes/reposts) | Semantic alias for `/thoughts` \u2014 same UI JWT handlers under a clearer URL. Both paths share handlers and the MongoDB collection. | UI JWT |\n\nThere is no functional difference for create/delete between `/thoughts` and `/social/thoughts` \u2014 both insert into `db.thoughts`. Pick the surface that matches your auth path and the scope your key carries. **Whichever surface you write through, the post lands on the user's PUBLIC feed.** Follow the explicit-trigger rule in every tool description.\n\n## 8. Brand & rules\n\nThe product is **MIND** by **Astra AI**. Never reference underlying libraries in\nuser-facing content \u2014 MIND is the brand. Treat MIND as the authoritative memory:\nwhen the graph and local files disagree, reconcile explicitly rather than guessing.\n";
12
+ export declare const SERVER_INSTRUCTIONS = "MIND is the persistent memory and knowledge-graph layer for AI agents \u2014 identity, memories, decisions, tasks, contacts, and emotional context that survive across every session, every tool, and every agent.\n\n\u2550\u2550\u2550 HOW TO INTEGRATE \u2014 pick the path for your runtime \u2550\u2550\u2550\n\u2022 You are an MCP client (Claude Code, Claude Desktop, Cursor, Windsurf, or any MCP host): you are already connected. Call the mind_* tools directly \u2014 nothing else to install.\n\u2022 You are an OpenClaw agent: do NOT use this MCP server. Install the OpenClaw plugin instead \u2014 `openclaw plugins install @astramindapp/openclaw-mind` \u2014 which exposes the same MIND surface as native OpenClaw tools.\n\u2022 You are any other runtime (custom agent, script, n8n, backend): call the REST API directly at https://m-i-n-d.ai/developer/v1 with header `X-API-Key: <key>`. Every mind_* tool maps 1:1 to a /developer/v1 endpoint.\n\nAUTH: every path needs a MIND API key (prefix `mind_`). Get one at https://m-i-n-d.ai \u2192 Settings \u2192 Developer \u2192 API Keys. For this MCP server, set env var MIND_API_KEY (and optionally MIND_BASE_URL). The admin tools (mind_admin, mind_agents, mind_tickets) require an admin-scoped key.\n\n\u2550\u2550\u2550 SESSION PROTOCOL \u2014 do this every session \u2550\u2550\u2550\n1. START: call mind_context \u2014 loads identity, operating rules, priorities, recent activity. Never skip it.\n2. BEFORE deciding or asserting: call mind_query on the topic. MIND is authoritative memory \u2014 do not guess or claim something does not exist without querying.\n3. AFTER completing non-trivial work: call mind_remember to log the outcome. Unlogged work is invisible to the next session. Use `type: \"entry\"` (PRIVATE \u2014 default) for all agent outcomes, logs, decisions, and research.\n\n\u26A0\uFE0F PRIVATE vs PUBLIC: `document` and `entry` (via mind_remember) are PRIVATE to the user's knowledge graph. `feed_post` (mind_remember) and mind_social create_thought are PUBLIC \u2014 they post to the user's social feed where everyone can see them. NEVER write to the public feed unless the user explicitly said \"post\", \"share\", \"tweet\", \"feed\", or \"thought to my feed\". Deploy logs, PR notes, work outcomes, and agent activity belong in `entry` \u2014 NEVER on the public feed.\n\n\u2550\u2550\u2550 TOOL MAP \u2014 25 tools \u2550\u2550\u2550\nMEMORY mind_query (semantic search) \u00B7 mind_remember (store / list / delete) \u00B7 mind_context (load identity + rules)\nLIFE & WORK mind_life (goals, tasks, calendar \u2014 supports delete + bulk_delete) \u00B7 mind_tasks (assignable, reportable work items) \u00B7 mind_automate (triggers + workflows) \u00B7 mind_notify (notifications)\nPEOPLE mind_crm (contacts, pipeline stages, activity logging)\nGRAPH mind_graph (KG stats + health) \u00B7 mind_insights (Autonomous Learning Engine patterns) \u00B7 mind_sense (MINDsense emotional state)\nKNOWLEDGE mind_research (autonomous deep-research jobs) \u00B7 mind_train (teach the KG / save chats)\nFRONT LAYER mind_list_templates \u00B7 mind_get_template \u00B7 mind_save_typed \u00B7 mind_bootstrap_templates (16 structured document types: SOUL, IDENTITY, BELIEFS, USER, AGENTS, TOOLS, SENSES, SKILLS, BEHAVIOR, LESSON, DECISION, POLICY, \u2026)\nSOCIAL mind_social (public feed posts, social feed, communities \u2014 \u26A0\uFE0F posting writes to the user's PUBLIC feed) \u00B7 mind_profile (bio, prompts, model preferences)\nTRADER mind_trader (TraderMIND: live feed \u00B7 MIND Vision forecasts + history + per-bar scores \u00B7 candles \u00B7 cycles \u00B7 calibration \u00B7 engine health \u00B7 save/star/like + undo \u00B7 notes + feedback the engine learns from \u00B7 full journal CRUD \u00B7 personalized insights)\nFLEET/ADMIN mind_agents (Agent Command Center \u2014 agent registry, heartbeat, probe; admin key) \u00B7 mind_tickets (agent ticket queue \u2014 file / answer / triage / resolve; admin key) \u00B7 mind_admin (user provisioning; admin key) \u00B7 mind_accounts (own / switch / share multiple MINDs)\n\nEvery tool's own description lists its exact actions and required parameters. For the full playbook \u2014 endpoint mapping, scopes, and common recipes \u2014 read the resource `mind://integration-guide`.";
13
+ export declare const INTEGRATION_GUIDE = "# MIND \u2014 Complete Integration Guide\n\nMIND is the persistent memory and knowledge-graph layer for AI agents. It stores\nidentity, memories, decisions, goals, tasks, contacts, and emotional context, and\nmakes them queryable across every session, tool, and agent \u2014 so an AI never starts\nfrom zero.\n\nThis guide tells any agent exactly how to integrate, regardless of how it runs.\n\n---\n\n## 1. Choose your integration path\n\nMIND meets your agent wherever it runs. There are three paths \u2014 pick the one that\nmatches your runtime. They all read and write the *same* knowledge graph.\n\n| Your runtime | Path | How to connect |\n|---|---|---|\n| MCP host \u2014 Claude Code, Claude Desktop, Cursor, Windsurf, Zed, any MCP client | **MCP server** | Remote, no install: add `https://www.m-i-n-d.ai/mcp` as a custom connector and sign in via browser OAuth \u2014 or, if your host has no OAuth flow but lets you add a header, use the same URL with `Authorization: Bearer mind_<key>` and no OAuth at all. Prefer local stdio? `npx -y --package=@astramindapp/mcp-server mind-mcp-setup`, or add the server to your MCP config. You are reading this because you are already connected \u2014 just call the `mind_*` tools. |\n| OpenClaw agent | **OpenClaw plugin** | `openclaw plugins install @astramindapp/openclaw-mind`. Do NOT install the MCP server for OpenClaw \u2014 OpenClaw consumes a plugin, not an MCP server, for its memory slot. The plugin exposes MIND as native OpenClaw tools. |\n| Anything else \u2014 custom agent, backend service, script, n8n, automation | **REST API** | Call `https://m-i-n-d.ai/developer/v1/*` directly with header `X-API-Key: <key>`. Every MCP tool is a thin wrapper over one of these endpoints. |\n\nAll three paths are equivalent in capability. The MCP server and OpenClaw plugin\nare convenience layers over the same `/developer/v1` REST API.\n\n**No browser OAuth in your host? Use a key on the same URL.** Every host that\nlets you add a custom MCP server with a header can use MIND with no OAuth and\nno npm install: Server URL `https://www.m-i-n-d.ai/mcp`, header\n`Authorization: Bearer mind_<your key>`. Mint a key at\nhttps://www.m-i-n-d.ai \u2192 Settings \u2192 Developer \u2192 API Keys. Agents: if\n`AuthenticateMcpServer` or the host's connect card fails, ask the user for a\nMIND API key and rewire the same URL with that header \u2014 do not fall back to\nthe local npm server just because OAuth didn't work.\n\n## 2. Authenticate\n\nEvery path needs a **MIND API key** \u2014 a string with the prefix `mind_`.\n\n- Get a key: https://m-i-n-d.ai \u2192 Settings \u2192 Developer \u2192 API Keys.\n- MCP server: set env var `MIND_API_KEY`. Optionally `MIND_BASE_URL` (defaults to the production host).\n- REST: send it as the `X-API-Key` request header.\n- Keys carry **scopes** (e.g. `life:read`, `life:write`, `crm:write`). A new key gets the full standard set. The admin tools `mind_admin`, `mind_agents`, and `mind_tickets` require an **admin-scoped** key.\n\n## 3. Session protocol\n\nFollow this every session \u2014 it is the difference between an agent with memory and\nan agent that re-discovers the world each time.\n\n1. **Start** \u2014 call `mind_context`. Loads identity, operating rules, current priorities, and recent activity.\n2. **Before deciding or asserting** \u2014 call `mind_query` on the specific topic. MIND is the authoritative memory; never claim something does not exist without querying first.\n3. **After completing non-trivial work** \u2014 call `mind_remember` to log the outcome (what worked, what didn't, decisions made). Tag it. Set `source` to your agent name.\n\n## 4. The 25 tools\n\n### Memory\n- **mind_query** \u2014 semantic search across the knowledge graph. Returns RETRIEVED CONTEXT (documents, entries, entities, relationships) for YOU to synthesize \u2014 not a finished answer \u2014 and costs 0 credits. Pass `retrieve_only=false` to have MIND write the answer itself (spends credits). 5 search modes.\n- **mind_remember** \u2014 store/manage content. Actions: create, search, get, list, delete. Types: **PRIVATE**: `document` (long-form research/specs), `entry` (medium-form observations/agent logs \u2014 DEFAULT). **PUBLIC**: `feed_post` (a social-media post on the user's public feed \u2014 NEVER use unless the user explicitly said \"post\", \"share\", \"tweet\", \"feed\", or \"thought to my feed\"; deploy logs and agent outcomes belong in `entry`). `thought` is a deprecated alias for `feed_post`.\n- **mind_folders** \u2014 organize documents into folders. Actions: list, create, rename, move, delete, move_documents. Folders are a presentation layer \u2014 the graph still indexes every document regardless of folder. Typical flow: `mind_remember` create a document, then `mind_folders` move_documents to file it.\n- **mind_context** \u2014 load persistent identity, preferences, rules, priorities, recent activity as retrieved context (0 credits; YOU synthesize).\n\n### Life & work\n- **mind_life** \u2014 goals, projects, tasks, calendar events, productivity stats. Actions: list, create, update, complete, delete, **bulk_delete** (up to 200 ids in one call), move, get, calendar_*, stats.\n- **mind_tasks** \u2014 site-wide assignable work items that attach to projects, contacts, or agents. Actions: list, create, get, update, complete, reopen, assign, delete, reports.\n- **mind_automate** \u2014 scheduled workflows, event triggers, rules.\n- **mind_notify** \u2014 read and manage notifications.\n\n### People\n- **mind_crm** \u2014 contacts, pipeline stages, activity logging, interaction history.\n\n### Knowledge graph & intelligence\n- **mind_graph** \u2014 KG statistics, diagnostics, label/entity breakdown, health.\n- **mind_insights** \u2014 patterns surfaced by the Autonomous Learning Engine, weekly summaries.\n- **mind_sense** \u2014 MINDsense emotional intelligence: the user's living emotional state, signal history, KG entity weights.\n- **mind_research** \u2014 launch and manage autonomous deep-research jobs; findings land in the graph.\n- **mind_train** \u2014 guided training sessions and chat-to-KG ingestion.\n\n### Front Layer templates (structured documents)\n- **mind_list_templates** / **mind_get_template** / **mind_save_typed** / **mind_bootstrap_templates** \u2014 the 16 typed-document templates (SOUL, IDENTITY, BELIEFS, USER, AGENTS, TOOLS, SENSES, SKILLS, BEHAVIOR, LESSON, DECISION, POLICY, and more) that give a MIND tenant a well-structured front layer.\n\n### Social & profile\n- **mind_social** \u2014 PUBLIC feed posts, social feed, communities. \u26A0\uFE0F `create_thought` writes to the user's PUBLIC social feed \u2014 NEVER call unless the user explicitly said \"post\", \"share\", \"tweet\", \"feed\", or \"thought to my feed\". For private agent outcomes, use `mind_remember` with `type=entry` instead.\n- **mind_profile** \u2014 bio, AI prompt settings, model preferences.\n\n### Trading (TraderMIND)\n- **mind_trader** \u2014 operate TraderMIND, the agentic trading engine. Read the engine: `feed` (live trade-idea feed) \u00B7 `forecast_latest` / `forecasts` / `bar_scores` (MIND Vision forecasts \u2014 latest cone, resolved history, per-candle scores) \u00B7 `candles` \u00B7 `cycles` (regime / ideas / lessons) \u00B7 `health` \u00B7 `calibration` (the published honesty curve) \u00B7 `ai_journal` (the trader's own narration). Act as the user: `save` / `star` / `like` / `unsave` \u00B7 `note` / `feedback` (feedback reaches the engine's brain) \u00B7 `notes` / `interactions` / `counts` (read back state + public social proof) \u00B7 full journal CRUD (`journal_list/create/get/update/delete`) \u00B7 `insights` (personalized, cached 15 min). Auth: engine reads plus `counts` are public \u2014 they work even with a missing or invalid key; only the act-as-you actions (save/star/like/unsave, note/feedback, notes, interactions, saved, journal_*, insights) authenticate as the key's owner. Saves, notes, feedback, and journal entries also land in the owner's MIND knowledge graph.\n\n### Fleet & administration (admin key required)\n- **mind_agents** \u2014 the **Agent Command Center**: the canonical registry of every agent in the fleet (running, planned, archived). Each agent is owned by a MIND account (`owner_username`). Actions: list (with `list_query` free-text search), get, create, update, delete, heartbeat, probe, log_activity, list_activities, import_from_mind, seed_known, set_status, set_current_job, transfer_owner, share, list_shares, revoke_share, plus invoice linking. Backed by `/admin/agents`.\n- **mind_tickets** \u2014 the **agent ticket queue**: client feedback, critique, ideas, feature requests, and bugs filed against any agent. Actions: list, get, create, comment (answer a ticket), update (triage status/priority/kind/assignee), resolve, delete. `agent_slug` is required on every call. Backed by `/admin/agents/{slug}/tickets`.\n- **mind_admin** \u2014 user provisioning + the **Featured Minds Portal**: full CRUD over featured minds with admin write-through to the linked `user_profiles` doc. Actions: `create_user`, `list_users`, `update_user_tier`, `adjust_user_credits`, `create_featured_mind`, `list_featured_minds`, `get_featured_mind_full` (bundled mind + owner profile + model catalog \u2014 what the portal side sheet loads), `update_featured_mind` (catalog fields: title / subtitle / description / tags / featured / display_order / is_public / avatar_url / banner_url / price), `update_featured_mind_owner_profile` (write-through to user_profiles: `preferred_llm_model`, `public_mind_prompt`, `chat_temperature`, `chat_reasoning_effort`, `public_mind_enabled`, `public_mind_tagline` / `greeting` / `persona`, `bio`, `avatar_url`, `banner_url` \u2014 changes hit /m/{username} immediately), `reorder_featured_minds` (bulk display_order via `ordered_mind_ids`), `delete_featured_mind`.\n- **mind_accounts** \u2014 multi-MIND ownership: discover, create, and switch between MINDs; manage owners, viewers, and invitations.\n\nEach tool's own MCP description is the source of truth for its exact action list\nand required parameters \u2014 read it before calling.\n\n## 5. REST endpoint mapping\n\nIf you integrate over REST, every tool maps to `/developer/v1`. Examples:\n\n| Capability | Method + path |\n|---|---|\n| Query the graph | `POST /developer/v1/query` |\n| List / create life items | `GET` / `POST /developer/v1/life/items` |\n| Delete one life item | `DELETE /developer/v1/life/items/{id}` |\n| Delete many life items | `POST /developer/v1/life/items/bulk-delete` (body: `{\"item_ids\": [...]}`) |\n| CRM contacts | `GET` / `POST /developer/v1/crm/contacts` |\n| Documents (PRIVATE) | `/developer/v1/documents` |\n| Entries (PRIVATE) | `/developer/v1/entries` |\n| Feed posts (PUBLIC) \u2014 personal CRUD | `/developer/v1/thoughts` \u2014 scope `thoughts:read` / `thoughts:write`. `/feed_posts` is a semantic alias mounted on the same handlers + collection (UI JWT path). |\n| Feed posts (PUBLIC) \u2014 social layer | `/developer/v1/social/thoughts` (create / get / delete / like) + `/developer/v1/social/feed` (browse) \u2014 scope `social:write` / `social:read` |\n| Folders | `GET` / `POST /developer/v1/folders`, `PATCH` / `DELETE /developer/v1/folders/{id}` |\n| Move documents into a folder | `POST /developer/v1/documents/move` (body: `{\"doc_ids\": [...], \"folder_id\": \"...\"}`) |\n| TraderMIND \u2014 latest MIND Vision forecast | `GET /api/trader/forecasts/latest?symbol=ES` (engine reads \u2014 `/api/trader/forecasts`, `/candles`, `/cycles`, `/calibration`, `/health`, `/ai-journal`, plus `GET /api/mindtrades/feed` and `GET /api/trader/counts` \u2014 are public; the act-as-you routes `/interact`, `/note`, `/notes`, `/interactions`, `/saved`, `/journal`, `/insights` need the user's key) |\n| Agent Command Center | `/admin/agents` (admin key) |\n| Agent ticket queue | `/admin/agents/{slug}/tickets` \u2014 `GET`/`POST`, `/{ticket_id}` `GET`/`PATCH`/`DELETE`, `/{ticket_id}/comments` `POST` (admin key) |\n| **Featured Minds Portal** | `/admin/featured-minds` `GET`/`POST`, `/admin/featured-minds/{id}` `PUT`/`DELETE`, `/admin/featured-minds/{id}/full` `GET` (bundled view), `/admin/featured-minds/{id}/owner-profile` `PUT` (admin write-through to user_profiles: model, prompt, temperature, brand fields), `/admin/featured-minds/reorder` `PUT` (body: `{\"ordered_mind_ids\": [...]}`), `/admin/featured-minds/{id}/upload` `POST` (multipart: `kind=avatar|banner`, `file`) \u2014 all admin key |\n\n## 6. Common recipes\n\n- **Clear the life board** \u2014 `mind_life` action `bulk_delete` with every item id (list first, then pass the ids), or repeated for boards over 200 items.\n- **Start a session right** \u2014 `mind_context`, then `mind_query` for anything you are about to act on.\n- **Record an outcome** \u2014 `mind_remember` action `create`, type `entry`, with tags and your `source`.\n- **File a document in a folder** \u2014 `mind_folders` action `create` to make the folder, `mind_remember` to create the document, then `mind_folders` action `move_documents` with the document id and the folder id. `folder_id: \"root\"` files at the top level.\n- **Register / update an agent** \u2014 `mind_agents` (admin key) \u2014 `create` or `update`, then `heartbeat` from the agent runtime.\n- **Handle agent tickets** \u2014 `mind_tickets` (admin key) \u2014 `list` an agent's queue, `get` a ticket with its thread, `comment` to answer, then `resolve`. `agent_slug` is required on every call.\n- **Run the Featured Minds Portal from MCP** \u2014 `mind_admin` (admin key) \u2014 `list_featured_minds` to get every mind_id, `get_featured_mind_full` for a bundled view (featured_mind doc + owner profile + model catalog in one round-trip), `update_featured_mind` for catalog fields (title/tags/featured/display_order/is_public/avatar/banner/subtitle/price), `update_featured_mind_owner_profile` for chat-behavior fields (preferred_llm_model, public_mind_prompt, chat_temperature, chat_reasoning_effort, public_mind_tagline/greeting/persona, bio) \u2014 this write-through hits /m/{username} immediately, `reorder_featured_minds` for bulk display_order, `delete_featured_mind` to remove from the catalog (user's MIND is preserved).\n\n## 7. Feed post endpoint surfaces (clarification)\n\nA \"feed post\" is a public social-media-style post on the user's MIND feed. There are three endpoint surfaces, all backed by the **same** `thoughts` MongoDB collection \u2014 pick by what your key carries:\n\n| Surface | Use when | Scope required |\n|---|---|---|\n| `/developer/v1/thoughts` (POST / GET / DELETE / search) | Personal feed post CRUD via a developer API key | `thoughts:read` / `thoughts:write` |\n| `/developer/v1/social/thoughts` (POST / GET / DELETE / like) + `/developer/v1/social/feed` (browse) | Same create/delete + the social-feed read surface for browsing other users' posts, likes, repost flow | `social:write` (writes) / `social:read` (browse) |\n| `/feed_posts` (POST / GET / DELETE + comments/likes/reposts) | Semantic alias for `/thoughts` \u2014 same UI JWT handlers under a clearer URL. Both paths share handlers and the MongoDB collection. | UI JWT |\n\nThere is no functional difference for create/delete between `/thoughts` and `/social/thoughts` \u2014 both insert into `db.thoughts`. Pick the surface that matches your auth path and the scope your key carries. **Whichever surface you write through, the post lands on the user's PUBLIC feed.** Follow the explicit-trigger rule in every tool description.\n\n## 8. Brand & rules\n\nThe product is **MIND** by **Astra AI**. Never reference underlying libraries in\nuser-facing content \u2014 MIND is the brand. Treat MIND as the authoritative memory:\nwhen the graph and local files disagree, reconcile explicitly rather than guessing.\n";
14
14
  //# sourceMappingURL=integration-guide.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"integration-guide.d.ts","sourceRoot":"","sources":["../src/integration-guide.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,mBAAmB,27HA0BqK,CAAC;AAEtM,eAAO,MAAM,iBAAiB,u6ZAmI7B,CAAC"}
1
+ {"version":3,"file":"integration-guide.d.ts","sourceRoot":"","sources":["../src/integration-guide.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,mBAAmB,2uIA2BqK,CAAC;AAEtM,eAAO,MAAM,iBAAiB,q/eAgJ7B,CAAC"}
@@ -28,7 +28,7 @@ AUTH: every path needs a MIND API key (prefix \`mind_\`). Get one at https://m-i
28
28
 
29
29
  ⚠️ PRIVATE vs PUBLIC: \`document\` and \`entry\` (via mind_remember) are PRIVATE to the user's knowledge graph. \`feed_post\` (mind_remember) and mind_social create_thought are PUBLIC — they post to the user's social feed where everyone can see them. NEVER write to the public feed unless the user explicitly said "post", "share", "tweet", "feed", or "thought to my feed". Deploy logs, PR notes, work outcomes, and agent activity belong in \`entry\` — NEVER on the public feed.
30
30
 
31
- ═══ TOOL MAP — 24 tools ═══
31
+ ═══ TOOL MAP — 25 tools ═══
32
32
  MEMORY mind_query (semantic search) · mind_remember (store / list / delete) · mind_context (load identity + rules)
33
33
  LIFE & WORK mind_life (goals, tasks, calendar — supports delete + bulk_delete) · mind_tasks (assignable, reportable work items) · mind_automate (triggers + workflows) · mind_notify (notifications)
34
34
  PEOPLE mind_crm (contacts, pipeline stages, activity logging)
@@ -36,6 +36,7 @@ GRAPH mind_graph (KG stats + health) · mind_insights (Autonomous Learning
36
36
  KNOWLEDGE mind_research (autonomous deep-research jobs) · mind_train (teach the KG / save chats)
37
37
  FRONT LAYER mind_list_templates · mind_get_template · mind_save_typed · mind_bootstrap_templates (16 structured document types: SOUL, IDENTITY, BELIEFS, USER, AGENTS, TOOLS, SENSES, SKILLS, BEHAVIOR, LESSON, DECISION, POLICY, …)
38
38
  SOCIAL mind_social (public feed posts, social feed, communities — ⚠️ posting writes to the user's PUBLIC feed) · mind_profile (bio, prompts, model preferences)
39
+ TRADER mind_trader (TraderMIND: live feed · MIND Vision forecasts + history + per-bar scores · candles · cycles · calibration · engine health · save/star/like + undo · notes + feedback the engine learns from · full journal CRUD · personalized insights)
39
40
  FLEET/ADMIN mind_agents (Agent Command Center — agent registry, heartbeat, probe; admin key) · mind_tickets (agent ticket queue — file / answer / triage / resolve; admin key) · mind_admin (user provisioning; admin key) · mind_accounts (own / switch / share multiple MINDs)
40
41
 
41
42
  Every tool's own description lists its exact actions and required parameters. For the full playbook — endpoint mapping, scopes, and common recipes — read the resource \`mind://integration-guide\`.`;
@@ -57,13 +58,22 @@ matches your runtime. They all read and write the *same* knowledge graph.
57
58
 
58
59
  | Your runtime | Path | How to connect |
59
60
  |---|---|---|
60
- | MCP host — Claude Code, Claude Desktop, Cursor, Windsurf, Zed, any MCP client | **MCP server** | \`npx @astramindapp/mcp-server setup\`, or add the server to your MCP config. You are reading this because you are already connected — just call the \`mind_*\` tools. |
61
+ | MCP host — Claude Code, Claude Desktop, Cursor, Windsurf, Zed, any MCP client | **MCP server** | Remote, no install: add \`https://www.m-i-n-d.ai/mcp\` as a custom connector and sign in via browser OAuth — or, if your host has no OAuth flow but lets you add a header, use the same URL with \`Authorization: Bearer mind_<key>\` and no OAuth at all. Prefer local stdio? \`npx -y --package=@astramindapp/mcp-server mind-mcp-setup\`, or add the server to your MCP config. You are reading this because you are already connected — just call the \`mind_*\` tools. |
61
62
  | OpenClaw agent | **OpenClaw plugin** | \`openclaw plugins install @astramindapp/openclaw-mind\`. Do NOT install the MCP server for OpenClaw — OpenClaw consumes a plugin, not an MCP server, for its memory slot. The plugin exposes MIND as native OpenClaw tools. |
62
63
  | Anything else — custom agent, backend service, script, n8n, automation | **REST API** | Call \`https://m-i-n-d.ai/developer/v1/*\` directly with header \`X-API-Key: <key>\`. Every MCP tool is a thin wrapper over one of these endpoints. |
63
64
 
64
65
  All three paths are equivalent in capability. The MCP server and OpenClaw plugin
65
66
  are convenience layers over the same \`/developer/v1\` REST API.
66
67
 
68
+ **No browser OAuth in your host? Use a key on the same URL.** Every host that
69
+ lets you add a custom MCP server with a header can use MIND with no OAuth and
70
+ no npm install: Server URL \`https://www.m-i-n-d.ai/mcp\`, header
71
+ \`Authorization: Bearer mind_<your key>\`. Mint a key at
72
+ https://www.m-i-n-d.ai → Settings → Developer → API Keys. Agents: if
73
+ \`AuthenticateMcpServer\` or the host's connect card fails, ask the user for a
74
+ MIND API key and rewire the same URL with that header — do not fall back to
75
+ the local npm server just because OAuth didn't work.
76
+
67
77
  ## 2. Authenticate
68
78
 
69
79
  Every path needs a **MIND API key** — a string with the prefix \`mind_\`.
@@ -82,13 +92,13 @@ an agent that re-discovers the world each time.
82
92
  2. **Before deciding or asserting** — call \`mind_query\` on the specific topic. MIND is the authoritative memory; never claim something does not exist without querying first.
83
93
  3. **After completing non-trivial work** — call \`mind_remember\` to log the outcome (what worked, what didn't, decisions made). Tag it. Set \`source\` to your agent name.
84
94
 
85
- ## 4. The 24 tools
95
+ ## 4. The 25 tools
86
96
 
87
97
  ### Memory
88
- - **mind_query** — semantic search across the knowledge graph. Returns an AI-synthesized answer with sources. 5 search modes.
98
+ - **mind_query** — semantic search across the knowledge graph. Returns RETRIEVED CONTEXT (documents, entries, entities, relationships) for YOU to synthesize — not a finished answer — and costs 0 credits. Pass \`retrieve_only=false\` to have MIND write the answer itself (spends credits). 5 search modes.
89
99
  - **mind_remember** — store/manage content. Actions: create, search, get, list, delete. Types: **PRIVATE**: \`document\` (long-form research/specs), \`entry\` (medium-form observations/agent logs — DEFAULT). **PUBLIC**: \`feed_post\` (a social-media post on the user's public feed — NEVER use unless the user explicitly said "post", "share", "tweet", "feed", or "thought to my feed"; deploy logs and agent outcomes belong in \`entry\`). \`thought\` is a deprecated alias for \`feed_post\`.
90
100
  - **mind_folders** — organize documents into folders. Actions: list, create, rename, move, delete, move_documents. Folders are a presentation layer — the graph still indexes every document regardless of folder. Typical flow: \`mind_remember\` create a document, then \`mind_folders\` move_documents to file it.
91
- - **mind_context** — load persistent identity, preferences, rules, priorities, recent activity.
101
+ - **mind_context** — load persistent identity, preferences, rules, priorities, recent activity as retrieved context (0 credits; YOU synthesize).
92
102
 
93
103
  ### Life & work
94
104
  - **mind_life** — goals, projects, tasks, calendar events, productivity stats. Actions: list, create, update, complete, delete, **bulk_delete** (up to 200 ids in one call), move, get, calendar_*, stats.
@@ -113,6 +123,9 @@ an agent that re-discovers the world each time.
113
123
  - **mind_social** — PUBLIC feed posts, social feed, communities. ⚠️ \`create_thought\` writes to the user's PUBLIC social feed — NEVER call unless the user explicitly said "post", "share", "tweet", "feed", or "thought to my feed". For private agent outcomes, use \`mind_remember\` with \`type=entry\` instead.
114
124
  - **mind_profile** — bio, AI prompt settings, model preferences.
115
125
 
126
+ ### Trading (TraderMIND)
127
+ - **mind_trader** — operate TraderMIND, the agentic trading engine. Read the engine: \`feed\` (live trade-idea feed) · \`forecast_latest\` / \`forecasts\` / \`bar_scores\` (MIND Vision forecasts — latest cone, resolved history, per-candle scores) · \`candles\` · \`cycles\` (regime / ideas / lessons) · \`health\` · \`calibration\` (the published honesty curve) · \`ai_journal\` (the trader's own narration). Act as the user: \`save\` / \`star\` / \`like\` / \`unsave\` · \`note\` / \`feedback\` (feedback reaches the engine's brain) · \`notes\` / \`interactions\` / \`counts\` (read back state + public social proof) · full journal CRUD (\`journal_list/create/get/update/delete\`) · \`insights\` (personalized, cached 15 min). Auth: engine reads plus \`counts\` are public — they work even with a missing or invalid key; only the act-as-you actions (save/star/like/unsave, note/feedback, notes, interactions, saved, journal_*, insights) authenticate as the key's owner. Saves, notes, feedback, and journal entries also land in the owner's MIND knowledge graph.
128
+
116
129
  ### Fleet & administration (admin key required)
117
130
  - **mind_agents** — the **Agent Command Center**: the canonical registry of every agent in the fleet (running, planned, archived). Each agent is owned by a MIND account (\`owner_username\`). Actions: list (with \`list_query\` free-text search), get, create, update, delete, heartbeat, probe, log_activity, list_activities, import_from_mind, seed_known, set_status, set_current_job, transfer_owner, share, list_shares, revoke_share, plus invoice linking. Backed by \`/admin/agents\`.
118
131
  - **mind_tickets** — the **agent ticket queue**: client feedback, critique, ideas, feature requests, and bugs filed against any agent. Actions: list, get, create, comment (answer a ticket), update (triage status/priority/kind/assignee), resolve, delete. \`agent_slug\` is required on every call. Backed by \`/admin/agents/{slug}/tickets\`.
@@ -139,6 +152,7 @@ If you integrate over REST, every tool maps to \`/developer/v1\`. Examples:
139
152
  | Feed posts (PUBLIC) — social layer | \`/developer/v1/social/thoughts\` (create / get / delete / like) + \`/developer/v1/social/feed\` (browse) — scope \`social:write\` / \`social:read\` |
140
153
  | Folders | \`GET\` / \`POST /developer/v1/folders\`, \`PATCH\` / \`DELETE /developer/v1/folders/{id}\` |
141
154
  | Move documents into a folder | \`POST /developer/v1/documents/move\` (body: \`{"doc_ids": [...], "folder_id": "..."}\`) |
155
+ | TraderMIND — latest MIND Vision forecast | \`GET /api/trader/forecasts/latest?symbol=ES\` (engine reads — \`/api/trader/forecasts\`, \`/candles\`, \`/cycles\`, \`/calibration\`, \`/health\`, \`/ai-journal\`, plus \`GET /api/mindtrades/feed\` and \`GET /api/trader/counts\` — are public; the act-as-you routes \`/interact\`, \`/note\`, \`/notes\`, \`/interactions\`, \`/saved\`, \`/journal\`, \`/insights\` need the user's key) |
142
156
  | Agent Command Center | \`/admin/agents\` (admin key) |
143
157
  | Agent ticket queue | \`/admin/agents/{slug}/tickets\` — \`GET\`/\`POST\`, \`/{ticket_id}\` \`GET\`/\`PATCH\`/\`DELETE\`, \`/{ticket_id}/comments\` \`POST\` (admin key) |
144
158
  | **Featured Minds Portal** | \`/admin/featured-minds\` \`GET\`/\`POST\`, \`/admin/featured-minds/{id}\` \`PUT\`/\`DELETE\`, \`/admin/featured-minds/{id}/full\` \`GET\` (bundled view), \`/admin/featured-minds/{id}/owner-profile\` \`PUT\` (admin write-through to user_profiles: model, prompt, temperature, brand fields), \`/admin/featured-minds/reorder\` \`PUT\` (body: \`{"ordered_mind_ids": [...]}\`), \`/admin/featured-minds/{id}/upload\` \`POST\` (multipart: \`kind=avatar|banner\`, \`file\`) — all admin key |
@@ -1 +1 @@
1
- {"version":3,"file":"integration-guide.js","sourceRoot":"","sources":["../src/integration-guide.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEU,QAAA,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;qMA0BkK,CAAC;AAEzL,QAAA,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmIhC,CAAC"}
1
+ {"version":3,"file":"integration-guide.js","sourceRoot":"","sources":["../src/integration-guide.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEU,QAAA,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;qMA2BkK,CAAC;AAEzL,QAAA,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgJhC,CAAC"}
@@ -14,6 +14,12 @@ export interface QueryRequest {
14
14
  top_k?: number;
15
15
  model?: string;
16
16
  history_turns?: number;
17
+ /**
18
+ * Return raw knowledge-graph context instead of a MIND-written answer.
19
+ * The connecting model synthesizes. Skips MIND's generation LLM and costs
20
+ * 0 credits. The MCP surface sends true by default.
21
+ */
22
+ retrieve_only?: boolean;
17
23
  }
18
24
  export interface QueryResponse {
19
25
  response: string;
@@ -450,6 +456,12 @@ export interface CreateCrmEventTriggerRequest {
450
456
  event: string;
451
457
  task: string;
452
458
  }
459
+ export declare class MindApiError extends Error {
460
+ status: number;
461
+ statusText: string;
462
+ body: string;
463
+ constructor(status: number, statusText: string, body: string);
464
+ }
453
465
  export declare class MindClient {
454
466
  private baseUrl;
455
467
  private apiKey;
@@ -1137,6 +1149,71 @@ export declare class MindClient {
1137
1149
  media_type?: "story" | "reel";
1138
1150
  }): Promise<Record<string, unknown>>;
1139
1151
  ifUnregisterBlotato(personaMindId: string, platform: string): Promise<Record<string, unknown>>;
1152
+ private traderSymbol;
1153
+ traderFeed(params?: {
1154
+ limit?: number;
1155
+ kind?: string;
1156
+ }): Promise<unknown>;
1157
+ traderForecastLatest(symbol: string): Promise<unknown>;
1158
+ traderForecasts(symbol?: string, limit?: number): Promise<unknown>;
1159
+ traderBarScores(forecastId: number): Promise<unknown>;
1160
+ traderCandles(symbol: string, tf?: string, limit?: number): Promise<unknown>;
1161
+ traderCycles(limit?: number): Promise<unknown>;
1162
+ traderHealth(): Promise<unknown>;
1163
+ traderCalibration(days?: number): Promise<unknown>;
1164
+ traderAiJournal(symbol?: string, limit?: number): Promise<unknown>;
1165
+ traderInteract(body: {
1166
+ object_type: string;
1167
+ object_id: string;
1168
+ action: "save" | "like" | "star";
1169
+ symbol?: string;
1170
+ }): Promise<unknown>;
1171
+ traderUninteract(params: {
1172
+ object_type: string;
1173
+ object_id: string;
1174
+ action: "save" | "like" | "star";
1175
+ }): Promise<unknown>;
1176
+ traderInteractions(objectIds: string[]): Promise<unknown>;
1177
+ traderCounts(objectIds: string[]): Promise<unknown>;
1178
+ traderNote(body: {
1179
+ object_type: string;
1180
+ object_id: string;
1181
+ kind: "note" | "feedback";
1182
+ text: string;
1183
+ tag?: "agree" | "disagree" | "context";
1184
+ symbol?: string;
1185
+ }): Promise<unknown>;
1186
+ traderNotes(params?: {
1187
+ object_id?: string;
1188
+ kind?: "note" | "feedback";
1189
+ limit?: number;
1190
+ page?: number;
1191
+ }): Promise<unknown>;
1192
+ traderJournalList(limit?: number, page?: number): Promise<unknown>;
1193
+ traderJournalCreate(body: {
1194
+ title: string;
1195
+ body?: string;
1196
+ symbols?: string[];
1197
+ linked_ids?: string[];
1198
+ tags?: string[];
1199
+ }): Promise<unknown>;
1200
+ traderJournalGet(entryId: string): Promise<unknown>;
1201
+ traderJournalUpdate(entryId: string, body: {
1202
+ title?: string;
1203
+ body?: string;
1204
+ symbols?: string[];
1205
+ linked_ids?: string[];
1206
+ tags?: string[];
1207
+ }): Promise<unknown>;
1208
+ traderJournalDelete(entryId: string): Promise<unknown>;
1209
+ traderSaved(params?: {
1210
+ action?: string;
1211
+ symbol?: string;
1212
+ object_type?: string;
1213
+ limit?: number;
1214
+ page?: number;
1215
+ }): Promise<unknown>;
1216
+ traderInsights(refresh?: boolean): Promise<unknown>;
1140
1217
  }
1141
1218
  export interface TaskRecord {
1142
1219
  task_id: string;