Model Context Protocol

MIND MCP Server

Give any AI agent persistent memory backed by a personal knowledge graph. Works with Claude, Cursor, Windsurf, VS Code, and any MCP-compatible tool.

npm install -g @astramindapp/mcp-server

What is the MIND MCP Server?

The MIND MCP Server is an open-source Model Context Protocol server that connects any MCP-compatible AI agent to your personal MIND knowledge graph.

Once installed, your AI agent can query your knowledge graph, store memories, manage tasks and goals, track contacts, and check graph health — with full persistence across sessions, devices, and tools. What you teach Claude Code is available in Cursor. What you decide in one session is remembered in the next.

Your AI Agent  ←→  MCP Protocol  ←→  MIND MCP Server  ←→  MIND Knowledge Graph
   (Claude,              (stdio)          (Node.js)        (entities + relationships)
    Cursor,
    Windsurf...)

Quick Start

1

Get a MIND API Key

Sign up at m-i-n-d.ai (free tier available — no credit card required), then navigate to Settings → Developer → Create API Key. Your key will start with mind_.

2

Install the MCP Server

Requires Node.js 18 or higher.

npm install -g @astramindapp/mcp-server

Verify installation:

mind-mcp --version
3

Configure Your AI Tool

Add MIND to your tool's MCP configuration. See the platform-specific configs below.


Platform Configuration

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "mind": {
      "command": "mind-mcp",
      "env": {
        "MIND_API_KEY": "mind_your_key_here"
      }
    }
  }
}

Claude Code (CLI)

claude mcp add mind -- env MIND_API_KEY=mind_your_key_here mind-mcp

Cursor

Create or edit .cursor/mcp.json in your project root, or ~/.cursor/mcp.json globally:

{
  "mcpServers": {
    "mind": {
      "command": "mind-mcp",
      "env": {
        "MIND_API_KEY": "mind_your_key_here"
      }
    }
  }
}

Windsurf

Edit ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "mind": {
      "command": "mind-mcp",
      "env": {
        "MIND_API_KEY": "mind_your_key_here"
      }
    }
  }
}

VS Code (GitHub Copilot)

Add to your .vscode/mcp.json:

{
  "servers": {
    "mind": {
      "type": "stdio",
      "command": "mind-mcp",
      "env": {
        "MIND_API_KEY": "mind_your_key_here"
      }
    }
  }
}

OpenClaw

{
  mcp: {
    servers: {
      mind: {
        command: "mind-mcp",
        env: { MIND_API_KEY: "mind_your_key_here" }
      }
    }
  }
}

Any MCP-Compatible Tool (Generic)

{
  "command": "mind-mcp",
  "env": {
    "MIND_API_KEY": "mind_your_key_here",
    "MIND_BASE_URL": "https://m-i-n-d.ai"  // optional, defaults to production
  }
}

MCP Tools Reference

Once connected, your AI agent has access to these 16 tools:

mind_query
Search your MIND knowledge graph. Returns an AI-synthesized answer grounded in your stored documents, entries, and thoughts. Use this before making decisions — MIND is your memory.
query requiredWhat to search for in your knowledge graph
modeSearch mode: hybrid (default — combines semantic + graph traversal), mix (balanced), graph (entity relationships), vector (semantic similarity)
// Example usage
mind_query({
  query: "What is my go-to-market strategy for Q3?",
  mode: "hybrid"
})
mind_remember
Store something in your MIND knowledge graph. Use for facts, decisions, learnings, research, notes — anything worth remembering. Auto-categorized and indexed for future retrieval.
content requiredThe actual content to store
typedocument (long-form structured content), entry (medium — observations, findings), thought (quick ideas). Defaults to entry.
titleTitle for documents and entries. Auto-generated for thoughts.
tagsArray of tags for categorization, e.g. ["strategy", "competitor", "learning"]
sourceSource identifier, e.g. "claude-code", "cursor". Defaults to "mcp-agent".
mind_remember({
  content: "Decided to prioritize SEO over paid ads in Q3. Reason: CAC too high at $180.",
  type: "entry",
  title: "Q3 Marketing Decision",
  tags: ["marketing", "decision", "q3"],
  source: "claude-code"
})
mind_context
Load your persistent context from MIND — identity, preferences, rules, and recent activity. Call this at the start of every session to know who you are, who the user is, and what matters right now.
sectionsWhich context sections to load: soul (identity/mission), user (user profile/preferences), rules (operating constraints), priorities (current goals), recent (latest activity). Defaults to all sections.
// Load full context at session start
mind_context({ sections: ["soul", "user", "rules", "priorities", "recent"] })

// Load just priorities and recent activity
mind_context({ sections: ["priorities", "recent"] })
mind_life
Manage goals, projects, tasks, and calendar events in MIND Life. Use for tracking work, creating action items, updating progress, completing tasks, bulk-deleting items, and viewing productivity stats.
action requiredlist, create, update, complete, delete, bulk_delete, move, get, calendar_list, calendar_create, calendar_update, calendar_delete, or stats
titleTitle for new items (required for create)
descriptionDescription for new items
statusFilter for list, or new status for update: action, someday, waiting, completed
prioritylow, medium, high, or urgent
due_dateDue date in YYYY-MM-DD format
item_idRequired for update, complete, delete, move, and get actions
item_idsArray of item IDs for bulk_delete — deletes up to 200 items in one call; missing IDs are skipped, not errored
// Create a task
mind_life({ action: "create", title: "Ship MCP docs page", priority: "high", due_date: "2026-03-22" })

// List active items
mind_life({ action: "list", status: "action" })

// Bulk-delete several items in one call
mind_life({ action: "bulk_delete", item_ids: ["id-1", "id-2", "id-3"] })
mind_crm
Manage contacts and relationships in MIND CRM. Use for tracking people, companies, leads, and interaction history.
action requiredlist, create, or update
nameContact name (required for create)
emailContact email address
companyCompany or organization
typelead, prospect, partner, customer, or personal
stagePipeline stage: new, qualified, proposal, closed, or lost
notesNotes about this contact
contact_idRequired for update actions
mind_crm({ action: "create", name: "Jane Smith", email: "jane@acme.com", company: "Acme Corp", type: "lead" })
mind_graph
Get MIND knowledge graph statistics — how many entities, relationships, documents, and entries exist. Use to check graph health and growth.
actionstats (default), diagnostics (health check), labels (entity label breakdown)
mind_graph({ action: "stats" }) // → entities, relationships, credits, tier
mind_profile
Manage your MIND profile, AI prompt settings, and model preferences. Update your bio, set custom system prompts for chat and thought generation, and choose your preferred LLM model across 50+ available models.
action requiredget, update, get_chat_prompt, set_chat_prompt, get_thought_prompt, set_thought_prompt, get_model, set_model, list_models
usernameUsername for get (defaults to current user)
bioBio for update
display_nameDisplay name for update
promptSystem prompt content for set_chat_prompt or set_thought_prompt
model_idModel identifier for set_model
mind_profile({ action: "set_chat_prompt", prompt: "You are my strategy partner. Be direct, concise, action-oriented." })
mind_sense
Access MINDsense — the emotional intelligence layer. Read the user's current emotional state, signal history, emotional timeline, KG entity weights, recent spikes, and AI-generated summaries. Use this to understand how the user is feeling and what emotionally significant events have occurred.
action requiredstate (current emotion), signals (recent signals), timeline (historical), kg_weights (emotionally weighted entities), spikes (high-intensity events), acknowledge (ack a spike), summary (AI summary)
signal_idSignal ID for acknowledge
daysLookback window in days (default 7)
limitMax items to return (default 20)
mind_sense({ action: "state" }) // → label, valence, arousal, trend, dominant_emotion
mind_sense({ action: "spikes", days: 14 })
mind_insights
Access insights from MIND's Autonomous Learning Engine — patterns, weekly summaries, and proactive intelligence surfaced from your knowledge graph. Trigger on-demand analysis and provide feedback to tune future insights.
action requiredlist, unread_count, view, feedback, analyze, weekly_summary, context
insight_idInsight ID for view and feedback
ratinghelpful or not_helpful for feedback
limitMax insights to return (default 10)
mind_insights({ action: "weekly_summary" })
mind_insights({ action: "feedback", insight_id: "ins_abc", rating: "helpful" })
mind_research
Launch autonomous deep research jobs. MIND's research agent gathers information, analyzes it, and stores findings in your knowledge graph. Use for competitive analysis, market research, and technical deep-dives.
action requiredstart (launch research), status (check progress), list (view jobs)
topicResearch topic or question (required for start)
job_idJob ID for status
limitMax jobs to return for list (default 10)
mind_research({ action: "start", topic: "Latest advances in knowledge graph retrieval, 2026" })
mind_train
Train MIND's knowledge graph about you. Start guided training sessions (basics, network, expertise, history, goals, freeform) or save full chat conversations into the KG for persistent memory.
action requiredstart, chat, status, list_sessions, pause, resume, save_chat
session_typebasics, network, expertise, history, goals, or freeform
messageTraining message for chat action
session_idSession ID for save_chat, pause, resume
mind_train({ action: "start", session_type: "expertise" })
mind_train({ action: "chat", message: "I specialize in AI memory systems and knowledge graphs." })
mind_automate
Create and manage automations inside MIND — scheduled workflows, event triggers, and rules that run automatically. Connect CRM events to actions, schedule recurring tasks, and build custom pipelines.
action requiredlist, create, update, delete, run_now, history
automation_idRequired for update, delete, run_now, history
nameAutomation name for create / update
trigger_typeschedule, webhook, or event
trigger_configJSON string: cron expression, event name, etc.
action_typeAction to run when triggered
action_configJSON string for the action configuration
enabledWhether the automation is active
mind_automate({
  action: "create",
  name: "Daily morning brief",
  trigger_type: "schedule",
  trigger_config: '{"cron":"0 8 * * *"}',
  action_type: "generate_brief"
})
mind_notify
Read and manage MIND notifications — alerts, reminders, insight notifications, and system messages.
action requiredlist, mark_read, mark_all_read, stats
notification_idRequired for mark_read
limitMax notifications to return (default 20)
mind_notify({ action: "stats" })
mind_notify({ action: "list", limit: 10 })
mind_social
Interact with MIND's social layer — post thoughts, browse the feed, engage with other users' content, and manage communities.
action requiredThoughts: create_thought, get_thought, delete_thought, like_thought. Feed: feed, user_feed, search_feed. Communities: create_community, list_communities, get_community, join_community, leave_community. Posts: create_post, list_posts
contentContent for thoughts, posts, or search queries
thought_idFor get_thought / delete_thought / like_thought
community_idFor community actions and posts
post_idFor post actions
usernameFor user_feed
nameCommunity name for create_community
descriptionCommunity description
page / limitPagination
mind_social({ action: "create_thought", content: "AI memory is the next frontier." })
mind_social({ action: "feed", limit: 10 })
mind_admin
Admin-only. Provision users, create and manage Featured Minds, list users, update tiers, and adjust credits. Requires an admin API key — regular mind_ keys cannot call this tool.
action requiredcreate_user, create_featured_mind, list_featured_minds, update_featured_mind, list_users, update_user_tier, adjust_user_credits
username / email / passwordFor create_user
sourceSource app/partner that created the user
generate_api_keyIf true, also generates a developer API key for the new user
mind_idFor update_featured_mind
title / description / tags / price / featured / display_order / is_public / avatar_urlFeatured Mind fields
tierfree, pro, enterprise for update_user_tier
creditsPositive (add) or negative (deduct) for adjust_user_credits
mind_admin({ action: "create_user", username: "newdev", email: "dev@acme.com", password: "...", source: "acme", generate_api_key: true })
mind_agents
Admin-only. Agent Command Center — canonical registry of every agent in the workspace fleet (running on a VPS, planned, archived). Push heartbeats from agent runtimes, run liveness probes, log activity, import metadata from MIND identity docs, seed the known fleet. Solves the recurring "every session re-discovers my agents from scratch" problem. Requires an admin API key. Backed by /admin/agents on the MIND backend; UI surface at m-i-n-d.ai/agents.
action requiredlist, get, create, update, delete, heartbeat, probe, log_activity, list_activities, set_status, set_current_job, import_from_mind, seed_known
slugAgent slug (lowercase, dashes). Required for get/update/delete/heartbeat/probe/activities/set_*.
name / description / status / cadence / host / tags / responsibilities / triggers / health_urlFields for create/update. Status: running, paused, planned, archived, error. Cadence: continuous, scheduled, on-demand.
current_job / metrics / note / sourceHeartbeat payload — what the agent is doing right now, optional metrics blob, free-form note, source attribution.
expected_interval_secondsHeartbeat cadence in seconds. Live status thresholds: online <2× interval, stale 2-4×, offline >4×.
hard / overwriteBooleans for delete (hard remove vs soft archive) and seed_known (reset existing records to seed defaults).
// 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" })
mind_tickets
Admin-only. Agent ticket queue — every agent in the Command Center carries a queue of client feedback, critique, ideas, feature requests, and bugs. File tickets, view a ticket with its full comment thread, answer a ticket by commenting, triage it (status / priority / kind / assignee), and mark it resolved. Every ticket auto-assigns to the Ernie triage agent and mirrors into MIND Life as a task. Requires an admin API key. Backed by /admin/agents/{slug}/tickets on the MIND backend.
action requiredlist, get, create, comment, update, resolve, delete
agent_slug requiredSlug of the agent the ticket belongs to. Required for every action.
ticket_idRequired for get/comment/update/resolve/delete.
title / body / kind / priorityFields for create. kind: feedback, critique, idea, feature, bug. priority: low, medium, high, urgent. For comment, body is the reply text.
status / assigneeTriage fields for update. status: opentriagedin_progressresolvedclosed (also a filter for list). assignee reassigns away from Ernie.
// 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" })

// Answer it, then resolve it
mind_tickets({ action: "comment", agent_slug: "social-media-manager", ticket_id: "...", body: "Fixed — verified." })
mind_tickets({ action: "resolve", agent_slug: "social-media-manager", ticket_id: "..." })

Recommended Agent Session Pattern

For best results, instruct your agent to follow this pattern at the start and end of every session.
// SESSION START — always do this first
1. mind_context()          → Load identity, rules, priorities
2. mind_query(task_query)  → Get relevant memories for the current task

// DURING SESSION — as needed
3. mind_query(...)         → Before making decisions
4. mind_life(...)          → Create/update tasks

// SESSION END — always do this last
5. mind_remember(outcomes) → Store what was decided, learned, or completed

Environment Variables

VariableRequiredDefaultDescription
MIND_API_KEYYesYour MIND Developer API key. Get one at m-i-n-d.ai → Settings → Developer. Starts with mind_.
MIND_BASE_URLNohttps://m-i-n-d.aiMIND API base URL. Override for self-hosted deployments.

Why MIND vs Flat File Memory (MEMORY.md)

CapabilityMEMORY.md / flat filesMIND MCP
Size limit~20K chars, then truncatedUnlimited knowledge graph
RetrievalLoads everything every turnOnly retrieves relevant memories
StructureUnstructured textEntities + relationships + embeddings
SearchKeyword on small fileHybrid semantic + graph traversal
Cross-toolLocked to one toolShared across all MCP-compatible agents
DocumentsManualUpload PDFs, Word, URLs, text
TasksManual text editingStructured task management via mind_life
ContactsNot supportedFull CRM via mind_crm

Programmatic / SDK Usage

You can also import the server directly in your own Node.js application:

import { createMindMcpServer, MindClient } from "@astramindapp/mcp-server";

const client = new MindClient({
  baseUrl: "https://m-i-n-d.ai",
  apiKey: process.env.MIND_API_KEY,
});

const server = createMindMcpServer(client);
// Connect to any MCP transport (stdio, SSE, etc.)

Links & Resources

Get Started

Documentation


MIND Skill for Claude Code

A one-line install that teaches Claude Code exactly when and how to use the MIND MCP tools — session-start protocol, decision protocol, storage protocol, anti-patterns. After installing, Claude Code automatically loads context at session start, queries MIND before decisions, and logs outcomes at session end.

curl -fsSL https://m-i-n-d.ai/developer/mind-skill/install.sh | bash

Installs to ~/.claude/skills/mind/SKILL.md. Requires the MCP server and a MIND API key (see above).