evermemos-mcp

March 16, 2026 · View on GitHub

PyPI Python CI License: MIT

English | 简体中文

Long-term memory for AI coding assistants. Remember once, recall forever.

evermemos-mcp overview

You spent thirty minutes explaining your architecture, naming conventions, and why you dropped MongoDB. Next session — gone. You explain it all over again.

evermemos-mcp fixes this. One remember call stores it. One briefing call brings it back — across any session, any client.

Benchmark: 60/60 recall vs 0/60 baseline. Zero attribution errors. P95 < 2s. (evidence)

Intro video: Watch on Bilibili

Demo video: Watch on Bilibili


Quick Start

Get your API key from EverMemOS Cloud, then add to your MCP client config:

{
  "mcpServers": {
    "evermemos-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": ["evermemos-mcp@latest"],
      "env": {
        "EVERMEMOS_API_KEY": "your-key-here"
      }
    }
  }
}

Or run directly:

uvx evermemos-mcp@latest

Works with Claude Code, Cursor, Cline, Cherry Studio, OpenClaw, Gemini CLI, Aider, and any MCP-compatible client or agent. See docs/05-client-integrations.md for client-specific setup.

Install from source
git clone https://github.com/tt-a1i/evermemos-mcp.git
cd evermemos-mcp
cp .env.example .env   # set EVERMEMOS_API_KEY
uv run evermemos-mcp

MCP client config for source installs:

{
  "mcpServers": {
    "evermemos-mcp": {
      "type": "stdio",
      "command": "uv",
      "args": ["run", "--directory", "/path/to/evermemos-mcp", "evermemos-mcp"],
      "env": { "EVERMEMOS_API_KEY": "your-key-here" }
    }
  }
}

What You Get

7 Tools

ToolWhat it does
list_spacesDiscover available memory spaces
rememberStore context into long-term memory. Auto-detects sensitive content (API keys, passwords) and checks for conflicting memories
request_statusCheck if a queued write has been extracted
recallSearch memories with 6 retrieval strategies (keyword / hybrid / vector / RRF / agentic / auto)
briefingOne-call session-start context restore: profile + episodes + facts + foresights
forgetTargeted deletion with verification workflow
fetch_historyPaginate through memory timeline by type

Key Capabilities

  • Space isolationcoding:my-app, chat:preferences, study:ml-notes — memories never bleed across projects
  • Multi-space search — Query up to 10 spaces in one recall call with automatic source attribution
  • Sensitive content guard — Blocks API keys, passwords, tokens, private keys before storing. Asks user to confirm
  • Memory conflict detection — Auto-checks for similar memories in chat:* spaces. Surfaces conflicts so the agent can decide
  • Lifecycle tracking — Every result labeled queued, provisional, fallback, or searchable across all tools
  • Traceable citationsmemory_type, snippet, timestamp, score, source_message_id on every result
  • Git auto-detection — Omit space_id and it infers coding:<repo-name> from git remote
  • Robust error handling — Retry with backoff (429/5xx), GET body fallback for proxy/WAF, structured error codes

Use Cases

Persistent architecture context:

You: remember we chose PostgreSQL because our data is highly relational
     [space_id: coding:my-saas]

-- next day, new session --

You: what database did we choose and why?
     → "Chose PostgreSQL — highly relational data model"

Personal preferences that stick:

You: remember I prefer dark mode, vim keybindings, and concise responses
     [space_id: chat:preferences]

-- any future session --

You: recall my UI preferences
     → "dark mode, vim keybindings, concise responses"

Cross-session learning notes:

You: remember bias-variance tradeoff — high bias = underfitting, high variance = overfitting
     [space_id: study:ml-notes]

-- later --

You: briefing for study:ml-notes
     → profile + recent episodes + key facts + foresights

Why evermemos-mcp

There are other memory MCP servers. Here's what makes this one different:

evermemos-mcpMem0 MCPLetta/MemGPTOfficial MCP memory
Space isolationdomain:slug per project/topicNoNoNo
Lifecycle trackingqueued → provisional → fallback → searchableNoNoNo
Sensitive content guardAPI keys, passwords, tokens blockedNoNoNo
Conflict detectionAuto for chat spacesNoNoNo
Multi-space searchUp to 10 spaces in one callNoNoNo
Retrieval strategies6 methods + auto mergeSemantic onlySemantic onlyNone
Benchmark verified60/60 recall, 0 errors
Setupuvx evermemos-mcpCloud or self-hostSelf-host requirednpx

Benchmark

Tested on a fixed 60-query set across coding, chat, and study spaces.

MetricWith memoryWithout memory
Hit rate60/60 (100%)0/60 (0%)
Attribution errors0
P95 latency1958 ms

Evidence:


How It Works

MCP Client (Claude Code / Cursor / Cline / Cherry Studio / OpenClaw / any agent)

        │  MCP stdio

┌─────────────────────────────┐
│     evermemos-mcp server    │
│  ┌───────────────────────┐  │
│  │   7 Tool Handlers     │  │
│  └──────────┬────────────┘  │
│  ┌──────────▼────────────┐  │
│  │   Memory Service      │  │  Content guard → Conflict check → Cloud write → Lifecycle tracking
│  └──────────┬────────────┘  │
│  ┌──────────▼────────────┐  │
│  │ Space Catalog Service │  │  Space registry, metadata sync, cross-session recovery
│  └──────────┬────────────┘  │
│  ┌──────────▼────────────┐  │
│  │  EverMemOS HTTP Client│  │  Auth, retries, rate-limit backoff, error normalization
│  └──────────┬────────────┘  │
└─────────────┼───────────────┘
              │  HTTPS

       EverMemOS Cloud API
  • Cloud-first — All memories live in EverMemOS Cloud. No local state to lose.
  • Async extractionremember queues content for AI extraction. Use request_status to track progress.
  • Not a thin wrapper — 2500+ lines of orchestration: fallback hierarchies, multi-method search merging, identity mirroring, partial failure recovery.

Space Templates

TemplateUse it for
chat:preferencesDurable personal preferences, names, tone, UI likes
chat:dailyOngoing chat context that shouldn't leak into projects
coding:<repo>Architecture decisions, conventions, bugs, project context
study:<topic>Learning notes, topic progress, revision context

Which Tool When

GoalToolWhy
Start a new sessionbriefingFastest way to restore context in one call
Find a specific factrecallRelevance-ranked search across spaces
Review what happenedfetch_historyChronological timeline > ranked search for audits
Verify before/after deletefetch_historyStable timeline for pre/post-delete checks

Configuration

VariableDefaultDescription
EVERMEMOS_API_KEY(required)EverMemOS Cloud API key
EVERMEMOS_USER_IDmcp-userDefault user identity
EVERMEMOS_DEFAULT_SPACE(auto)Default space. Auto-detected from git remote as coding:<repo>
EVERMEMOS_BASE_URLhttps://api.evermind.aiAPI endpoint
EVERMEMOS_DEFAULT_TIMEZONEUTCTimezone for metadata
EVERMEMOS_ENABLE_CONVERSATION_METAtrueSync conversation metadata
Advanced configuration
VariableDefaultDescription
EVERMEMOS_API_VERSIONv0API version
EVERMEMOS_LLM_CUSTOM_SETTING_JSONCustom LLM extraction settings
EVERMEMOS_USER_DETAILS_JSONUser profile details for conversations

flush Rules

Scenarioflush
Mid-conversation, more messages comingfalse
End of session / topic switch / summarytrue
Uncertaintrue (safer)

Advanced: Memory Lifecycle States
StateMeaning
queuedWrite accepted, extraction not yet confirmed
provisionalAnswer from pending_messages while extraction is in progress
fallbackAnswer from mirrored conversation-meta, not formal extracted memory
searchableAnswer from formal extracted memories

All 7 tools expose compatible lifecycle blocks so agents always know memory maturity.

Advanced: Forget Safety

Cloud deletion is async and best-effort. evermemos-mcp provides a verification-first workflow:

  1. Confirm target memory_id via fetch_history or recall
  2. Call forget(memory_ids=[...], space_id=...)
  3. Verify with fetch_history
  4. If target persists, the lifecycle model surfaces this transparently

This is deliberate: expose real state to the agent rather than pretend deletion is instant.


Development

uv sync --group dev       # Install dev dependencies
uv run ruff check         # Lint
uv run pytest             # Tests (285 pass)

Documentation

DocumentDescription
docs/02-architecture.mdTechnical architecture
docs/05-client-integrations.mdClient setup guides
docs/auto-memory-prompt.mdAuto-memory prompt templates
docs/06-benchmark.mdBenchmark protocol
CHANGELOG.mdVersion history

Also Check Out

MCO — Agent orchestration CLI. Let your main agent (Claude Code, Cursor, Aider) dispatch tasks to multiple coding agents in parallel. Pairs well with evermemos-mcp: MCO handles parallel execution, evermemos-mcp handles persistent memory.

License

MIT