Context7
Up-to-date docs for AI agents
作者提供的说明(英文原文)
Durable agent memory over a markdown vault: bitemporal facts, timelines, hybrid graph search.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"loreweave": {
"command": "npx",
"args": [
"-y",
"loreweave",
"--vault",
"serve",
"--mcp"
]
}
}
}在终端中运行这条命令
claude mcp add loreweave -- npx -y loreweave --vault serve --mcp这个服务器需要在启动命令中填入值,请复制设置后自行填写。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"loreweave": {
"command": "npx",
"args": [
"-y",
"loreweave",
"--vault",
"serve",
"--mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器需要在启动命令中填入值,请复制设置后自行填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"loreweave": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"loreweave",
"--vault",
"serve",
"--mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 lets-order-some-fries 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.39.0)于29天前进入注册中心。
支持 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、图片和脚本已被移除。链接会离开本站。
Loreweave
A temporal knowledge engine for markdown vaults.
It indexes, links, remembers, forgets, and dreams — locally, over files you own.
= 22">
Quickstart · What it does · CLI · Agent memory · Benchmarks · How it works · Research
Most knowledge tools are write-only. You capture diligently, the vault grows, and six months later you can't find the thing you know you wrote — because retrieval is keyword search over prose, nothing ever resurfaces on its own, and nothing notices when what you wrote last year stopped being true.
Loreweave is the layer that fixes that. Point it at a folder of markdown (Obsidian or plain) and it builds a knowledge graph, a bitemporal fact store, and a memory model over your notes — then hands them to you through a CLI and to your AI agents through MCP.
Three guarantees, enforced by the code rather than promised:
lore/. The vault is the source of truth — the index is a cache you can delete at any time and rebuild identically (there's a test for that).git diff.npm i -g --allow-scripts=better-sqlite3 loreweave # the flag is for npm 12: see Requirements
cd ~/my-vault lore init # creates .lore/ lore index # incremental sync; one changed note: 32 ms at 1k notes, 656 ms at 20k (see Scale)
lore search "why did we drop the queue design" lore ask "what's the status of project atlas" lore dream # what's duplicated, contradicted, stale, unlinked
Zero configuration and no network: out of the box it runs on BM25 + knowledge-graph spreading activation. Add local embeddings when you want them:
// .lore/config.json
{ "embedding": { "provider": "ollama", "model": "mxbai-embed-large" } }
Pick mxbai-embed-large (670 MB) for quality or nomic-embed-text (274 MB) when disk and indexing speed matter more — required task prefixes are applied automatically for both, and for the E5, BGE and Arctic families. The measured difference between the two is in Benchmarks. No embedding provider means lexical + graph retrieval, still fully functional.
Works with non-English vaults: Chinese, Japanese and Korean text is segmented per character so it is searchable at all, and other scripts index as written.
1. Knowledge that has a timeline. Facts are bitemporal: when they were true in the world (valid_from/valid_until) and when the system learned them (recorded_at). Contradictions supersede rather than overwrite, so history stays queryable.
$ lore assert "Ledger Format" status draft --valid-from 2026-01-01
$ lore assert "Ledger Format" status final --valid-from 2026-08-01 ✓ Ledger Format :: status :: final superseded: "draft" (now valid until 2026-08-01) journal: lore/journal/2026-08-01.md
(lore and loreweave are the same binary — the global install gives you both; npx --allow-scripts=better-sqlite3 loreweave runs it without installing.)
Both time axes are queryable, which is what makes it bitemporal rather than merely historical. --as-of asks what was *true* then; --as-known-at asks what was *believed* then. They disagree exactly when you learn something after the fact — which is when you most need to reconstruct what a past decision was actually based on:
$ lore facts --subject Vendor --as-of 2024-06-01
Vendor :: reliability :: poor — outage postmortem (2024-01-01 → now)
$ lore facts --subject Vendor --as-known-at 2024-06-01 Vendor :: reliability :: good (2024-01-01 → 2024-01-01) [superseded]
Which fact wins is decided deterministically (newest valid-time, provenance as tiebreak) — never by asking a language model which one looks fresher. And the whole history of anything is one command — every value change merged chronologically with the dated prose that mentions it:
$ lore timeline Project Atlas
2024-01-15 status: planning (until 2024-09-01) 2024-02-10 • [[Project Atlas]] kicked off with a three-person crew. [kickoff.md] 2024-09-01 status: planning → active 2025-06-20 • The [[Project Atlas]] midpoint review went long but well. [review.md]
Temporal-graph systems build this by running an LLM over every document at ingestion. Here the supersede chain has been maintained all along, so it is a read-side join: no LLM, no network, same answer every time.
2. Retrieval that follows connections, not just words. Queries fuse BM25, dense similarity (when configured), and Personalized PageRank over the vault's own graph — wiki-links, shared entities, tags, co-occurrence. Two-hop neighbors surface even when they share no vocabulary with your query, and every result tells you *why*:
• data/glacier-dataset.md#@0 (0.0327) ⟨via amara osei⟩
The Glacier Dataset holds meltwater sensor readings from 2019-2024.
3. Memory with dynamics. Every passage carries FSRS-style stability and retrievability — a power-law forgetting curve. Passages that actually get *used* (not merely retrieved) decay slower; important-but-fading knowledge gets surfaced for review instead of silently rotting. Nothing is ever deleted.
4. It dreams. lore dream is an idle-time consolidation pass that reviews the vault and reports duplicate passages, contradicted facts, stale knowledge, missing links between notes that clearly belong together, and orphans. With --apply it writes a digest and a review queue — append-only, under `lore/`. It never rewrites your prose: LLM-driven whole-file rewriting is a documented failure mode — each rewrite quietly drops details until the file collapses to mush — so the architecture forbids it.
5. Questions retrieval can't answer. Counting, grouping, and date-range queries run as deterministic SQL over the fact store, not as vibes over embeddings:
$ lore count --predicate trip_to --since 2025-01-01 --until 2025-12-31
2 Japan 1 Kenya
6. Facts come from your notes, not from a form. Nobody hand-writes - [fact] X :: y :: z, so the extractor mines the conventions vaults already use:
status: shipped # frontmatter
Only unambiguous field syntax is accepted automatically. Prose formatting like - **Owner:** Priya is precise on entity notes and noisy on report notes, so it is opt-in (facts.extract: "all") — or an agent can review candidates via lore_propose_facts and assert the real ones. Judgement stays out of the index.
7. Time means when it happened, not when you saved the file. --since and --until filter on *content* time — frontmatter dates, dated filenames (2025-03-14-standup.md), or dates in the text — falling back to file mtime only when a note carries no date of its own. lore watch keeps the index current so you never have to remember to reindex.
8. Built for agents. An MCP server exposes 15 typed tools so Claude Code, Cursor, or any MCP client can use your vault as durable memory. Session continuity is a query, not a paraphrase — lore resume returns exactly what changed since the agent last connected, computed from record time:
$ lore resume
since 2026-08-11 15:55 ~ lore/journal/2026-08-11.md
± Project Atlas :: status: active → shipped
$ lore resume since 2026-08-11 15:56 nothing changed
Alternatives that summarize the previous session with an LLM inject a paraphrase; this is a deterministic diff. Full setup in Agent memory.
| Command | What it does | ||
|---|---|---|---|
lore init | create .lore/ with a default config | ||
lore index [--full] [--no-nlp] [--rebuild-similar] | incremental sync of vault → index | ||
lore search [-k] [--since] [--until] [--tag] [--folder] [--json] | hybrid retrieval with provenance | ||
lore ask | extractive answer: current facts + top passages (no LLM needed) | ||
lore facts [--subject] [--predicate] [--as-of] [--as-known-at] [--history] [--limit] | query the fact store (200 rows unless --limit says otherwise; a capped list says how many it left out) | ||
lore timeline [--since] [--until] | chronological history: fact changes merged with dated mentions | ||
lore resume [--since] | what changed since the last resume: notes, facts, supersessions | ||
lore review [--threshold] [--limit] | important-but-fading knowledge to revisit or archive | ||
lore assert [--valid-from] | record a fact (journalled, supersedes) | ||
lore invalidate | close the current fact in a slot | ||
lore count [--predicate] [--group-by] [--since] | aggregate over fact history | ||
lore capture | append a timestamped line to lore/inbox.md | ||
lore dream [--apply] | consolidation pass + optional digest/review queue | ||
lore watch | reindex automatically as the vault changes | ||
lore mark-used [anchor] | reinforce a passage that proved useful | ||
| `lore graph export --format json\ | graphml\ | dot` | export the graph |
lore doctor | health check: broken links, integrity, coverage | ||
lore stats | vault statistics and top entities | ||
lore serve --mcp | start the MCP server on stdio |
// Claude Code: .mcp.json (or claude_desktop_config.json)
{ "mcpServers": { "loreweave": { "command": "npx", "args": ["--allow-scripts=better-sqlite3", "-y", "loreweave", "--vault", "/path/to/vault", "serve", "--mcp"] } } }
The --allow-scripts argument is for npm 12; Requirements explains it, and how to clear an install npx already made without it.
| Tool | What the agent gets |
|---|---|
lore_search | hybrid retrieval with provenance and temporal filters |
lore_context_pack | one-call session context: relevant passages + current facts + recent changes |
lore_read_note | full text of a note by path |
lore_assert_fact / lore_invalidate_fact | write/close facts — journalled, superseding, never destructive |
lore_query_facts | point-in-time fact queries (asOf, asKnownAt, history) |
lore_timeline | an entity's merged fact + prose chronology |
lore_resume | exactly what changed since the agent last connected |
lore_review | important-but-fading passages worth resurfacing |
lore_aggregate_facts | count/group-by over fact history |
lore_capture | append a timestamped line to the inbox |
lore_mark_used | reinforcement signal: this passage actually helped |
lore_propose_facts | extraction candidates for the agent to review and assert |
| lore_dream_report | the consolidation
只显示了开头部分;其余内容请在仓库中阅读