@astramindapp/mcp-server 0.21.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -37,19 +37,48 @@ Your AI agents forget everything between sessions. MIND fixes that. Connect any
37
37
 
38
38
  ## Quick Start
39
39
 
40
- ### 1. Get a MIND API Key
40
+ ### Fastest: one-paste remote connect (Claude Code / Claude Desktop / claude.ai)
41
41
 
42
- Sign up at [m-i-n-d.ai](https://m-i-n-d.ai) → Settings → Developer → Create API Key
42
+ No install, no API key handling — paste one command, click **Connect** in the
43
+ browser, done:
43
44
 
44
- ### 2. Install
45
+ ```bash
46
+ claude mcp add --transport http mind https://m-i-n-d.ai/mcp
47
+ ```
48
+
49
+ Claude opens the m-i-n-d.ai consent page, you click **Connect**, and MIND is
50
+ live. Auth, key minting, and refresh are all handled by OAuth.
51
+
52
+ ### Local stdio install: browser-connect setup wizard
53
+
54
+ For tools that run MCP servers locally (Claude Desktop, Cursor, Windsurf,
55
+ VS Code Copilot), run the setup wizard — it opens your browser, you click
56
+ **Connect** on m-i-n-d.ai, and it receives your API key automatically and
57
+ writes every tool config for you:
45
58
 
46
59
  ```bash
47
- npm install -g @astramindapp/mcp-server
60
+ npx -y @astramindapp/mcp-server@latest mind-mcp-setup
61
+ ```
62
+
63
+ No manual key copying. The wizard auto-detects your installed AI tools and
64
+ configures each one.
65
+
66
+ ### Manual alternative: paste an API key
67
+
68
+ 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:
70
+
71
+ ```bash
72
+ npx -y @astramindapp/mcp-server@latest mind-mcp-setup --key mind_xxx
48
73
  ```
49
74
 
50
- ### 3. Configure Your AI Tool
75
+ or install globally and configure by hand:
76
+
77
+ ```bash
78
+ npm install -g @astramindapp/mcp-server
79
+ ```
51
80
 
52
- #### Claude Code
81
+ #### Claude Code (local stdio with a manual key)
53
82
 
54
83
  ```bash
55
84
  claude mcp add mind -- env MIND_API_KEY=mind_xxx mind-mcp
@@ -0,0 +1,36 @@
1
+ /**
2
+ * MIND MCP Setup — browser OAuth connect.
3
+ *
4
+ * Implements the loopback OAuth 2.1 Authorization Code + PKCE flow against
5
+ * the MIND backend (backend/routes/mcp_oauth_routes.py):
6
+ *
7
+ * 1. Start a local HTTP server on 127.0.0.1 (OS-assigned port), path /callback.
8
+ * 2. Dynamically register a public client (RFC 7591) at {base}/oauth/mcp/register.
9
+ * 3. Open {base}/oauth/mcp/authorize in the default browser — the user clicks
10
+ * "Connect" on the m-i-n-d.ai consent page.
11
+ * 4. The browser is redirected back to the loopback server with ?code=...&state=...
12
+ * 5. Exchange the code at {base}/oauth/mcp/token (PKCE verified) and receive a
13
+ * standard `mind_` API key as the access token.
14
+ *
15
+ * No dependencies beyond Node built-ins (http, crypto, child_process) and the
16
+ * global fetch available in Node 18+.
17
+ */
18
+ export interface ConnectViaBrowserOptions {
19
+ /**
20
+ * Open the system browser automatically. Defaults to true; set to false
21
+ * (or set env MIND_CONNECT_NO_BROWSER=1) to print the URL instead.
22
+ */
23
+ openBrowser?: boolean;
24
+ /** Invoked with the authorize URL once it is known (always called). */
25
+ onAuthorizeUrl?: (url: string) => void;
26
+ /** OAuth client display name shown on the consent screen. */
27
+ clientName?: string;
28
+ /** Flow timeout in milliseconds (default 5 minutes). */
29
+ timeoutMs?: number;
30
+ }
31
+ /**
32
+ * Run the full browser OAuth flow against a MIND backend and return the
33
+ * minted `mind_` API key.
34
+ */
35
+ export declare function connectViaBrowser(baseUrl: string, options?: ConnectViaBrowserOptions): Promise<string>;
36
+ //# sourceMappingURL=oauth-connect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-connect.d.ts","sourceRoot":"","sources":["../src/oauth-connect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAWH,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uEAAuE;IACvE,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAuID;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,MAAM,CAAC,CAkJjB"}
@@ -0,0 +1,291 @@
1
+ "use strict";
2
+ /**
3
+ * MIND MCP Setup — browser OAuth connect.
4
+ *
5
+ * Implements the loopback OAuth 2.1 Authorization Code + PKCE flow against
6
+ * the MIND backend (backend/routes/mcp_oauth_routes.py):
7
+ *
8
+ * 1. Start a local HTTP server on 127.0.0.1 (OS-assigned port), path /callback.
9
+ * 2. Dynamically register a public client (RFC 7591) at {base}/oauth/mcp/register.
10
+ * 3. Open {base}/oauth/mcp/authorize in the default browser — the user clicks
11
+ * "Connect" on the m-i-n-d.ai consent page.
12
+ * 4. The browser is redirected back to the loopback server with ?code=...&state=...
13
+ * 5. Exchange the code at {base}/oauth/mcp/token (PKCE verified) and receive a
14
+ * standard `mind_` API key as the access token.
15
+ *
16
+ * No dependencies beyond Node built-ins (http, crypto, child_process) and the
17
+ * global fetch available in Node 18+.
18
+ */
19
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
20
+ if (k2 === undefined) k2 = k;
21
+ var desc = Object.getOwnPropertyDescriptor(m, k);
22
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
23
+ desc = { enumerable: true, get: function() { return m[k]; } };
24
+ }
25
+ Object.defineProperty(o, k2, desc);
26
+ }) : (function(o, m, k, k2) {
27
+ if (k2 === undefined) k2 = k;
28
+ o[k2] = m[k];
29
+ }));
30
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
31
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
32
+ }) : function(o, v) {
33
+ o["default"] = v;
34
+ });
35
+ var __importStar = (this && this.__importStar) || (function () {
36
+ var ownKeys = function(o) {
37
+ ownKeys = Object.getOwnPropertyNames || function (o) {
38
+ var ar = [];
39
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
40
+ return ar;
41
+ };
42
+ return ownKeys(o);
43
+ };
44
+ return function (mod) {
45
+ if (mod && mod.__esModule) return mod;
46
+ var result = {};
47
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
48
+ __setModuleDefault(result, mod);
49
+ return result;
50
+ };
51
+ })();
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ exports.connectViaBrowser = connectViaBrowser;
54
+ const http = __importStar(require("http"));
55
+ const crypto = __importStar(require("crypto"));
56
+ const child_process_1 = require("child_process");
57
+ const DEFAULT_TIMEOUT_MS = 5 * 60 * 1000; // 5 minutes
58
+ const CALLBACK_PATH = "/callback";
59
+ const DEFAULT_CLIENT_NAME = "MIND Setup CLI";
60
+ function base64url(buf) {
61
+ return buf.toString("base64url");
62
+ }
63
+ /** RFC 7636 §4.1 — 43–128 char base64url verifier. 64 random bytes → 86 chars. */
64
+ function generatePkcePair() {
65
+ const verifier = base64url(crypto.randomBytes(64));
66
+ const challenge = base64url(crypto.createHash("sha256").update(verifier, "ascii").digest());
67
+ return { verifier, challenge };
68
+ }
69
+ function openInBrowser(url) {
70
+ try {
71
+ let child;
72
+ if (process.platform === "darwin") {
73
+ child = (0, child_process_1.spawn)("open", [url], { detached: true, stdio: "ignore" });
74
+ }
75
+ else if (process.platform === "win32") {
76
+ // `start` is a cmd built-in; empty "" is the window title slot.
77
+ child = (0, child_process_1.spawn)("cmd", ["/c", "start", "", url.replace(/&/g, "^&")], {
78
+ detached: true,
79
+ stdio: "ignore",
80
+ });
81
+ }
82
+ else {
83
+ child = (0, child_process_1.spawn)("xdg-open", [url], { detached: true, stdio: "ignore" });
84
+ }
85
+ child.on("error", () => {
86
+ /* swallow — the URL is printed as a fallback either way */
87
+ });
88
+ child.unref();
89
+ return true;
90
+ }
91
+ catch {
92
+ return false;
93
+ }
94
+ }
95
+ function htmlPage(title, heading, body, ok) {
96
+ const accent = ok ? "#10b981" : "#ef4444";
97
+ return `<!DOCTYPE html>
98
+ <html lang="en">
99
+ <head>
100
+ <meta charset="utf-8">
101
+ <meta name="viewport" content="width=device-width, initial-scale=1">
102
+ <title>${title}</title>
103
+ <style>
104
+ body { margin: 0; min-height: 100vh; display: flex; align-items: center; justify-content: center;
105
+ background: #0b0f19; color: #e5e7eb; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
106
+ .card { text-align: center; padding: 48px 56px; border-radius: 16px; background: #111827;
107
+ border: 1px solid #1f2937; box-shadow: 0 20px 60px rgba(0,0,0,.5); max-width: 440px; }
108
+ .badge { font-size: 44px; line-height: 1; margin-bottom: 18px; color: ${accent}; }
109
+ h1 { font-size: 20px; margin: 0 0 10px; font-weight: 600; }
110
+ p { margin: 0; color: #9ca3af; font-size: 14px; line-height: 1.6; }
111
+ </style>
112
+ </head>
113
+ <body>
114
+ <div class="card">
115
+ <div class="badge">${ok ? "✓" : "✕"}</div>
116
+ <h1>${heading}</h1>
117
+ <p>${body}</p>
118
+ </div>
119
+ </body>
120
+ </html>`;
121
+ }
122
+ const SUCCESS_PAGE = htmlPage("Connected to MIND", "✓ Connected to MIND", "You can close this tab and return to your terminal.", true);
123
+ function errorPage(detail) {
124
+ return htmlPage("MIND connection failed", "Connection failed", `${detail} — close this tab and retry from your terminal.`, false);
125
+ }
126
+ async function registerClient(base, redirectUri, clientName) {
127
+ const res = await fetch(`${base}/oauth/mcp/register`, {
128
+ method: "POST",
129
+ headers: { "Content-Type": "application/json" },
130
+ body: JSON.stringify({
131
+ redirect_uris: [redirectUri],
132
+ client_name: clientName,
133
+ }),
134
+ });
135
+ if (!res.ok) {
136
+ const text = await res.text().catch(() => "");
137
+ throw new Error(`Client registration failed (${res.status}): ${text.slice(0, 300)}`);
138
+ }
139
+ const data = (await res.json());
140
+ if (!data.client_id) {
141
+ throw new Error("Client registration response did not include a client_id.");
142
+ }
143
+ return data.client_id;
144
+ }
145
+ async function exchangeCode(base, code, redirectUri, clientId, verifier) {
146
+ const res = await fetch(`${base}/oauth/mcp/token`, {
147
+ method: "POST",
148
+ headers: { "Content-Type": "application/x-www-form-urlencoded" },
149
+ body: new URLSearchParams({
150
+ grant_type: "authorization_code",
151
+ code,
152
+ redirect_uri: redirectUri,
153
+ client_id: clientId,
154
+ code_verifier: verifier,
155
+ }).toString(),
156
+ });
157
+ const data = (await res.json().catch(() => ({})));
158
+ if (!res.ok || !data.access_token) {
159
+ const detail = data.error_description || data.error || `HTTP ${res.status}`;
160
+ throw new Error(`Token exchange failed: ${detail}`);
161
+ }
162
+ return data.access_token;
163
+ }
164
+ /**
165
+ * Run the full browser OAuth flow against a MIND backend and return the
166
+ * minted `mind_` API key.
167
+ */
168
+ async function connectViaBrowser(baseUrl, options = {}) {
169
+ const base = baseUrl.replace(/\/+$/, "");
170
+ const clientName = options.clientName ?? DEFAULT_CLIENT_NAME;
171
+ const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
172
+ const shouldOpenBrowser = options.openBrowser ?? process.env.MIND_CONNECT_NO_BROWSER !== "1";
173
+ const { verifier, challenge } = generatePkcePair();
174
+ const state = base64url(crypto.randomBytes(24));
175
+ return new Promise((resolve, reject) => {
176
+ let settled = false;
177
+ let timer;
178
+ const server = http.createServer();
179
+ const finish = (err, key) => {
180
+ if (settled)
181
+ return;
182
+ settled = true;
183
+ if (timer)
184
+ clearTimeout(timer);
185
+ // Stop accepting connections; in-flight responses use "Connection: close"
186
+ // so they flush fully and the server drains on its own.
187
+ server.close();
188
+ // Drop any lingering idle keep-alive sockets so the CLI exits promptly
189
+ // (Node 18.2+). Responses are flushed before this runs because every
190
+ // handler ends the response before calling finish().
191
+ setImmediate(() => {
192
+ server.closeIdleConnections?.();
193
+ });
194
+ if (err)
195
+ reject(err);
196
+ else
197
+ resolve(key);
198
+ };
199
+ server.on("error", (err) => finish(new Error(`Local callback server error: ${err.message}`)));
200
+ server.on("request", (req, res) => {
201
+ void (async () => {
202
+ const url = new URL(req.url ?? "/", "http://127.0.0.1");
203
+ if (url.pathname !== CALLBACK_PATH) {
204
+ res.writeHead(404, { "Content-Type": "text/plain", Connection: "close" });
205
+ res.end("Not found");
206
+ return;
207
+ }
208
+ const respond = (status, html) => {
209
+ res.writeHead(status, {
210
+ "Content-Type": "text/html; charset=utf-8",
211
+ "Cache-Control": "no-store",
212
+ Connection: "close",
213
+ });
214
+ res.end(html);
215
+ };
216
+ const errParam = url.searchParams.get("error");
217
+ if (errParam) {
218
+ const desc = url.searchParams.get("error_description") || errParam;
219
+ respond(400, errorPage(desc));
220
+ finish(new Error(`Authorization failed: ${desc}`));
221
+ return;
222
+ }
223
+ const code = url.searchParams.get("code");
224
+ const returnedState = url.searchParams.get("state");
225
+ if (!code) {
226
+ respond(400, errorPage("No authorization code was returned"));
227
+ finish(new Error("Callback did not include an authorization code."));
228
+ return;
229
+ }
230
+ if (returnedState !== state) {
231
+ respond(400, errorPage("State mismatch — possible cross-site request forgery"));
232
+ finish(new Error("State mismatch on OAuth callback — aborting (possible CSRF). Retry the connection."));
233
+ return;
234
+ }
235
+ try {
236
+ const accessToken = await exchangeCode(base, code, redirectUri, clientId, verifier);
237
+ respond(200, SUCCESS_PAGE);
238
+ finish(null, accessToken);
239
+ }
240
+ catch (err) {
241
+ const message = err instanceof Error ? err.message : String(err);
242
+ respond(502, errorPage(message));
243
+ finish(new Error(message));
244
+ }
245
+ })();
246
+ });
247
+ let redirectUri = "";
248
+ let clientId = "";
249
+ server.listen(0, "127.0.0.1", () => {
250
+ void (async () => {
251
+ try {
252
+ const { port } = server.address();
253
+ redirectUri = `http://127.0.0.1:${port}${CALLBACK_PATH}`;
254
+ clientId = await registerClient(base, redirectUri, clientName);
255
+ const authorizeUrl = `${base}/oauth/mcp/authorize?` +
256
+ new URLSearchParams({
257
+ response_type: "code",
258
+ client_id: clientId,
259
+ redirect_uri: redirectUri,
260
+ state,
261
+ code_challenge: challenge,
262
+ code_challenge_method: "S256",
263
+ scope: "mind:full",
264
+ }).toString();
265
+ options.onAuthorizeUrl?.(authorizeUrl);
266
+ if (shouldOpenBrowser) {
267
+ console.log("Opening your browser to connect to MIND...");
268
+ openInBrowser(authorizeUrl);
269
+ console.log("If the browser didn't open, use this link to connect:");
270
+ console.log(` ${authorizeUrl}`);
271
+ }
272
+ else {
273
+ console.log("Open this link to connect:");
274
+ console.log(` ${authorizeUrl}`);
275
+ }
276
+ console.log("");
277
+ console.log("Waiting for you to click \"Connect\" in the browser...");
278
+ timer = setTimeout(() => {
279
+ finish(new Error(`Timed out after ${Math.round(timeoutMs / 60000)} minutes waiting for the browser connection. Run the setup again to retry.`));
280
+ }, timeoutMs);
281
+ // Don't let the timer keep the process alive on its own.
282
+ timer.unref?.();
283
+ }
284
+ catch (err) {
285
+ finish(err instanceof Error ? err : new Error(String(err)));
286
+ }
287
+ })();
288
+ });
289
+ });
290
+ }
291
+ //# sourceMappingURL=oauth-connect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-connect.js","sourceRoot":"","sources":["../src/oauth-connect.ts"],"names":[],"mappings":"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"}
package/dist/setup.d.ts CHANGED
@@ -3,8 +3,11 @@
3
3
  * MIND MCP Server — Interactive Setup Wizard
4
4
  *
5
5
  * Usage:
6
- * npx @mindapp/mcp-server setup
7
- * mind-mcp-setup
6
+ * npx -y @astramindapp/mcp-server@latest mind-mcp-setup
7
+ * mind-mcp-setup Browser connect (default) — opens m-i-n-d.ai,
8
+ * click "Connect", key arrives automatically
9
+ * mind-mcp-setup --key Manual mode — paste an API key instead
10
+ * mind-mcp-setup --key <k> Manual mode with the key inline
8
11
  *
9
12
  * Auto-detects installed AI tools and configures MIND as their memory layer.
10
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG"}
package/dist/setup.js CHANGED
@@ -4,8 +4,11 @@
4
4
  * MIND MCP Server — Interactive Setup Wizard
5
5
  *
6
6
  * Usage:
7
- * npx @mindapp/mcp-server setup
8
- * mind-mcp-setup
7
+ * npx -y @astramindapp/mcp-server@latest mind-mcp-setup
8
+ * mind-mcp-setup Browser connect (default) — opens m-i-n-d.ai,
9
+ * click "Connect", key arrives automatically
10
+ * mind-mcp-setup --key Manual mode — paste an API key instead
11
+ * mind-mcp-setup --key <k> Manual mode with the key inline
9
12
  *
10
13
  * Auto-detects installed AI tools and configures MIND as their memory layer.
11
14
  */
@@ -47,6 +50,7 @@ const fs = __importStar(require("fs"));
47
50
  const path = __importStar(require("path"));
48
51
  const os = __importStar(require("os"));
49
52
  const readline = __importStar(require("readline"));
53
+ const oauth_connect_js_1 = require("./oauth-connect.js");
50
54
  const HOME = os.homedir();
51
55
  function getToolConfigs() {
52
56
  const platform = process.platform;
@@ -195,20 +199,53 @@ async function validateApiKey(apiKey, baseUrl) {
195
199
  async function main() {
196
200
  printHeader();
197
201
  const rl = createRL();
198
- // Step 1: API Key
202
+ // Step 1: API Key — default is browser OAuth; --key switches to manual paste
199
203
  print("Step 1: Connect to your MIND");
200
204
  print("─────────────────────────────");
201
- print("You need a MIND API key. Get one at: https://m-i-n-d.ai → Settings → Developer → API Keys");
202
- print("");
203
- let apiKey = process.env.MIND_API_KEY ?? "";
204
- if (apiKey) {
205
- print(`Found MIND_API_KEY in environment: ${apiKey.slice(0, 12)}...`);
206
- const useExisting = await ask(rl, "Use this key? (Y/n): ");
207
- if (useExisting.toLowerCase() === "n") {
208
- apiKey = "";
205
+ const baseUrl = process.env.MIND_BASE_URL ?? "https://m-i-n-d.ai";
206
+ const cliArgs = process.argv.slice(2);
207
+ const keyFlagIndex = cliArgs.indexOf("--key");
208
+ const manualMode = keyFlagIndex !== -1;
209
+ let apiKey = "";
210
+ // --key <value> inline
211
+ if (manualMode) {
212
+ const flagValue = cliArgs[keyFlagIndex + 1];
213
+ if (flagValue && !flagValue.startsWith("--") && flagValue !== "setup") {
214
+ apiKey = flagValue.trim();
215
+ }
216
+ }
217
+ // Existing MIND_API_KEY in the environment (kept as a convenience path)
218
+ if (!apiKey) {
219
+ apiKey = process.env.MIND_API_KEY ?? "";
220
+ if (apiKey) {
221
+ print(`Found MIND_API_KEY in environment: ${apiKey.slice(0, 12)}...`);
222
+ const useExisting = await ask(rl, "Use this key? (Y/n): ");
223
+ if (useExisting.toLowerCase() === "n") {
224
+ apiKey = "";
225
+ }
209
226
  }
210
227
  }
228
+ // DEFAULT: browser OAuth — one click on m-i-n-d.ai, key arrives automatically
229
+ if (!apiKey && !manualMode) {
230
+ print("Connecting via your browser — sign in to m-i-n-d.ai and click \"Connect\".");
231
+ print("(Prefer to paste a key instead? Re-run with --key)");
232
+ print("");
233
+ try {
234
+ apiKey = await (0, oauth_connect_js_1.connectViaBrowser)(baseUrl);
235
+ print("");
236
+ print(`✅ Connected! Received your MIND API key automatically: ${apiKey.slice(0, 12)}...`);
237
+ }
238
+ catch (err) {
239
+ const message = err instanceof Error ? err.message : String(err);
240
+ print(`\n⚠️ Browser connect failed: ${message}`);
241
+ print("Or paste an API key from m-i-n-d.ai Settings → Developer:");
242
+ }
243
+ }
244
+ // Manual fallback (also the --key path when no inline value was given)
211
245
  if (!apiKey) {
246
+ if (manualMode) {
247
+ print("Get a key at: https://m-i-n-d.ai → Settings → Developer → API Keys");
248
+ }
212
249
  apiKey = await ask(rl, "Paste your MIND API key: ");
213
250
  }
214
251
  if (!apiKey) {
@@ -217,7 +254,6 @@ async function main() {
217
254
  process.exit(1);
218
255
  }
219
256
  // Validate
220
- const baseUrl = process.env.MIND_BASE_URL ?? "https://m-i-n-d.ai";
221
257
  print("\nValidating API key...");
222
258
  const validation = await validateApiKey(apiKey, baseUrl);
223
259
  if (!validation.valid) {
@@ -310,7 +346,7 @@ async function main() {
310
346
  }
311
347
  // Entry point
312
348
  const args = process.argv.slice(2);
313
- if (args.includes("setup") || args.includes("--setup")) {
349
+ if (args.includes("setup") || args.includes("--setup") || args.includes("--key")) {
314
350
  main().catch((err) => {
315
351
  console.error("Setup failed:", err);
316
352
  process.exit(1);
@@ -321,8 +357,11 @@ else {
321
357
  print("MIND MCP Server Setup");
322
358
  print("");
323
359
  print("Usage:");
324
- print(" mind-mcp-setup Run interactive setup wizard");
325
- print(" mind-mcp-setup setup Same as above");
360
+ print(" mind-mcp-setup Run setup — browser connect by default");
361
+ print(" (opens m-i-n-d.ai, click \"Connect\", done)");
362
+ print(" mind-mcp-setup --key Paste an API key manually instead");
363
+ print(" mind-mcp-setup --key <k> Manual mode with the key inline");
364
+ print(" mind-mcp-setup setup Same as the default");
326
365
  print("");
327
366
  main().catch((err) => {
328
367
  console.error("Setup failed:", err);
package/dist/setup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astramindapp/mcp-server",
3
- "version": "0.21.0",
3
+ "version": "0.22.0",
4
4
  "mcpName": "io.github.theastraway/mind",
5
5
  "description": "MIND MCP Server — 28 tools. The most complete AI memory layer with the Focus → Project → Outcome → Task hierarchy (mind_focuses + extended mind_life with item_type/parent_id/focus_id and cross-account project sharing via share/list_shares/revoke_share), document folders with deterministic per-source_type routing (mind_folder_routes) and LLM content-aware picker (mind_folder_suggest), the MIND Sense Front Layer (16 typed-document templates), Agent Command Center (admin-only registry of every agent across the Astra AI fleet — heartbeat, probe, status, ownership & sharing), agent ticket queues (file, answer, triage, resolve client feedback and bugs), Featured Minds Portal (full admin CRUD over the public marketplace — model picker, public chat prompt, temperature, brand fields, Influencer Factory persona fields archetype/voice/seed-image/niche-tags/kg-scope/agent-posting, write-through to user_profiles), Influencer Factory Command Center (admin-only synthetic-persona fleet — persona CRUD, Nano Banana face anchor + image-to-image variants, ElevenLabs voice library + clone + sample, per-platform bios with LLM drafter, Blotato account registration for YouTube/IG/LinkedIn/X/Threads/Pinterest plus TikTok manual-upload), multi-MIND accounts (own and switch between many knowledge graphs), site-wide assignable tasks, personal knowledge graph with emotional intelligence, CRM, life management, social, self-training, research agent, automations. Works with Claude, GPT, Gemini.",
6
6
  "files": [