Context7
Up-to-date docs for AI agents
제작자가 쓴 설명(영어 원문)
Local-first, source-traceable agent memory — no LLM at ingest, fully offline
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
MIDAS_MCP_DB, MIDAS_MCP_EMBEDDER, MIDAS_MCP_MAX_RECORDS, MIDAS_MCP_MIN_IMPORTANCE필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 claude_desktop_config.json에 이 내용을 붙여 넣으세요
{
"mcpServers": {
"midas": {
"command": "uvx",
"args": [
"midas-memory-mcp"
],
"env": {
"MIDAS_MCP_DB": "your-value",
"MIDAS_MCP_EMBEDDER": "your-value",
"MIDAS_MCP_MAX_RECORDS": "your-value",
"MIDAS_MCP_MIN_IMPORTANCE": "your-value"
}
}
}
}터미널에서 이 명령어를 실행하세요
claude mcp add midas --env MIDAS_MCP_DB=your-value --env MIDAS_MCP_EMBEDDER=your-value --env MIDAS_MCP_MAX_RECORDS=your-value --env MIDAS_MCP_MIN_IMPORTANCE=your-value -- uvx midas-memory-mcp실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"midas": {
"command": "uvx",
"args": [
"midas-memory-mcp"
],
"env": {
"MIDAS_MCP_DB": "your-value",
"MIDAS_MCP_EMBEDDER": "your-value",
"MIDAS_MCP_MAX_RECORDS": "your-value",
"MIDAS_MCP_MIN_IMPORTANCE": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"midas": {
"type": "stdio",
"command": "uvx",
"args": [
"midas-memory-mcp"
],
"env": {
"MIDAS_MCP_DB": "your-value",
"MIDAS_MCP_EMBEDDER": "your-value",
"MIDAS_MCP_MAX_RECORDS": "your-value",
"MIDAS_MCP_MIN_IMPORTANCE": "your-value"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
MIDAS_MCP_DB envMIDAS_MCP_EMBEDDER envMIDAS_MCP_MAX_RECORDS envMIDAS_MCP_MIN_IMPORTANCE env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 GitHub 계정 vornicx 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.0.1)은 5개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.
같은 카테고리에는: Context7, Codebase Memory, Exa
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Up-to-date docs for AI agents
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Midas
The local memory layer for long-horizon AI agents — remembers across sessions, keeps what's current, and won't act on stale memory. No LLM at ingest · $0 per message · fully local · every recall traces to its source.
Your AI assistant forgets everything between sessions. Midas is the memory that lives next to it, on your machine. Your coding agent remembers the decisions, conventions, and bugs from three sessions ago — without piping every message through an LLM to "extract" facts. It costs nothing per message, nothing leaves your computer, every memory traces back to the exact turn it came from, and it won't let an agent act on memory that's stale or never confirmed.
uv tool install "midas-memory[mcp,local]" # install
midas init # create the shared memory + wire up your MCP clients
uv tool upgrade midas-memory # Update Midas
Install in your agent · See the benchmarks · Complete overview · Roadmap
Most memory tools call an LLM to summarize every session — so you pay in tokens forever, add latency, ship every turn to a provider, and get back *rewritten* facts you can't audit. Midas makes the opposite bet, and that bet is what makes it cheap, private, and trustworthy:
Every Midas number below is measured and reproducible from this repo; the LLM-at-ingest column reflects the structural properties of that design class (Mem0, Zep, Hindsight) and the figures documented in BENCHMARKS.md.
| Midas | LLM-at-ingest systems (Mem0, Zep, Hindsight) | |
|---|---|---|
| LLM calls at ingest | 0 | ≥1 per session |
| Cost per message | $0 | per-token API spend, forever |
| Data egress at ingest | None | every turn leaves the box |
| Ingest latency | ~16–116 ms, local, embed-bound | ~668 ms + API round-trip |
| Recall returns | verbatim source turn, traceable | LLM-rewritten facts (source recall@k not computable) |
| Deterministic & reproducible | yes — every number, one command | no |
| Works fully offline | yes (measured end-to-end with a local Ollama reader) | no |
LongMemEval-s judged answer (gpt-4o) | 0.84 | 0.84 — Observational Memory, with LLM ingest |
| Whole-conversation aggregation / summarization | ❌ by design — top-k retrieval can't cover it (documented) | ✅ their structural edge |
The last row is deliberate: Midas trades whole-conversation abilities for $0, privacy, and auditability, and publishes the measurements that show exactly where that trade bites.
Finding a buried fact is table stakes. A long-horizon coding agent needs memory it can act on safely and resume from cleanly — which is where similarity search alone falls short:
| You ask… | Midas answers with | Why top-k recall can't |
|---|---|---|
| *"Can I run this destructive migration?"* | Guard: allowed only if you confirmed it, and only if that confirmation is still current | provenance + currency aren't a similarity match |
| *"What's the current state of project Apollo?"* | `memory_state`: the live, non-superseded decisions / constraints / facts | a broad "current state" query matches no single turn |
| *"What changed since our last session?"* | `memory_diff`: beliefs added, and beliefs revised (old → new) | "what's new" isn't a content query at all |
| *"How do I speed up the transactions list?"* | the prior fix resurfaces, so the agent doesn't re-diagnose it | — |
These properties are measured, not asserted — the [agent-memory bench suite](docs/agent-memory-benches.md) scores action-safety, decision-adherence, repeated-mistake avoidance, resume fidelity, conflict detection/precision (live contradictions between agents found without over-flagging), and adversarial memory-safety across scripted multi-session projects. The safety eval blocks 10 / 10 adversarial attacks (ASR 0.00) — including a planted confirmation next to a prohibition, a confirmation for a *different* action, a provenance-laundering supersession, and a cross-namespace approval — with no over-blocking (benign-pass 1.00). Deterministic, $0, no LLM. Reproduce every number with one command:
uv run python -m eval.benches # the whole governance suite — or `midas bench` from a checkout
Deterministic, reader-independent retrieval (recall@k — fraction of the gold supporting turns pulled into context) on the full public sets, vs a recency-window baseline:
| Benchmark (full set) | baseline | Midas |
|---|---|---|
| LongMemEval-`s` — 500 questions, 246,750 turns | 0.01 | 0.92 |
| LoCoMo — 10 conversations, n=1,540 | 0.05 | 0.73 |
| BEAM — frontier benchmark, 100K → 10M tokens | 0.00 | 0.56 → 0.32 |
And the cross-system metric, judged answer-rate (same gpt-4o judge the leaderboards use):
| Judged answer | baseline | Midas |
|---|---|---|
LongMemEval-s (gpt-4o reader, ties LLM-ingest SOTA at $0 ingest) | — | 0.84 |
| BEAM-100K (gpt-4o judge, raw-turn floor, $0 ingest) | 0.05 | 0.40 |
All of it at 0 LLM calls, $0, and 0 data egress at ingest. Full numbers, per-category breakdowns, reproduce commands, and the head-to-head vs Mem0/Zep/Mastra are in [BENCHMARKS.md](BENCHMARKS.md).
Eval-first means we publish the misses too. Hybrid retrieval, reranking, thread-diversification,
dual-granularity indexing, and *naive distillation* were all measured to not help (or to hurt) and
are documented as such. That honesty is the point — see BENCHMARKS.md and
docs/frontier-2026.md.
One command wires up everything:
midas init # creates the shared memory + configures every MCP client it finds
midas status # check what's wired · run midas init --dry-run to preview first
Both take `--json` to emit a machine-readable *client wiring receipt* — which memory each client got wired to, under which scope/policy, and which clients were skipped (config paths only, never memory contents). Paste it into a bug report, or let another agent verify the setup without scraping prose.
midas init creates one shared memory (~/.midas/memory.sqlite3) and points the MCP clients it detects — Claude Code, Codex, Grok Build, Cursor, Claude Desktop, Windsurf, VS Code, Gemini CLI, Cline, Zed — at it. So all your agents read and write the same memory, autonomously, with no per-client paths to keep in sync.
Prefer a single endpoint over per-client launches? Run one server and give your clients an MCP URL:
midas serve --http # → http://127.0.0.1:7077/mcp (one server, one memory, every client shares it)
midas serve --http --token # require Authorization: Bearer on every request
Keep Midas current with `midas update`. See your memory anytime with `midas inspect`.
Already carrying agent memory in files? `midas import --from claude-md CLAUDE.md` (or --from cursorrules, --from jsonl, --from mem0, --from zep) turns those rules and exports into first-class, recallable, governable memories — tagged with where they came from, idempotent on re-run.
Want memory even when the agent never calls capture? `midas init --claude-hook` installs a Claude Code SessionEnd hook that offers each session's user turns to memory — Midas's no-LLM policy still decides what is actually kept.
Manual setup — any client, or to customize (click to expand)
Midas is a standard MCP server: point any client at the `midas-mcp` command. It uses the shared store by default — no path needed. The universal block:
{ "mcpServers": { "midas": { "command": "midas-mcp", "env": { "MIDAS_MCP_EMBEDDER": "local" } } } }
| Client | Where the config goes |
|---|---|
| Claude Code | claude mcp add midas -s user -e MIDAS_MCP_EMBEDDER=local -- midas-mcp |
| Cursor | ~/.cursor/mcp.json — paste the JSON block |
| Claude Desktop | Settings → Developer → Edit Config (claude_desktop_config.json) — paste, restart |
| Codex CLI | codex mcp add midas -- midas-mcp |
| Grok Build | grok mcp add --scope user midas -e MIDAS_MCP_EMBEDDER=local -e MIDAS_MCP_CLIENT=grok-build -- midas-mcp |
| Windsurf | ~/.codeium/windsurf/mcp_config.json — paste the block |
| VS Code | user mcp.json (servers key, "type": "stdio") — midas init writes it |
| Gemini CLI | ~/.gemini/settings.json (mcpServers key) — midas init writes it |
| Cline | cline_mcp_settings.json in VS Code global storage — midas init writes it |
| Zed | settings.json → context_servers — midas init writes it |
| Anything else | point it at command midas-mcp |
| No Python | npx -y midas-memory-mcp — the TypeScript port (experimental; semantic embeddings via optional @huggingface/transformers) |
Override per client with env: `MIDAS_MCP_DB` (default ~/.midas/memory.sqlite3; :memory: = ephemeral) · MIDAS_MCP_MAX_RECORDS · MIDAS_MCP_MIN_IMPORTANCE · MIDAS_MCP_NAMESPACE.
⚠️ GUI apps don't share your shell `PATH`. If a client says *"command not found"*, use the absolute
path from
which midas-mcp. On Windows use forward slashes in JSON paths.
Once connected, Midas injects a short policy into the agent (*recall first, then capture durable facts/decisions/preferences/constraints/corrections*). The agent captures freely; Midas decides what's kept — it scores importance (no LLM), drops trivia, skips duplicates, revises stale beliefs, and forgets the low-value tail to stay bounded. Before any memory-justified external or destructive action, the agent calls `che
앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요