原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Live Memory

作者:shofer-dev版本 0.6.0i★ –i在你的电脑上运行
注册名称io.github.shofer-dev/live-memory

安装

概览

作者提供的说明(英文原文)

Persistent, read-only codebase memory for Claude Code; ask it instead of re-reading files.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: Streamable HTTP
  • 分类: 搜索与 AI 记忆

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 注册中心没有列出需要填写的密钥。

你需要

  • PyPI已安装 Python 的 uv(用于 uvx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "live-memory": {
      "command": "uvx",
      "args": [
        "shofer-live-memory"
      ]
    }
  }
}

在终端中运行这条命令

claude mcp add live-memory -- uvx shofer-live-memory

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "live-memory": {
      "command": "uvx",
      "args": [
        "shofer-live-memory"
      ]
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "live-memory": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "shofer-live-memory"
      ]
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 shofer-dev 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“搜索与 AI 记忆”中的其他服务器比较i

  • 星标数多于此分类中其他 7220 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 7220 个服务器的 23% 更新
  • 基础检查结果等于或优于此分类中其他 7220 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Live Memory 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.6.0)于4个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。

有什么可以替代它?

同一分类中有:Context7, Codebase Memory, Exa

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Context7

作者:upstash

Up-to-date docs for AI agents

电脑或云端★ 64,224MIT3天前更新
安装

Codebase Memory

作者:DeusData

Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.

在你的电脑上运行★ 48,148MIT20天前更新
安装

Exa

作者:exa-labs

Connect AI agents to Exa for web search, content fetching, and multi-step research.

在云端运行★ 5,213MIT44天前更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

██╗     ██╗██╗   ██╗███████╗

██║ ██║██║ ██║██╔════╝ ██║ ██║██║ ██║█████╗ ██║ ██║╚██╗ ██╔╝██╔══╝ ███████╗██║ ╚████╔╝ ███████╗ ╚══════╝╚═╝ ╚═══╝ ╚══════╝ ███╗ ███╗███████╗███╗ ███╗ ██████╗ ██████╗ ██╗ ██╗ ████╗ ████║██╔════╝████╗ ████║██╔═══██╗██╔══██╗╚██╗ ██╔╝ ██╔████╔██║█████╗ ██╔████╔██║██║ ██║██████╔╝ ╚████╔╝ ██║╚██╔╝██║██╔══╝ ██║╚██╔╝██║██║ ██║██╔══██╗ ╚██╔╝ ██║ ╚═╝ ██║███████╗██║ ╚═╝ ██║╚██████╔╝██║ ██║ ██║ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝ always-up-to-date codebase memory for Claude Code · ask, don't re-read

Live Memory — Claude Code plugin

A cheap, always-on model that learns your repo — so your agent stops re-reading it. Live Memory runs a separate, cheap large-context model as a long-lived MCP server that accumulates knowledge of your codebase across sessions. Instead of re-reading the same files every session, your agent asks one read-only tool, ask_live_memory, the broad-understanding questions — *"where is X, how does Y work, what calls Z"* — and Live Memory answers in a way that bootstraps the primary agent to start doing productive work (e.g., edits). It learns passively from your agent's own reads and edits (teed via hooks — no extra reading) and stays current as the repo changes (modifications and deletions). Read-only and path-jailed (it can never edit, create, or run anything); zero-config on a Claude subscription (Haiku, no API key); the memory model is pluggable — point it at a local model or any OpenAI-compatible endpoint.

How it works

flowchart LR

repo[("Your repo")] subgraph sessions["Claude Code sessions — premium model (many, over time)"] agent["Agent"] end agent -->|"reads / edits files"| repo agent -. "PostToolUse / FileChanged hooks tee file content — passive learning (free)" .-> lm agent ==>|"ask_live_memory(question, cwd) one read-only MCP tool"| lm lm ==>|"grounded answer — no file re-reading"| agent subgraph server["Live Memory — one MCP server per workspace (singleton)"] lm["Cheap / local large-context model

  • accumulating context window

append-only · neutral compaction to a ledger"] lm --> snap[("Local JSON snapshot persists across sessions")] end

Your agent reads or edits files as usual; hooks quietly tee that content to the server so it learns for free. When the agent needs to understand something, it asks ask_live_memory instead of re-reading — the server answers from its accumulated, per-workspace memory (or reads the code itself, read-only, if it hasn't seen it yet). One server serves every session and persists across sessions.

Benchmarks

A/B on a real repo, cost per task, run to completion. Cost is shown three ways: the premium (building) model's bill — what your *expensive* model spends, since the companion runs on a cheap or local model — and all-in, also counting the companion's own cost on DeepSeek-v4-flash or Haiku:

per taskpremium-model billall-in · DeepSeek-flash†all-in · Haikufaster
Understanding-heavy (trace / comprehend)−61%−57%−25%~22%
Hybrid (understand-then-edit: bug fixes + features)−28%−26%−11%~11%
Pure edit / execution~break-even~break-even~break-even~0

Understanding-heavy work also offloads ~93% of the premium model's codebase-reading tokens (with lower cost variance), and correctness never regressed on the hybrid tasks (12/12 passed with *and* without it). DeepSeek-v4-flash matched Haiku's answer accuracy (98% vs 91% over 3 reps) at ~8× lower token price; a local companion is ≈ free, so all-in ≈ the premium-model bill. Fully reproducible + audited (human + Fable). Full numbers + methodology: benchmark/results/RESULTS.md.

† companion re-priced at DeepSeek-v4-flash rates (~8× cheaper than Haiku); exact for the understanding case, derived from the measured cost ratio for the hybrid case.

Lineage: Live Memory began as a feature of [shofer.dev](https://shofer.dev) (Arkware's parallel multi-agent coding platform), where sessions share an in-sync codebase memory. This is that idea as a standalone Claude Code plugin — a fresh implementation, self-contained, with no dependency on shofer. Part of the shofer Claude Code plugin family (with slang-workflows). Design: DESIGN.md · How it compares to Copilot/Cursor: COMPARISON.md · Testing: TESTING.md · Privacy: PRIVACY.md.

Quickstart

live-memory is an HTTP MCP server you run once (a singleton that serves every Claude Code session) plus a plugin that registers ask_live_memory, the hooks, and the slash commands. Start the server first — Claude Code only *connects* to it (it never spawns it), so if it isn't running you'll get a connection error.

1 — Start the server (zero-config on a Claude subscription → Haiku; no API key needed):

git clone https://github.com/shofer-dev/claude-code-live-memory

cd claude-code-live-memory/deploy && ./install-service.sh # venv + user systemd service, auto-starts on boot

…or just run it in a terminal:

cd claude-code-live-memory/server && pip install -e . && python -m live_memory

2 — Install the plugin (inside a Claude Code session):

/plugin marketplace add shofer-dev/claude-code-live-memory

/plugin install live-memory@shofer-live-memory

Ask your agent a whole-repo question — it'll call ask_live_memory instead of reading files. /live-memory-stats shows accumulated knowledge + cost · /live-memory-config switches model/provider · /live-memory-empty wipes memory · /live-memory-reset starts a workspace over with its configured preload docs re-loaded. Providers, systemd, workspaces, and concurrency are detailed below.

Shape

live-memory/

├── .claude-plugin/plugin.json # plugin manifest ├── .mcp.json # registers the server (type:http, explicit timeout) ├── hooks/ # PostToolUse(Read|Write|Edit|…) + FileChanged → TEE file content (passive learning) │ ├── hooks.json │ └── notify.py ├── skills/live-memory/SKILL.md # tells the agent when/why to call ask_live_memory ├── commands/ # USER-facing slash commands (not agent tools) │ ├── live-memory-stats.md # /live-memory-stats → GET /stats │ ├── live-memory-config.md # /live-memory-config → set model/provider, hot-reload │ ├── live-memory-empty.md # /live-memory-empty → wipe memory (this workspace or all) │ ├── live-memory-reset.md # /live-memory-reset → drop history + re-preload configured docs │ ├── stats.py · config.py · empty.py · reset.py ├── settings.json ├── deploy/ # systemd unit + env example + install-service.sh └── server/ # the long-running MCP server (Python, asyncio) ├── pyproject.toml # deps + mypy(strict) + pytest config ├── tests/ # pytest unit suite (mocked; no network) └── live_memory/ ├── main.py # entrypoint: python -m live_memory ├── server.py # MCP (HTTP) ask_live_memory + /health + /stats + /notify + /clear + /reset + /reload ├── workspace.py # per-cwd state registry (window + queue + store); fork/commit ├── manager.py # the agent loop (process one question); compaction ├── context_window.py # budget; file-context evict, Q&A summarize; fork/clone ├── summarizer.py # NEUTRAL, query-agnostic knowledge-ledger summarization ├── question_queue.py # per-workspace admission (serial/parallel) + per-entry timeout ├── async_jobs.py # opt-in fire-and-forget job registry (submit/poll) ├── keep_warm.py # background KV/prompt-cache keep-warm loop ├── conversation_store.py # versioned JSON snapshot (SHA-256 file validation) ├── llm_client.py # provider-pluggable: Anthropic Messages | OpenAI-compatible ├── oauth.py # subscription OAuth credential + auto-refresh (zero-config) ├── config.py # layered config (env > config.json > defaults) + provider knowledge ├── constants.py # ALL tunable magic numbers + defaults, centralized (config sources its defaults here) ├── models.py # core dataclasses (ChatMessage, FileContext, QuestionResult, …) ├── tool_executor.py # read-only tools (Read/Grep/Glob/find_paths/git/…), path-jailed ├── preload.py # configured preload globs → verbatim docs on workspace load ├── directory_tree.py # workspace scan, ~10% context cap ├── pricing.py # per-model USD cost (+ env overrides) ├── logging_setup.py # stderr→journald + optional rotating file └── prompts.py # system prompt + neutral-summary prompt

Architecture (see DESIGN.md for the full rationale)

  • One externally-supervised, idempotent HTTP MCP server (singleton) serves all Claude Code sessions; state is keyed per workspace (cwd).
  • Model = independent + provider-pluggable: the server runs its *own* cheap model (not the session's). Two adapters cover ~everything — Anthropic Messages (with cache_control) and OpenAI-compatible (DeepSeek/OpenAI/gateways). Zero-config: with no key but a Claude subscription, it uses the subscription OAuth token (auto-refreshed) on Haiku.
  • Passive (organic) learning: PostToolUse/FileChanged hooks tee the content of the files your agent reads/edits into the memory, so it warms up for free from real work; ask_live_memory is the active fallback for anything unseen.
  • Preload globs (opt-in): preload_globs (e.g. docs/*.md) names reference docs loaded verbatim into the system prompt whenever a workspace is (re)loaded — the memory starts out knowing them. They behave like observations: compaction later distills them into the knowledge ledger under pressure. /live-memory-reset drops a workspace's history trail and re-preloads them fresh.
  • Append-only window between compactions; compaction = batched neutral summarization with a high/low-watermark (rare, batched) — observed files + Q&A distilled into a query-agnostic knowledge ledger — never front-truncation.
  • Frozen volatile block + observation deltas (KV-cache preservation): the volatile system block (ledger + preloaded/observed content + manifest) is frozen between compactions and re-sent byte-identical; changes that arrive in between (a teed file, a staleness notice) are appended to the history as delta messages instead of mutating the block — so the provider's prefix cache keeps matching instead of truncating at the first changed byte.
  • Two-tier timeout: ask_live_memory(question, cwd, max_answer_tokens?) blocks up to the server-configured soft budget (default_timeout_s, default 60s — no longer a tool argument) and returns a best-effort answer before the hard .mcp.json MCP timeout.
  • Disclosed answer-length budget: the answer is hard-capped (default LIVE_MEMORY_MAX_ANSWER_TOKENS) *and* the model is told the cap, so it self-regulates instead of being truncated mid-sentence; the optional max_answer_tokens arg overrides it per question.
  • Human status via the /live-memory-stats slash command (→ /stats), kept off the agent's tool surface.

Installation

Prerequisites: Python ≥ 3.10; ripgrep (rg) recomm

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx