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

Lossless Context MCP

作者:NORTHTEKDevs版本 2.0.0i★ –i在你的电脑上运行
注册名称io.github.NORTHTEKDevs/lossless-context-mcp

安装

概览

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

Agent context flight recorder: restore after compaction, fan-out packs, signed git-bound receipts.

PopNx MCP 的三大支柱

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

它能帮你做什么

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

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 开发者工具

安装

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

安装之前

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

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

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

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

{
  "mcpServers": {
    "lossless-context": {
      "command": "npx",
      "args": [
        "-y",
        "lossless-context-mcp"
      ]
    }
  }
}

在终端中运行这条命令

claude mcp add lossless-context -- npx -y lossless-context-mcp

在 Cursor 中打开

或者自己复制设置

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

{
  "mcpServers": {
    "lossless-context": {
      "command": "npx",
      "args": [
        "-y",
        "lossless-context-mcp"
      ]
    }
  }
}

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

在 VS Code 中打开

或者自己复制设置

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

{
  "servers": {
    "lossless-context": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "lossless-context-mcp"
      ]
    }
  }
}

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

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

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

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

它能做什么

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

基础检查i

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

  • ✓ 通过

    作者与仓库一致

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

  • … 尚未检查

    仍在维护

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

  • … 尚未检查

    有许可证

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

  • – 不适用

    端点有响应

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

  • – 不适用

    使用 OAuth 登录

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

  • … 尚未检查

    工具描述中没有隐藏指令

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

与“开发者工具”中的其他服务器比较i

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

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

常见问题

Lossless Context MCP 安全吗?

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

它需要哪些密钥或代码?

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

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

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

它还在维护吗?

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

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:GitHub, Desktop Commander, Cloudflare MCP

替代选择

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

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

GitHub

作者:github

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

电脑或云端★ 34,245MIT3天前更新
安装

Desktop Commander

作者:wonderwhy-er

MCP server for terminal commands, file operations, and process management

在你的电脑上运行★ 10,225MIT15天前更新
安装

Cloudflare MCP

作者:cloudflare

Cloudflare MCP servers

在云端运行★ 4,446Apache-2.014个月前更新
安装

作者的 README

打开 README

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

lossless-context-mcp

The flight recorder for your agent's context. A persistent, hook-fed ledger of every file version your coding agent was shown — so a compaction can't destroy the working set, a subagent fleet doesn't pay for the same files N times, and you can *prove* afterward exactly what the model saw.

                      ┌──────────────────────┐

ledger reads ──────▶│ │──▶ RESTORE working set survives /compact (read_file, MCP) │ flight recorder │──▶ PACKS one cache-cached prefix for a fan-out fleet transcript sweeps ─▶│ (content-addressed │──▶ RECEIPTS signed, git-bound "what did it see" (native Read/Edit) │ archive on disk) │──▶ METERING where the read tokens went, in dollars └──────────────────────┘

See it

Compaction destroys your agent's working set. Not anymore — sweep at PreCompact, manifest injected after, blind edit *blocked*, working set restored, edit allowed:

Two agents, one file — air traffic control. The second agent is stopped mid-clobber, with the culprit named:

Every line in these recordings is genuine output from the shipped code — the demos are generated by docs/demo/make-demo.mjs, which drives the real hooks and server and renders what they actually said. Re-run it yourself.

1. Restore: compaction can't destroy your working set anymore

When Claude Code compacts, roughly two-thirds of a typical context is tool output — mostly file contents — and compaction discards it permanently. The model then flails: re-reading files it half-remembers, or worse, guessing at contents it no longer has (#27242 is the ask, at 80 👍).

The flight recorder closes the loop automatically:

  1. PreCompact — the sweep hook parses the session transcript and archives every file the session touched (native Read/Edit/Write included, not just MCP reads), then writes a ranked working-set manifest. Fast enough to sit on the compaction path — one real 14 MB transcript swept in 361 ms; measure yours: node bench/sweep-bench.mjs .
  2. SessionStart(compact) — the inject hook puts a compact manifest back into the fresh context: *"your working set was these 12 files (edited ones first); restore any of them instead of guessing."*
  3. `restore_context` — re-emits the working set from current disk state, budget-capped, annotating any file that changed since the model last saw it.

Cross-*session* memory tools (claude-mem and friends) summarize what happened for the next session. This is the complementary, mid-session layer: file-version-exact recovery of what you were just working on.

2. Blind-edit guard: the recorder as an active safety net

The recorder knows exactly which file versions the model has actually seen this context epoch. A PreToolUse hook uses that to stop the two ugliest edit failures *before the write lands*:

  • Post-compaction guess-edits — the model edits a file it hasn't read since its context was compacted/reset, working from a summary's memory of the content. (The harness's own read-before-edit tracking is not documented to survive compaction, and newer models are allowed to edit unread files at all.) Denied, with a one-line reason the model sees: *read it (or restore_context), then retry.* Self-healing — costs exactly one extra read.
  • Stale-base edits — the file changed on disk since the model read it (another agent, you, a formatter). Content-hash compared, not mtime-guessed. Denied with the same re-read instruction.

Fail-open by construction: any doubt (unparseable transcript, partial reads, files the model itself just edited, oversized files) → the edit proceeds untouched. Disable anytime with LOSSLESS_GUARD=off.

3. Coordination: air traffic control for concurrent agents

Run two agent sessions on one repo and they clobber each other blind: B edits a file A read ten minutes ago; A edits from its stale copy; the merge is garbage and neither notices. Nothing on the market mediates this locally — but the recorder already knows, per session, what each agent holds and edits. v2 makes that knowledge active:

  • Edit-in-flight detection — when one agent process is allowed an edit, it publishes an intent to a local presence plane (~/.lossless-context/presence/, one file per process, no daemon, no locks). Another agent editing the same file seconds later is denied with the culprit named: *"agent session 3f2a91b0 started an edit on this file 12s ago and it may not have landed yet."* Covers sibling subagents of the same session too.
  • Cross-session stale-base detection — when another session's landed edit postdates what your session holds and your last contact left no verifiable hash, the edit is denied with a re-read instruction. When the ordinary drift check fires, the reason now *names who changed the file*.
  • The radar — coordination_status shows every visible agent session, what it's been editing, and which files have cross-session or in-flight activity.

Honest limits: advisory, not locking. Sessions without the hooks are invisible, a same-second race can still slip through, and presence files are unauthenticated local JSON — any local process could fabricate one to cause false *denies* (structurally never a false allow; presence can only add deny classes). An intent whose edit is then declined at the permission prompt lingers up to LOSSLESS_COORD_INTENT_SECS (90 s) before expiring. It substantially narrows the concurrent-clobber window; it cannot close it, and how much it catches in practice is not yet measured. LOSSLESS_COORD=off disables coordination independently of the guard. (The guard's compaction tracking is session-scoped; only the dedup engine uses the machine-global epoch file, where a cross-session bump merely costs one conservative full re-send.)

4. Packs: stop paying for the same files in every subagent

Fan-outs are where token waste actually lives. Measured across 195 real multi-agent runs: 19.6% of all subagent `Read` tokens were duplicate reads of identical content by sibling agents (5.18M of 26.4M tokens) — every sibling starts cold and reads the same CLAUDE.md, the same spec, the same core modules.

export_pack ranks the archive's cross-session read history for stable hot files and renders them as one deterministic block for a custom agent-type's system prompt. The block is a stable prefix, so the whole fleet hits the provider prompt cache on it. On a real review fan-out this measured 46.55% cheaper than baseline — and the same pack injected per-task measured 19.6% *worse* (every sibling cache-writes it), which is why the tool tells you where to put it. Both numbers were measured externally on one real corpus, not by a harness in this repo — exact figures, method, and that caveat are in BENCHMARK.md. Generate the pack once per run and embed it verbatim: ranking follows live read history, so repeated export_pack calls can differ.

5. Blame: what did the agent see when it did that?

context_blame (also a CLI: lossless-context-mcp blame ) answers the debugging question every agent incident report wishes it could: for a given file, every content version the model was shown (SHA-256 + git blob SHA-1, first/last seen, capture source, sessions) and what else was in context around a chosen moment. When an agent produces a wrong change, you query the recording instead of arguing with the agent's self-report.

6. Receipts: prove what the model saw, bound to git

Observability vendors capture what your agent read into mutable trace stores. Nobody signs it or binds it to repo identity — and agent self-reports are not evidence (ask anyone whose agent claimed it "verified" something it never read).

context_receipt issues an HMAC-SHA256-signed attestation: every file/view shown, the SHA-256 of every content version, the git blob SHA-1 of each version (so any verifier with a clone can check git cat-file -e — was this ever committed?), repo HEAD at issue time, delivery kinds, token totals, and an explicit coverage statement of which capture paths it attests (mcp, and transcript-sweep with include_sweep). By default it signs with the same key file as trust-mcp receipts, so one key verifies a full evidence chain: *what the agent saw + what it did*.

The honest scope: a receipt attests what passed through the ledger and sweeps — it never claims coverage of unmediated paths, and says so in its own coverage.note.

7. Metering (and the token-saver reality check)

context_stats shows where the session's file-read tokens went — per repo, per file, in dollars, counted with a real tokenizer.

Reality check, kept from earlier versions because it's true: as an intra-session

token saver this measures ~0% on real Claude Code transcripts (+0.4% with the

never-lose engine; the native file-state cache already ate the opportunity — full data

in BENCHMARK.md). The savings that DO exist are cross-agent (packs,

above). Read-path dedup remains because it is provably lossless and never negative —

not because it will save you much on its own.

Install (two commands)

npm i -g lossless-context-mcp

lossless-context-mcp init # wires all hooks into ~/.claude/settings.json claude mcp add lossless-context --scope user -- lossless-context-mcp

init is idempotent (re-run it after upgrades — it updates paths instead of duplicating), backs up your settings file first, refuses to touch a settings file it can't parse, and never removes hooks that aren't its own. --dry-run previews. It wires:

  • sweep-transcript.mjs (PreCompact + SessionEnd) — captures the working set + exact versions; bumps the dedup epoch on PreCompact; never blocks compaction.
  • inject-manifest.mjs (SessionStart, matcher compact) — injects the recovered working-set manifest after a compaction.
  • reset-epoch.mjs (SessionStart) — keeps read dedup lossless across new sessions.
  • guard-edit.mjs (PreToolUse, Edit|Write|MultiEdit) — the blind-edit guard (LOSSLESS_GUARD=off disables without unwiring).

Restart Claude Code after init. Without the hooks everything still works — you just lose automatic native-tool capture, post-compaction injection, and the guard; the ledger then records MCP reads only.

Tools

ToolWhat it does
read_file(path, symbol?, lines?, force_full?)Lossless read: full / unchanged-marker / diff. Optional single-symbol or lines:"40-90" views. Refuses binary files.
read_files(paths[], force_full?)A working set in one call; per-file errors don't fail the batch.
working_set(limit?)Heat-ranked table of what the recorder knows this session (+ last 24h), with staleness vs disk.
restore_context(files?, budget_tokens?)Re-emit the working set after compaction — manifest top-K by default, budget-capped, change-annotated.
export_pack(repo?, top?, budget_tokens?, days?)Deterministic fan-out context pack from cross-session read history, for an agent-type system prompt.
context_blame(path, at?, window_minutes?)Forensics: every version of a file the model was shown, plus co-context around a moment. Also: lossless-context-mcp blame from the shell.
coordination_status()The radar: visible agent sessions, their recent edits, cross-session and in-flight files.
outline(path)Cheap structural map of a file (declarations only).

| context_stats() | Token/dollar b

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

问 PopNx