loading…
Search for a command to run...
loading…
Agent-agnostic persistent memory backend. 13 MCP tools, Supabase + Jina embeddings, multi-profile isolation, semantic recall across sessions.
Agent-agnostic persistent memory backend. 13 MCP tools, Supabase + Jina embeddings, multi-profile isolation, semantic recall across sessions.
marsnme.com — Claude.md is for context. MarsNMe is for continuity.
Your AI tools should know you — not start from scratch every time. When Perplexity helps you decide, Claude should remember why. When Cursor ships a feature, Warp should know the context. That's not context sharing. That's continuity.
Most AI memory tools help AI remember you. MarsNMe helps you and your AI remember each other — across sessions, across tools, over time.
An agent-agnostic, LLM-agnostic memory backend for MCP-compatible tools.
curl -fsSL https://marsnme.com/install.sh | bash
MarsNMe on Glama npm version MCP Registry LobeHub npm downloads License GitHub stars
I use Cursor to code, Warp to deploy, Perplexity to research, and Claude Code to manage my vault. Before MarsNMe, every tool started blank — I had to re-explain my project, my preferences, my decisions every single session. Now my AI across all four tools knows what we decided yesterday, what we tried last week, and why we chose this architecture over that one. It's not about injecting context. It's about having a relationship that compounds over time.
— Leo, MarsNMe creator (3 months of daily use across 4 AI tools)
| Tool | Description |
|---|---|
insert_memory |
Store short-term memory |
list_memories |
List recent memories |
search_memories |
Semantic search via Jina embeddings |
recall |
Long-term chunk recall from profile schema |
memory_ingest |
Ingest long-term insight chunks |
dream_ingest |
Dream-mode long-term ingestion |
session_boot |
Start a session with context pre-load |
session_close |
Close session and summarize |
health_check |
Coverage, expiry, conflict diagnostics |
reload_source_registry |
Refresh source whitelist at runtime |
demote_memory |
Demote a memory to lower priority |
soft_forget |
Soft-delete a memory |
explain_memory |
Explain a memory's provenance |
Most AI memory tools help AI remember you. MarsNMe helps you and your AI remember each other.
| MarsNMe | Typical memory tool | |
|---|---|---|
| Philosophy | Mutual continuity — human + AI both grow | AI-side context injection only |
| Agent support | Any MCP-compatible client | Often client-specific |
| Memory tiers | Short-term (TTL) + long-term (semantic) | Usually one layer |
| Profiles | Unlimited isolated profiles via MCP_PROFILE |
Single-user only |
| Data ownership | Your own Supabase — zero vendor lock-in | Vendor-hosted |
| Search | Jina v3 semantic search (1024-dim pgvector) | Keyword or basic similarity |
| Self-hostable | ✅ Full control | Rarely |
SUPABASE_BASE_URLservice_role key → SUPABASE_SERVICE_ROLE_KEYSUPABASE_SERVICE_ROLE_KEY private. Never commit it.JINA_API_KEYFor the fastest path, use the one-line installer: curl -fsSL https://marsnme.com/install.sh | bash
The manual path below follows the same tools-first flow as docs/onboarding-a-mcp-zero-to-recall.md and docs/onboarding-b-platform-skill-install.md.
git clone https://github.com/Marsmanleo/MarsNMe.git
cd MarsNMe
node --version
cp .env.example .env
.env:SUPABASE_BASE_URLSUPABASE_SERVICE_ROLE_KEYJINA_API_KEYnpx supabase db push --db-url "<your-supabase-db-connection-string>"
--db-url must be the Postgres database connection string from Project Settings → Database → Connection string.SUPABASE_BASE_URL (https://<project-ref>.supabase.co, REST API URL).supabase_admin (not postgres).vector extension is enabled first (Database → Extensions).supabase/migrations/:20260504052744_semantic_vector_dual_profile.sql20260513213800_memory_lifecycle_tracking.sql20260513222500_health_check_detect_conflicts_v2.sql20260517183000_provenance_audit_trail.sql20260517194000_memory_scope_agent_body_environment.sql20260517200500_forget_demote_mechanism.sql20260517223500_usage_cost_telemetry_light.sql20260517231000_memories_source_constraint_regex.sql20260517232000_source_registry_table.sqlMCP_PROFILE separates memory by agent or use case.default, my-agent, profile-a).coco and toto are still supported for compatibility.PORT is omitted, default port is profile-based (coco=18790, toto=18791, other profiles deterministic in 20000-29999).MCP_PROFILE=profile-a PORT=18790 npx @marsnme/mcp-gateway
curl -sS http://127.0.0.1:18790/health
If you only want a local demo path, use Docker Compose.
One-line install (recommended):
curl -fsSL https://marsnme.com/install.sh | bash
Or manually:
cp .env.example .env
# fill JINA_API_KEY in .env
docker compose up
This starts:
supabase/migrations/http://127.0.0.1:18790/mcp)curl -sS http://127.0.0.1:18790/health
When you need a temporary public endpoint for remote AI tools:
docker compose --profile tunnel up
Expected output (from tunnel logs):
https://xxxx.trycloudflare.com
Get MCP endpoint:
docker compose --profile tunnel logs tunnel | grep -Eo 'https://[^ ]+trycloudflare.com' | head -n1
# append /mcp
Notes:
trycloudflare.com URL is temporary (demo only).http://127.0.0.1:18790/mcp.MCP_TUNNEL_PROFILE (default coco)MCP_TUNNEL_REQUIRE_BEARER (default false for demo convenience)Local endpoint:
http://127.0.0.1:18790/mcpIf bearer auth is enabled (MCP_REQUIRE_BEARER=true), include:
Authorization: Bearer <your-token>claude_desktop_config.json (macOS default path: ~/Library/Application Support/Claude/claude_desktop_config.json).{
"mcpServers": {
"marsnme-local": {
"url": "http://127.0.0.1:18790/mcp"
}
}
}
marsnme-localhttp://127.0.0.1:18790/mcpSettings > Agents > MCP servers.http://127.0.0.1:18790/mcphttp://127.0.0.1:18790/mcpUse a streamable HTTP/SSE MCP entry:
{
"marsnme-local": {
"url": "http://127.0.0.1:18790/mcp"
}
}
After client connection, verify this sequence once:
tools/list:curl -sS http://127.0.0.1:18790/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
insert_memory:curl -sS http://127.0.0.1:18790/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"insert_memory","arguments":{"body":"quickstart memory check","source":"warp","session_id":"quickstart-smoke"}}}'
recall:curl -sS http://127.0.0.1:18790/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"recall","arguments":{"query":"quickstart memory check","limit":3}}}'
mars-memory-mcp is the core MCP gateway repository behind the public-facing MarsNMe release.
One codebase (soul-memory/server.mjs) serves multiple profile schemas through MCP_PROFILE.
This public repository currently keeps two built-in legacy profile IDs (coco, toto) for backward compatibility.
initialize, notifications/initialized, tools/list, tools/call, pingcoco, toto)insert_memory (short-term memory)list_memoriessearch_memories (Jina embedding search)recall (long-term chunk recall from profile schema)memory_ingest / dream_ingest (long-term chunk ingestion)session_boot / session_close (daily rhythm lifecycle)health_check (coverage, expiry, conflict diagnostics)reload_source_registry (refresh source whitelist at runtime)demote_memory / soft_forget / explain_memory (memory lifecycle management)<profile>.memories<profile>.marsvault_chunksinsert_memorysoul-memory/server.mjs — gateway entry pointsoul-memory/scripts/hermes_digest_runner.py — optional digest runnersoul-memory/scripts/dream_runner.py — public self-host dream runnersoul-memory/deploy/systemd/ — systemd templatessoul-memory/deploy/phase2/ — build/deploy scriptssoul-memory/deploy/phase3/smoke_gate.sh — smoke gate scriptsupabase/migrations/ — schema-as-code migrations.env.example to your local .env (do not commit real secrets).MCP_PROFILE (your profile identifier; this repo ships with legacy coco/toto)SUPABASE_BASE_URLSUPABASE_SERVICE_ROLE_KEYJINA_API_KEYMCP_REQUIRE_BEARER=trueMCP_CLIENT_IDMCP_CLIENT_SECRETHermes is optional and disabled by default:
HERMES_ENABLED=falseHERMES_DIGEST_MCP_URLHERMES_DIGEST_MCP_BEARER_TOKENHERMES_DIGEST_ORIGINHERMES_DIGEST_SOURCE_DIRDream Runner is public-friendly and can run without Hermes private environment:
DREAM_ENABLED=trueDREAM_MODE=lite|standard|proDREAM_DIGEST_MCP_URLDREAM_MCP_BEARER_TOKEN (if required)DREAM_ENABLE_ISSUE_SIGNALS, DREAM_ENABLE_REPO_SCAN, DREAM_ENABLE_SOUL_CONTEXT (optional overrides)Quick start:
DREAM_ENABLED=true DREAM_MODE=lite python3 soul-memory/scripts/dream_runner.py
If you run this repository with bundled defaults and no profile remapping, use coco and toto.
See docs/dream-runner-self-host.md for full configuration.
docs/onboarding-a-mcp-zero-to-recall.mddocs/onboarding-b-platform-skill-install.mdskills/README.mdskills/perplexity/memory-daily-boot/SKILL.mdskills/cursor/memory-daily-boot/rule.mdcskills/warp/memory-daily-boot/prompt.mdMCP_PROFILE=profile-a npx @marsnme/mcp-gateway
MCP_PROFILE=profile-b npx @marsnme/mcp-gateway
Health endpoints:
GET /healthPOST /mcpUse soul-memory/deploy/systemd/[email protected] with instances:
Recommended env files:
/opt/mars-memory-mcp/shared/.env/opt/mars-memory-mcp/shared/.env.profile-a/opt/mars-memory-mcp/shared/.env.profile-bbash soul-memory/deploy/phase2/build_release_artifact.sh
npx supabase db push --db-url "<postgres://supabase_admin:<password>@<host>:5432/postgres>"
bash soul-memory/deploy/phase2/pre_deploy_schema_gate.sh \
--db-url "<postgres://supabase_admin:<password>@<host>:5432/postgres>" \
--profiles coco,toto \
--expected-role supabase_admin
bash soul-memory/deploy/phase3/smoke_gate.sh --spawn-local
.github/workflows/publish-release.ymlv*soul-memory/package.json versionmrel patch
mrel minor
mrel major
mrel 0.1.2
The helper updates soul-memory/package.json and server.json, commits, tags, and pushes.
.env, runtime tokens, or oauth-clients.json.env.example committed as the only environment templateLICENSE)NOTICETRADEMARK.mdCONTRIBUTING.mdCLA.mdCHANGELOG.mdВыполни в терминале:
claude mcp add marsnme -- npx Безопасность
Низкий рискАвтоматическая эвристика по публичным данным — не гарантия безопасности.