Context7
Up-to-date docs for AI agents
作者提供的说明(英文原文)
Open, local-first engram memory for AI agents: read, correct, delete; shared over MCP.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"plur": {
"command": "npx",
"args": [
"-y",
"@plur-ai/mcp"
]
}
}
}在终端中运行这条命令
claude mcp add plur -- npx -y @plur-ai/mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"plur": {
"command": "npx",
"args": [
"-y",
"@plur-ai/mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"plur": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@plur-ai/mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 plur-ai 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.23.0)于8天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。
同一分类中有: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、图片和脚本已被移除。链接会离开本站。
Persistent, open memory for AI agents — local-first, zero-cost, shared across MCP tools (Claude Code, Codex, Cursor, OpenCode, Hermes, OpenClaw). Your agent's memory is plain-text engrams you can read, correct, and delete — not weights you can't.
plur.ai · Benchmark · Engram Spec · npm · Comparisons
PLUR is memory, not just retrieval — so we measure it on more than one axis, on the full corpus, and we publish the harness so you can reproduce every number.
Retrieval recall — full LongMemEval-S (N=500), R@5, fully local:
| Stack | R@5 | Notes |
|---|---|---|
| BM25 only | 92.2% | no embedder — fully airgapped |
| Hybrid (BGE-small, shipping default) | 95.6% | local embedder; one-time model download |
| + BGE-reranker-v2-m3 | 97.6% | local cross-encoder, max quality — opt-in, ≈5s p50 on CPU |
Numbers come from plur-ai/plur-bench, which is the source of truth for every benchmark figure PLUR publishes. Where an in-repo number and a plur-bench number disagree, plur-bench wins — it is the reproducible harness, and it is what CI regression-checks.
Chunk granularity, canonical-doc scoring, corpus SHA256 pinned — reproduce it in plur-ai/plur-bench. No cloud call is required for any of these numbers (an *optional* cloud embedder, openai-3-large, reaches 97.0% hybrid). A faster reranker — ms-marco-minilm-l6 (p50≈245ms vs BGE's ≈5s on CPU) — trades a little recall for sub-second latency.
Run it yourself — and tell us what you get. The harness is plur-ai/plur-bench: CPU-runnable, no API key needed for the local path, corpus auto-fetched and SHA-verified. If you run it, we'd genuinely love to see your numbers — open an issue or discussion with your results, especially if they don't match ours. Independent reproduction is worth more than any number we publish, and we'll gladly credit you.
Retrieval ≠ answer accuracy — and we report them separately, never conflated. End-to-end (LLM-judge) answer accuracy with the reranker stack is 60.5%, versus 52.0% for dumping full context into the prompt and 5.5% with no memory at all.
Agent-task impact — same task, with memory vs without: Haiku + PLUR outperforms Opus *without* it at roughly 10× less cost; house rules 12–0 across Haiku, Sonnet, and Opus.
Operational — local-first, zero-cost search, data-sovereign by design.
*More in progress: LoCoMo, agentic task suites, cross-tool portability, decay / contradiction correctness.* Full methodology →
You correct your agent's coding style on Monday. On Tuesday, it makes the same mistake. You explain your architecture in Cursor. That night, Claude Code has no idea.
PLUR fixes this. Install it once, and corrections, preferences, and conventions persist — across sessions, tools, and machines. Your memory is stored as plain YAML on your disk. No cloud, no API calls, no black box.
The interesting part: in our tool-routing and local-knowledge benchmark, Haiku with PLUR memory outperformed Opus without it — 2.6x better on tool routing, at roughly 10x less cost. Turns out the bottleneck isn't model intelligence. It's context.
The model is rented; your memory is owned. Swap Haiku for Opus for whatever ships next month — the reasoning is a commodity you don't control. The part that's *yours* — everything the agent has learned about your work, your corrections, your conventions — shouldn't live in someone else's cloud or be baked into weights you can't read. PLUR keeps it in plain files on your disk, in an open format you can inspect, correct, and delete. That's what owning your intelligence actually means.
Requires Node.js 20 or newer. Install both packages so editor configurations can use the installed MCP server:
npm install -g @plur-ai/cli@latest @plur-ai/mcp@latest
plur init plur doctor
Restart your editor after setup. plur doctor checks the configuration and MCP handshake, and downloads the search model if it is missing and downloads are allowed. Search runs locally after that download; without the model it falls back to keyword search.
Set up PLUR memory for me: install @plur-ai/cli@latest and @plur-ai/mcp@latest globally, run `plur init`, then `plur doctor`. Show me any checks that fail.
plur init creates the local store at ~/.plur/, registers the user-scoped MCP server in ~/.claude.json, and writes global hooks to ~/.claude/settings.json. A project .mcp.json is a separate project-scoped configuration; ~/.claude/mcp.json is not the user-scoped registration path. The hooks inject memory and close session state when Claude Code emits SessionEnd. Run init again after upgrading PLUR to refresh its configuration.
For multi-project setups, use domain/scope to separate knowledge:
cd ~/projects/my-app
plur init --domain myapp --scope project:my-app
This creates a .plur.yaml in the project with defaults that hooks apply automatically. Engrams learned in that project are tagged; recall filters by scope but always includes global knowledge.
Set scope per engram, by content. Scope is not a once-per-session setting — every plur_learn call takes its own scope, chosen from what the engram is about. Team/shared knowledge goes to a team scope (e.g. group: / , used by PLUR Enterprise); project details to project: ; personal preferences stay local. Don't let team-relevant knowledge fall back to global by omitting scope — global leaks into every project and (with a team store configured) never reaches the team. plur_session_start lists the remote scopes a token can write to.
npm install -g @plur-ai/cli@latest @plur-ai/mcp@latest
plur init plur doctor
Restart the editor so it launches the updated MCP server.
From your project root:
plur init --cursor
This writes .cursor/mcp.json, .cursor/hooks.json and .cursor/rules/plur-memory.mdc. Cursor uses the reduced cursor tool profile: core tools are direct, and other operations are available through plur_admin. Call plur_admin with { "action": "help" } to discover their current names and arguments.
plur init --codex
Registers a new MCP server via codex mcp add in ~/.codex/config.toml, writes lifecycle hooks to ~/.codex/hooks.json (CODEX_HOME overrides the directory), and adds a PLUR section to AGENTS.md. Auto-detected when ~/.codex/ exists.
To upgrade an existing Codex installation:
npm install -g @plur-ai/cli@latest @plur-ai/mcp@latest
plur init --codex plur doctor --codex
Init updates recognized older PLUR launch pins in place, preserving environment settings, timeouts, tool policies and comments. It preserves newer pins and custom or HTTP servers. Use --keep-codex-mcp to retain an intentional older launch entry. Restart Codex after changing its configuration.
For remote stores using plur remote --token-env NAME, both remote and init --codex add the required variable names to Codex's env_vars; they never copy token values into its config. The variable must also be available to the process that launches Codex. A variable exported in PowerShell does not prove that a separately launched desktop app inherited it.
plur doctor --codex starts the MCP command from the Codex user config with Codex-style environment filtering, checks its reported version against the CLI, and reports missing token forwarding or values. It does not check project/profile overrides, another running application's environment, hook trust, or a remote write. --no-handshake reports the runtime as unverified and exits nonzero. Verify saving and recalling a test memory in the actual Codex session before treating desktop setup as complete. Native Windows and WSL2 have separate home directories and registrations; run setup in each environment you use.
Injection uses hybrid search (BM25 + embeddings) with an automatic BM25 fallback if the embedder is slow or unavailable. Set PLUR_HOOK_HYBRID=0 to force BM25 (applies to the Antigravity hooks too; PLUR_CODEX_HYBRID is honoured as an alias). PLUR_HOOK_HYBRID_DEADLINE_MS tunes the fallback deadline — keep it below your harness's hook timeout (Codex 25s, Antigravity 20s).
One manual step after install: open Codex, run /hooks, and trust the PLUR entries. Codex fingerprints every hook and refuses to run untrusted ones — *silently*, with no warning and a zero exit code. Until you trust them, memory simply never loads. plur doctor says so too.
plur init --opencode
plur doctor
This adds the memory plugin and MCP tools to ~/.config/opencode/opencode.json, or to the existing opencode.jsonc when no .json exists. OPENCODE_CONFIG_DIR takes precedence; otherwise XDG_CONFIG_HOME/opencode overrides the default directory.
The MCP command uses Node and the installed @plur-ai/mcp entry when available. Init updates an older exact @plur-ai/opencode pin to the plugin version shipped with the CLI while preserving comments, formatting and unrelated settings. Newer pins, tags and unpinned entries remain unchanged. Use --keep-opencode-plugin to retain an intentional old pin. Restart OpenCode to load the changed configuration. Plugin details.
Every MCP client can call PLUR's tools. Only some have an *adapter* — the hooks and always-on context that make memory load automatically instead of waiting for the agent to think of it. Without one, recall and learning depend entirely on the model choosing to call the tools, which degrades badly under context pressure.
| Harness | Tools | Auto-injection + enforcement |
|---|---|---|
| Claude Code | ✅ | ✅ hooks + CLAUDE.md |
| Codex | ✅ | ✅ hooks + AGENTS.md (trust /hooks once) |
| Cursor | ✅ | ✅ hooks + rules |
| OpenCode | ✅ | ✅ memory plugin + MCP tools |
| OpenClaw | ✅ | ✅ ContextEngine plugin |
| Hermes | ✅ | ✅ plugin |
Antigravity CLI (agy) | ✅ | ✅ hooks + AGENTS.md |
| Windsurf, Gemini CLI, other MCP clients | ✅ | ❌ tools only |
If your harness is in the last row, paste the PLUR section from CLAUDE.md into its own context file (AGENTS.md, GEMINI.md, …) as an interim measure — that restores the instruction layer, though not automatic injection.
plur init --antigravity
Writes hooks and the MCP server into agy's global config (~/.gemini/config/) and adds a PLUR section to AGENTS.md. Auto-detected when ~/.gemini/antigravity-cli/ exists. No trust step — agy runs
只显示了开头部分;其余内容请在仓库中阅读