# @astramindapp/mcp-server **MIND MCP Server** — The most complete AI memory layer available. 44 tools, 384 actions. 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. **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. ## 44 Tools | Tool | Actions | What It Does | |------|---------|-------------| | `mind_query` | 1 | Semantic search across your knowledge graph (5 search modes) | | `mind_remember` | 5 | Store, search, get, list, delete — `document` & `entry` (PRIVATE), `feed_post` (PUBLIC, explicit user request only — `thought` kept as deprecated alias) | | `mind_folders` | 7 | Organize documents into folders — list, create, rename, move, delete, file documents | | `mind_folder_routes` | 4 | Configure deterministic system-folder routing — which folder each kind of system-generated doc (life items, CRM, chat saves, tasks, training, trader signals, cloud imports) is filed into automatically | | `mind_folder_suggest` | 1 | Ask MIND which folder a piece of content belongs in, via its routing_hint + a cheap LLM picker | | `mind_share` | 4 | Create and manage share links for one MIND document — create (default), list, list_all, revoke | | `mind_context` | 1 | Load persistent identity, preferences, rules, priorities, recent activity | | `mind_life` | 16 | Goals, projects, tasks + full calendar management + productivity stats | | `mind_focuses` | 5 | Focus → Project buckets — the top-level groupings above Life Projects | | `mind_crm` | 7 | Contacts, pipeline, activity logging, interaction history | | `mind_tasks` | 9 | Site-wide tasks — assignable, completable work items on projects, contacts, or agents, plus completion reports | | `mind_graph` | 3 | Graph stats, diagnostics, entity labels | | `mind_admin` | 11 | **Admin-only.** User provisioning + the **Featured Minds Portal**: full CRUD over the public marketplace (get_full / update / update_owner_profile / reorder / delete), tier/credit management | | `mind_sense` | 7 | MINDsense emotional intelligence — state, signals, timeline, KG weights, spikes | | `mind_osint` | 7 | Operate Ozzie — the autonomous OSINT analyst — for cited intelligence dossiers on a domain/IP/org/person, plus live-feed alerts and watchlists | | `mind_research` | 3 | Launch autonomous deep research jobs | | `mind_train` | 7 | Self-training sessions + save chats to knowledge graph | | `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 | | `mind_social_analytics` | 6 | YouTube/LinkedIn/X/Twitch channel stats, recent video performance, retention/traffic/sentiment, goal progress | | `mind_profile` | 9 | Profile, custom system prompts, LLM model selection | | `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 | | `mind_insights` | 7 | Autonomous Learning Engine insights, weekly summaries, feedback | | `mind_automate` | 6 | Scheduled automations, event triggers, execution history | | `mind_notify` | 4 | Notifications, mark read, stats | | `mind_agents` | 25 | **Admin-only.** Agent Command Center — list/search/get/create/update/delete agents, heartbeats, probes, activity log, import from MIND, seed canonical fleet, link invoices, transfer ownership + share agents with other accounts | | `mind_tickets` | 7 | **Admin-only.** Agent ticket queue — file, view, answer (comment), triage, resolve, and delete client feedback / bugs / ideas on any agent | | `mind_personas` | 17 | **Admin-only.** Influencer Factory Command Center — synthetic-persona CRUD, face anchor + variants, ElevenLabs voice, per-platform bios, Blotato account registration | | `mind_accounts` | 6 | Multi-MIND accounts — list MINDs you can access, create new ones, delete MINDs you own, manage owners/viewers, send email invitations | | `mind_list_templates` | 1 | List the 16 Front Layer typed-document templates | | `mind_get_template` | 1 | Fetch the full spec for one Front Layer template | | `mind_save_typed` | 1 | Save a filled-out Front Layer document with its type tag | | `mind_bootstrap_templates` | 1 | Seed all 16 Front Layer templates into a MIND tenant | | `mind_mindmap` | 6 | MIND Mind Map (m-i-n-d.ai/#/mind-map) — visual canvases: list/get/create/update/delete, read a public shared map. Sharing, collaborators and AI generation from a prompt/project stay in the web app (JWT-only, human-only) | | `mind_moneymind` | 37 | MoneyMIND (m-i-n-d.ai/#/moneyMIND) — accounts, transactions + splits + rules, budgets, recurring bills, net worth, savings goals, credit, alerts, bill negotiation, bank statements | | `mind_budget` | 19 | 13-week cash-flow planner (m-i-n-d.ai/#/budget) — cells, rows, quarters, variance, roll-forward, autofill/build from bank statements | | `mind_sheets` | 14 | Airtable-style tables (m-i-n-d.ai/#/sheets) — tables, columns, rows, CSV export | | `mind_email` | 14 | MIND Email Manager (m-i-n-d.ai/#/email) — inbox, threads, search, AI draft, ⚠️ send (outward), voice/tone preferences | | `mind_checklists` | 13 | Kanon checklists (kanon.theastraway.com) attached to Life items or tasks — templates, runs, toggle_item, progress rollups | | `mind_sign` | 12 | MIND Sign e-signature (m-i-n-d.ai/#/mindsign) — envelopes, fields, ⚠️ send/resend (outward), void, audit, certificate | | `mind_invoices` | 9 | Invoice Agent (m-i-n-d.ai/#/invoiceagent) — create/update, ask a question about an invoice, ⚠️ invite (outward), received invoices | | `mind_books` | 9 | MIND Books accounting (m-i-n-d.ai/#/mind-books) — vendors, customers, chart of accounts, bills, invoices overview | | `mind_timer` | 8 | Tempo time tracking — start/stop, manual entries, summaries | | `mind_forms` | 7 | Quill lead-capture forms (m-i-n-d.ai/#/forms) — build, read submissions, public read by slug | | `mind_library` | 8 | Personal bookshelf (m-i-n-d.ai/#/library) — authors, books, chapter content, AI reading companion | ## Quick Start ### Fastest: one-paste remote connect (Claude Code / Claude Desktop / claude.ai) No install, no API key handling — paste one command, click **Connect** in the browser, done: ```bash claude mcp add --transport http mind https://www.m-i-n-d.ai/mcp ``` Claude opens the m-i-n-d.ai consent page, you click **Connect**, and MIND is live. Auth, key minting, and refresh are all handled by OAuth. ### No browser OAuth in your host? Use a key on the same URL Every host that lets you add a custom MCP server with a header can use MIND with no OAuth and no npm install: same remote server URL, just swap in a key. - **Server URL**: `https://www.m-i-n-d.ai/mcp` - **Header**: `Authorization: Bearer mind_` - **Mint a key**: https://www.m-i-n-d.ai → Settings → Developer → API Keys Agents: if `AuthenticateMcpServer` or the host's connect card fails, ask the user for a MIND API key and rewire the same URL with that header — do not fall back to the local npm server just because OAuth didn't work. ### Local stdio install: browser-connect setup wizard For tools that run MCP servers locally (Claude Desktop, Cursor, Windsurf, VS Code Copilot), run the setup wizard — it opens your browser, you click **Connect** on m-i-n-d.ai, and it receives your API key automatically and writes every tool config for you: ```bash npx -y --package=@astramindapp/mcp-server mind-mcp-setup ``` No manual key copying. The wizard auto-detects your installed AI tools and configures each one. ### Manual alternative: paste an API key If you'd rather mint a key yourself: sign up at [www.m-i-n-d.ai](https://www.m-i-n-d.ai) → Settings → Developer → Create API Key, then: ```bash npx -y --package=@astramindapp/mcp-server mind-mcp-setup --key mind_xxx ``` or install globally and configure by hand: ```bash npm install -g @astramindapp/mcp-server ``` #### Claude Code (local stdio with a manual key) ```bash claude mcp add mind -- env MIND_API_KEY=mind_xxx mind-mcp ``` #### Claude Desktop Add to your `claude_desktop_config.json`: ```json { "mcpServers": { "mind": { "command": "mind-mcp", "env": { "MIND_API_KEY": "mind_your_key_here" } } } } ``` The config file lives at `~/Library/Application Support/Claude/claude_desktop_config.json` on macOS, or `%APPDATA%\Claude\claude_desktop_config.json` on Windows. Fully quit and reopen Claude Desktop after editing — it only reads this file on launch. #### Cursor Add to `.cursor/mcp.json`: ```json { "mcpServers": { "mind": { "command": "mind-mcp", "env": { "MIND_API_KEY": "mind_your_key_here" } } } } ``` #### Any MCP-Compatible Agent The server works with any tool that supports Model Context Protocol — Claude, GPT, Gemini, Llama, or any future model. ## How It Works ``` Your AI Agent <--> MCP Protocol <--> MIND MCP Server <--> Personal Knowledge Graph | Emotional Intelligence Autonomous Learning CRM + Life + Social ``` 1. Agent calls `mind_context` at session start → loads identity, rules, priorities 2. Agent calls `mind_query` before decisions → retrieves relevant memories 3. Agent calls `mind_remember` after tasks → stores outcomes and learnings 4. Agent calls `mind_sense` → reads user's emotional state to adapt responses 5. Agent calls `mind_insights` → surfaces autonomous pattern detection 6. Next session, any agent has full context. Knowledge compounds. ## What Makes MIND Different ### vs. Flat File Memory (MEMORY.md) | | Flat Files | MIND | |---|---|---| | Size | ~20K chars, truncated | Unlimited knowledge graph | | Retrieval | Loads everything every turn | Only relevant memories via semantic search | | Structure | Unstructured text | Graph with entities, relationships, and emotional weights | | Cross-agent | One tool only | Shared across all AI agents | | Intelligence | None | Autonomous pattern detection + emotional encoding | ### vs. Other MCP Memory Servers | | Anthropic Official | Mem0 | Graphiti/Zep | MIND | |---|---|---|---|---| | Tools | 8 | 4 | 9 | **24** | | Knowledge graph | Basic (JSON) | No (vectors) | Yes (Neo4j) | **Yes (per-user MIND graph)** | | Emotional intelligence | No | No | No | **Yes (patent-pending)** | | CRM | No | No | No | **Yes** | | Life management | No | No | No | **Yes** | | Social features | No | No | No | **Yes** | | Self-training | No | No | No | **Yes** | | Research agent | No | No | No | **Yes** | | Automations | No | No | No | **Yes** | | Mobile app | No | No | No | **Yes** | ## Tool Reference ### `mind_query` — Search Your Knowledge Graph ``` query: "What did I decide about the authentication approach?" mode: "hybrid" // hybrid (default), mix, global, local, naive ``` 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). ### `mind_remember` — Store & Manage Content | Action | Description | |--------|-------------| | `create` | Store content. **PRIVATE**: `document`, `entry` (default). **PUBLIC**: `feed_post` — writes to the user's public social feed, NEVER use unless the user explicitly said "post", "share", "tweet", "feed", or "thought to my feed". (`thought` is a deprecated alias for `feed_post`.) | | `delete` | Remove by ID | | `search` | Find entries / feed posts by query | | `get` | Retrieve specific item by ID | | `list` | Paginated listing of all content | ### `mind_folders` — Organize Documents into Folders Folders are a presentation layer over the document tray — the knowledge graph still indexes and retrieves across every document regardless of folder. | Action | Description | |--------|-------------| | `list` | All folders, each with its document count | | `create` | Create a folder (optionally nested under a parent) | | `rename` | Change a folder's name | | `move` | Re-nest a folder under a different parent | | `delete` | Remove a folder — its documents and subfolders move up a level; nothing is deleted | | `move_documents` | File one or more documents into a folder | ### `mind_context` — Load Persistent Context Loads five structured sections at session start: - **Soul** — Core identity, mission, personality - **User** — Who the user is, their role, preferences - **Rules** — Operating constraints, behavioral guidelines - **Priorities** — Current goals, active projects, deadlines - **Recent** — Latest activity, outcomes, decisions ### `mind_life` — Life Management + Calendar | Action | Description | |--------|-------------| | `list`, `create`, `update`, `complete`, `delete`, `move`, `get` | Full task/goal CRUD | | `bulk_delete` | Delete up to 200 life items in one call (`item_ids` array) | | `calendar_list`, `calendar_create`, `calendar_update`, `calendar_delete` | Calendar events | | `stats` | Productivity metrics and completion rates | ### `mind_crm` — Contact Relationship Management | Action | Description | |--------|-------------| | `list`, `create`, `update`, `delete`, `get` | Contact CRUD with pipeline stages | | `log_activity` | Record calls, emails, meetings, notes | | `list_activities` | View interaction history | ### `mind_tasks` — Site-Wide Tasks Assignable, completable, reportable work items. A task can attach to a Life project (`parent_type: "life_item"`), a CRM contact (`"contact"`), an agent (`"agent"`), or stand alone. Assign tasks to a MIND member, an agent, or an external email address. | Action | Description | |--------|-------------| | `list` | List/filter tasks by status, priority, parent, assignee, or overdue | | `create` | Create a task — attach to a project/contact/agent, assign, set a due date | | `get`, `update`, `delete` | Task CRUD | | `complete`, `reopen` | Mark a task done or reopen it | | `assign` | (Re)assign to a member/agent/external; optionally fire the agent | | `reports` | Completion analytics — counts, overdue, by-assignee, 8-week throughput | ```js mind_tasks({ action: "create", title: "Follow up with Acme", parent_type: "contact", parent_id: "", assignee_type: "agent", assignee_id: "fundraising-agent", dispatch_agent: true, due_date: "2026-06-01" }) mind_tasks({ action: "reports" }) ``` ### `mind_sense` — MINDsense Emotional Intelligence | Action | Description | |--------|-------------| | `state` | Current emotional state (valence, arousal, trend, sensitivity) | | `signals` | Recent emotional signals with strength and source | | `timeline` | Historical emotional data | | `kg_weights` | Entities weighted by emotional significance | | `spikes` | Detected emotional spikes | | `acknowledge` | Mark a spike as acknowledged | | `summary` | AI-generated emotional summary | ### `mind_research` — Autonomous Research | Action | Description | |--------|-------------| | `start` | Launch a deep research job on any topic | | `status` | Check job progress | | `list` | View all research jobs | ### `mind_train` — Self-Training | Action | Description | |--------|-------------| | `start` | Begin guided training (basics, network, expertise, history, goals, freeform) | | `chat` | Send training message | | `status`, `list_sessions`, `pause`, `resume` | Session management | | `save_chat` | Save any chat conversation into the knowledge graph | ### `mind_social` — Social Layer | Action | Description | |--------|-------------| | `create_thought`, `get_thought`, `delete_thought`, `like_thought` | Public feed post management — ⚠️ `create_thought` writes to the user's PUBLIC feed, only call on explicit user request (see tool description) | | `feed`, `user_feed`, `search_feed` | Social feed browsing | | `create_community`, `list_communities`, `get_community` | Community management | | `join_community`, `leave_community` | Membership | | `create_post`, `list_posts` | Community posts | ### `mind_profile` — Profile & Preferences | Action | Description | |--------|-------------| | `get`, `update` | Profile management | | `get_chat_prompt`, `set_chat_prompt` | Custom chat system prompt | | `get_thought_prompt`, `set_thought_prompt` | Custom feed-post generation prompt (used when the user asks MIND to draft a post) | | `get_model`, `set_model`, `list_models` | LLM model selection (50+ models) | ### `mind_insights` — Autonomous Learning Engine | Action | Description | |--------|-------------| | `list` | Recent pattern-detected insights | | `unread_count` | Count of unseen insights | | `view`, `feedback` | Mark seen, rate helpfulness | | `analyze` | Trigger on-demand analysis | | `weekly_summary` | Weekly intelligence summary | | `context` | ALE context data | ### `mind_automate` — Automations | Action | Description | |--------|-------------| | `list`, `create`, `update`, `delete` | Automation CRUD | | `run_now` | Trigger immediately | | `history` | Execution log | ### `mind_notify` — Notifications | Action | Description | |--------|-------------| | `list` | View all notifications | | `mark_read`, `mark_all_read` | Read management | | `stats` | Notification overview | ### `mind_admin` — Administration & Featured Minds Portal Requires an admin-scoped MIND API key. Powers everything at `https://m-i-n-d.ai/#/admin/featuredmindsportal` — the same surface any MCP client (Claude Code, Cursor, Windsurf, n8n via MCP, custom agents) can drive end-to-end. #### User provisioning + tier/credits | Action | Description | |--------|-------------| | `create_user` | Provision new MIND account; optionally generate an API key | | `list_users` | List users with analytics, filterable by activity window and `source` tenant | | `update_user_tier` | Change subscription tier (free / pro / enterprise) | | `adjust_user_credits` | Add (+) or deduct (–) credits | #### Featured Minds Portal — full CRUD The catalog (`featured_minds` collection) and the linked owner profile (`user_profiles`) edited together so changes hit `https://m-i-n-d.ai/m/{username}` immediately. | Action | Description | |--------|-------------| | `create_featured_mind` | Promote a user's MIND into the featured catalog | | `list_featured_minds` | List every featured mind with `mind_id`, `display_order`, `featured`, `is_public` | | `get_featured_mind_full` | Bundled view in one round-trip: featured_mind doc + linked user_profile + available_models catalog (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** for the linked user: `preferred_llm_model`, `public_mind_prompt` (≤3000 chars), `chat_temperature` (0.0–2.0), `chat_reasoning_effort` (minimal/low/medium/high, thinking models only), `public_mind_enabled`, `public_mind_tagline`/`greeting`/`persona`, `bio`, `avatar_url`, `banner_url`. Pass `null` on `preferred_llm_model` to clear and fall back to platform default. | | `reorder_featured_minds` | Bulk display_order via `ordered_mind_ids: string[]` — index in list becomes the order. Idempotent. | | `delete_featured_mind` | Remove from catalog. The user's underlying MIND is preserved. | ##### Recipe — change a featured MIND's model + prompt from MCP ``` mind_admin({ action: "list_featured_minds" }) // → grab the mind_id you want mind_admin({ action: "get_featured_mind_full", mind_id: "" }) // → see current owner_profile + the full available_models catalog mind_admin({ action: "update_featured_mind_owner_profile", mind_id: "", preferred_llm_model: "anthropic/claude-sonnet-4.6", chat_temperature: 0.7, public_mind_prompt: "You are Anthony's public MIND. Answer in his voice." }) // → next anonymous chat at /m/{username} uses the new model + prompt + temp ``` ### `mind_agents` — Agent Command Center (Admin) Canonical registry of every agent across the workspace fleet — running on a VPS, planned, archived. Solves the recurring "every Claude Code session re-discovers my agents from scratch" problem. Backed by `/admin/agents` on the MIND backend. Requires an admin API key. | Action | Description | |--------|-------------| | `list` | List/search agents with filters (`list_status`, `list_host`, `list_tag`, `list_query` free-text) and a fleet-wide stats payload | | `get` | Detail for one agent + last 20 activities inline | | `create` | Register a new agent record (slug must be unique) | | `update` | Partial update — name, description, status, cadence, host, responsibilities, etc. | | `delete` | Soft-archive (default) or `hard=true` to permanently remove | | `heartbeat` | Push a heartbeat from the agent's runtime (updates `last_heartbeat` + `current_job`) | | `probe` | Active liveness probe (HTTP `health_url` or OpenClaw gateway) — logs result as activity | | `log_activity` | Append a manual activity entry (notes, status changes, errors) | | `list_activities` | Paginated activity history for one agent | | `set_status` | Shortcut update — flip status to running/paused/planned/archived/error | | `set_current_job` | Shortcut update — record what the agent is doing right now | | `import_from_mind` | Enrich agent records from MIND `agent-identity` documents | | `seed_known` | Idempotent upsert of the canonical seed list (additive; `overwrite=true` to reset) | | `transfer_owner` | Move the agent to another MIND account's board (`owner_username` — the account must exist) | | `share` | Grant another account access — `grantee_username` + `share_role` (`owner` = full control, `viewer` = read-only) | | `list_shares` | List every account the agent is shared with | | `revoke_share` | Drop a share grant by `share_id` (from `list_shares`) | ```typescript // Before scaffolding a new agent — check what exists mind_agents({ action: "list" }) // After non-trivial work — keep the registry honest mind_agents({ action: "heartbeat", slug: "social-media-manager", current_job: "drafting LinkedIn carousel for Friday" }) // Promote a planned agent to running mind_agents({ action: "set_status", slug: "audit-agent", status: "running" }) // Hand an agent to a teammate's board, or share it read-only mind_agents({ action: "transfer_owner", slug: "audit-agent", owner_username: "jane" }) mind_agents({ action: "share", slug: "audit-agent", grantee_username: "sam", share_role: "viewer" }) ``` ```typescript // Search the fleet by free text — slug, name, description, or tags mind_agents({ action: "list", list_query: "atlas" }) ``` UI: visit `https://m-i-n-d.ai/agents` (admin-only) to browse the fleet visually. ### `mind_tickets` — Agent Ticket Queue (Admin) Every agent in the Command Center carries a ticket queue — client feedback, critique, ideas, feature requests, and bugs. A consulting client an agent is shared with files tickets; the agent's owner triages and resolves them. Every ticket auto-assigns to the **Ernie** triage agent and mirrors into MIND Life as a task. Backed by `/admin/agents/{slug}/tickets`. Requires an admin API key. `agent_slug` is required on every call. | Action | Description | |--------|-------------| | `list` | Every ticket on an agent + open/total stats; optional `status` filter | | `get` | One ticket plus its full comment thread | | `create` | File a new ticket (`title` required; `kind`, `body`, `priority` optional) | | `comment` | Answer a ticket — add a reply to its comment thread (`body` = the reply) | | `update` | Triage — change `status`, `priority`, `kind`, or reassign (`assignee`) | | `resolve` | Shortcut — mark the ticket `resolved` | | `delete` | Remove the ticket, its comments, and its mirrored Life task | `kind`: `feedback` · `critique` · `idea` · `feature` · `bug` `status`: `open` → `triaged` → `in_progress` → `resolved` → `closed` `priority`: `low` · `medium` · `high` · `urgent` ```typescript // File a bug against an agent mind_tickets({ action: "create", agent_slug: "social-media-manager", kind: "bug", priority: "high", title: "Carousel export drops the last slide", body: "Repro: 7-slide deck exports as 6." }) // Answer it, then resolve it mind_tickets({ action: "comment", agent_slug: "social-media-manager", ticket_id: "", body: "Fixed in the export batch size — verified." }) mind_tickets({ action: "resolve", agent_slug: "social-media-manager", ticket_id: "" }) ``` ### `mind_accounts` — Multi-MIND Accounts A "MIND" is a knowledge-graph account. One person can own — or be granted access to — many MINDs (work, research, a client's, a shared team MIND) and switch between them. This tool lets an agent discover and manage them. Backed by `/developer/v1/accounts` on the MIND backend. | Action | Description | |--------|-------------| | `list` | Every MIND your API key's owner can access, with role (owner/viewer) and which is active | | `create` | Spin up a brand-new MIND you own (pass `label`) | | `delete` | Permanently delete a MIND you own — account, grants, and invitations (pass `mind_username`) | | `members` | Owners, viewers, and pending invitations of a MIND you own (pass `mind_username`) | | `grant` | Give an existing MINDapp user owner/viewer access (`mind_username`, `grantee_username`, `role`) | | `invite` | Email an invitation to co-own or view a MIND (`mind_username`, `email`, `role`) | ```typescript // Discover every MIND you can reach mind_accounts({ action: "list" }) // Create a dedicated MIND for a new workstream mind_accounts({ action: "create", label: "Acme Corp Research" }) // Grant a teammate read-only access mind_accounts({ action: "grant", mind_username: "acme_research_a1b2c3", grantee_username: "teammate", role: "viewer" }) ``` Note: owner = full access, viewer = read-only. Requires `MULTI_MIND_ACCOUNTS_ENABLED` on the MIND backend; `list` returns `enabled: false` when the feature is off. ## Partner Integration Partner apps can programmatically create MIND accounts using partner keys: ```bash curl -X POST https://m-i-n-d.ai/admin/users/create \ -H "X-API-Key: mind_partner_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "username": "newuser", "email": "user@app.com", "password": "securepassword", "generate_api_key": true }' ``` Returns a JWT + permanent API key. Your app stores the API key and uses it for all subsequent MCP/API calls on behalf of that user. ## Environment Variables | Variable | Required | Default | Description | |----------|----------|---------|-------------| | `MIND_API_KEY` | Yes | — | Your MIND Developer API key | | `MIND_BASE_URL` | No | `https://www.m-i-n-d.ai` | MIND API base URL | ## Programmatic Usage ```typescript import { createMindMcpServer, MindClient } from "@astramindapp/mcp-server"; const client = new MindClient({ baseUrl: "https://www.m-i-n-d.ai", apiKey: "mind_xxx", }); const server = createMindMcpServer(client); // Connect to any MCP transport ``` ## Patents MIND's core technology — including emotion-weighted knowledge graph encoding and cross-agent persistent memory via the Model Context Protocol — is the subject of pending patent applications. Patents pending. ## Troubleshooting - **"Connect" opened the MIND website instead of connecting** — this was a bug in the non-www endpoint, fixed July 2026. Use `https://www.m-i-n-d.ai/mcp` (with the `www`) and retry. - **No "Connectors" option in my tool** — use the Claude Code one-liner above if you're on Claude Code, or the local npm install (`npm install -g @astramindapp/mcp-server`) for any other MCP-compatible tool. - **`npx` says "could not determine executable to run" / hangs** — `npx -y ` only runs the bin named after the package's last path segment (`mcp-server`), so `npx -y @astramindapp/mcp-server` alone fails, and adding `@latest` plus a trailing `mind-mcp-setup` just passes it as an *argument* instead of selecting that bin — use `npx -y --package=@astramindapp/mcp-server mind-mcp-setup` (or `mind-mcp`), which works on every version, or install globally first (`npm install -g @astramindapp/mcp-server`). - **I have multiple MIND accounts** — add the connector once per account under a different name (e.g. `mind-personal`, `mind-work`); each Connect click lets you pick the account on the consent screen. ## Links - **Website**: [www.m-i-n-d.ai](https://www.m-i-n-d.ai) - **GitHub**: [theastraway/mind-mcp-server](https://github.com/theastraway/mind-mcp-server) - **npm**: [@astramindapp/mcp-server](https://www.npmjs.com/package/@astramindapp/mcp-server) - **MCP Docs**: [m-i-n-d.ai/mcp.html](https://www.m-i-n-d.ai/mcp.html) ## License MIT — Astra AI, Inc.