- Frontend: https://usemindmirror.com
- Backend API: https://memory.usemindmirror.com
memory_server.py(default port8001): core memory + auth API.memory_mcp_direct.py(default port8000): MCP transport and tool layer, proxies frontend APIs tomemory_server.py.start_direct.sh: starts both services for container/runtime environments.
memory_server.py initializes required tables on startup:
auth_tokenswaitlist_emailsmemories(pgvectorvector(384))short_term_memories
Required PostgreSQL extension:
vector
- Fixed categories:
goal,routine,preference,constraint,habit,project,tool,identity,value - Duplicate threshold: semantic similarity
> 0.95blocks inserts - Conflict threshold: semantic similarity
>= 0.65flags possible conflicts - Default memory limit:
25for non-admin users (auth_tokens.is_admin = false)
GET /healthGET /(service metadata)
POST /api/generate-tokenPOST /api/join-waitlist
POST /memoriesPOST /memories/searchGET /memoriesGET /memories/{memory_id}DELETE /memories/{memory_id}GET /memories/prunePOST /checkpointPOST /resume
memory_mcp_direct.py exposes:
- Streamable HTTP transport at
/mcp/(redirect from/mcp) - SSE transport at
/sse/with POST messages at/sse/messages/(redirect from/sse)
Use this for assistants that connect to MindMirror MCP tools:
IMPORTANT: You have access to memory tools:
- remember(text, category)
- recall(query, limit, category_filter)
- forget(information_id)
- what_do_you_know(category, limit)
- checkpoint(text, title)
- resume()
Use recall proactively before personal recommendations and preference-based advice.
If conflicting preferences exist, explicitly show the conflict and ask which one to follow.
Only call forget after user explicitly asks to delete specific memories.
When user explicitly states preferences (e.g. "I prefer X"), store them with remember.
For non-explicit patterns or inferred behaviors, ask permission before storing.
Memory categories: goal, routine, preference, constraint, habit, project, tool, identity, value.
Use checkpoint when user wants to continue later or in another AI tool.
Use resume when user asks to continue previous work without context.
If checkpoint output indicates overwrite warning, tell the user clearly.
Full UI version of this prompt also exists in:
frontend/src/pages/Integration.tsx
Use .env.local.example as the template and .env.local (gitignored) for real machine-only credentials.
Recommended startup command:
docker compose --env-file .env.local up --buildDATABASE_URLORDB_HOST,DB_NAME,DB_USER,DB_PASSWORD
DB_PORT(default5432)DB_SSLMODE(defaultrequire)MEMORY_API_BASE(defaulthttp://localhost:8001)CORS_ALLOW_ORIGINS(comma-separated)ALLOWED_API_HOSTS(comma-separated)MCP_ALLOWED_HOSTS(comma-separated)ENFORCE_HOST_CHECK(true/false)BOOTSTRAP_DEFAULT_TOKEN(true/false)
python3 -m py_compile memory_server.py memory_mcp_direct.py- Start both services.
curlhealth endpoints.- Generate token via
/api/generate-token. - Store/search/delete a test memory.
- Exercise MCP endpoint with a client (Claude, mcp-remote, or inspector).
- Keep credentials out of source control.
- Never commit runtime logs, databases, or local package installs.
- Use
examples/.env.exampleandfrontend/.env.exampleplaceholders only.