AI Skill Hub 强烈推荐:OpenLore 是一款优质的MCP工具。AI 综合评分 8.0 分,在同类工具中表现稳健。如果你正在寻找可靠的MCP工具解决方案,这是一个值得深入了解的选择。
OpenLore 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
OpenLore 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
# 方式一:通过 Claude Code CLI 一键安装
claude skill install https://github.com/clay-good/OpenLore
# 方式二:手动配置 claude_desktop_config.json
{
"mcpServers": {
"openlore": {
"command": "npx",
"args": ["-y", "openlore"]
}
}
}
# 配置文件位置
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Windows: %APPDATA%/Claude/claude_desktop_config.json
# 安装后在 Claude 对话中直接使用 # 示例: 用户: 请帮我用 OpenLore 执行以下任务... Claude: [自动调用 OpenLore MCP 工具处理请求] # 查看可用工具列表 # 在 Claude 中输入:"列出所有可用的 MCP 工具"
// claude_desktop_config.json 配置示例
{
"mcpServers": {
"openlore": {
"command": "npx",
"args": ["-y", "openlore"],
"env": {
// "API_KEY": "your-api-key-here"
}
}
}
}
// 保存后重启 Claude Desktop 生效
<p align="center"> <strong>Deterministic, local-first memory and guardrails for AI coding agents — with no LLM in the hot path.</strong><br> One call tells your agent the code a task touches; one gate tells it what's unsafe to change.<br> Grounded in static analysis. No API key. Same answer every time. </p>
<p align="center"> <a href="https://www.npmjs.com/package/openlore"><img src="https://img.shields.io/npm/v/openlore?color=2563eb&label=npm&logo=npm&logoColor=white" alt="npm version"></a> <a href="https://github.com/clay-good/OpenLore/actions/workflows/ci.yml"><img src="https://github.com/clay-good/OpenLore/actions/workflows/ci.yml/badge.svg" alt="CI status"></a> <a href="LICENSE"><img src="https://img.shields.io/npm/l/openlore?color=22c55e" alt="MIT License"></a> <img src="https://img.shields.io/node/v/openlore?color=339933&logo=node.js&logoColor=white" alt="Node >=22.19"> <br> <img src="https://img.shields.io/badge/MCP-ready-7c3aed?logo=anthropic&logoColor=white" alt="MCP ready"> <img src="https://img.shields.io/badge/languages-21%20%2B%2012%20IaC-f97316" alt="21 languages + 12 IaC ecosystems"> <img src="https://img.shields.io/badge/tests-5500%2B-success" alt="5500+ tests"> <img src="https://img.shields.io/badge/API_key-not_required-0ea5e9" alt="No API key required"> <a href="https://github.com/clay-good/OpenLore/stargazers"><img src="https://img.shields.io/github/stars/clay-good/OpenLore?style=social" alt="GitHub stars"></a> </p>
<p align="center"> <img src="docs/openlore-demo.gif" alt="An unedited terminal recording of the published openlore v2.1.6 on a fresh clone of ripgrep: openlore install wires the agent and indexes 235 files live in 14 seconds with no API key, openlore orient returns the functions a task touches, openlore review reports a changed signature that left 39 callers stale, and openlore prove --estimate projects the payoff on that repo" width="100%"> </p>
<p align="center"><em>A real, unedited recording — the published <code>openlore</code> on a fresh clone of <a href="https://github.com/BurntSushi/ripgrep">ripgrep</a>. <strong>install</strong> wires your agent and indexes the repo live — 235 files, 2,978 functions, 4,329 call edges in <strong>14 seconds</strong>, no API key → <strong>orient</strong> returns the code a task touches → <strong>review</strong> catches a signature change that left <strong>39 callers</strong> stale → <strong>prove</strong> projects the payoff. Re-record it yourself: <a href="docs/openlore-demo.tape"><code>docs/openlore-demo.tape</code></a>.</em></p>
<p align="center"> <strong><a href="#install-in-one-command">Install</a> · <a href="#what-you-get">What you get</a> · <a href="#value-scorecard--does-it-pay-for-itself">Benchmarks</a> · <a href="#governance">Governance</a> · <a href="#how-it-works">How it works</a> · <a href="#openlore-vs-alternatives">vs. Alternatives</a> · <a href="#documentation">Docs</a></strong> </p>
---
AI coding agents are powerful but amnesiac and ungoverned: every task restarts by re-reading the same files, long sessions drift onto stale assumptions, and nothing warns the agent when a change is about to break a contract or cross a boundary.
OpenLore fixes both halves. It runs a one-time static analysis of your repo and keeps a live knowledge graph — call structure, types, tests, decisions, IaC, spec drift. Your agent queries it to start every task already oriented and to certify a change before it lands. It's deterministic and local-first — no LLM in the hot path — so the same question always returns the same grounded answer, and the agent is told when a fact goes stale instead of served a confident guess.
Everything is deterministic and local; only the two entries marked "API key" ever talk to a model.
Analyze (no key) — Full call graph in SQLite, community detection, McCabe complexity, extracted DB schemas / HTTP routes / UI components / middleware / env vars. Outputs a ~600-token CODEBASE.md digest. The file watcher updates the graph incrementally on every save and converges to what analyze --force would produce; when a change exceeds the per-save budget, the un-recomputed files are marked explicitly stale, never silently divergent.
Drift (no key) — Compares git changes against spec mappings in milliseconds (Gap / Uncovered / Stale / ADR-gap). Installs as a pre-commit hook. → docs/drift-detection.md
Test-impact selection (no key) — select_tests walks the call graph backward from a change to every test that reaches it, with paths. An honest over-approximate prioritizer, not a replacement for the full suite. → docs/test-impact-selection.md
<details> <summary><strong>All the other tools</strong> — certificates, dead-code, invariants, coverage gaps, clones, error & env impact, coupling…</summary>
find_dead_code (no key) — cross-language mark-and-sweep, "what dies if I delete X?" Confidence-tagged candidates, never deletion authority. → docs/reachability-dead-code.mdchange_impact_certificate (no key) — certifies whether a diff newly opens a path into a declared surface (differential reachability), plus blast radius and tests. CLI: openlore impact-certificate.certify_public_surface (no key, opt-in) — breaking-change verdict per export, consumers named. Renamed exports detected via symbol-identity continuity. CLI: openlore certify-public-surface.check_architecture (no key) — enforces author-declared layer, boundary, dependency, cycle, reachability, orphan, and instability rules. → docs/architecture-invariants.mdverify_claim (no key, opt-in) — confirmed / refuted / unverifiable with a citation receipt, never an LLM guess.openlore enforce (no key, advisory) — the unified gate over all governance findings; one enforcement.policy maps each finding → blocking / frozen / advisory / off. → docs/configuration.mdrecord_decision before writing code; a pre-commit hook gates until reviewed. Decisions become decision:: nodes joined to the files they govern, so analyze_impact returns them as neighbors.orient() resets it.structural_diff (no key) — the structural complement to git diff: functions/edges added/removed, signature changes, and callers now stale. → docs/structural-diff.mdget_change_coupling (no key) — co-change coupling and churn from git. Advisory, correlation not causation. → docs/change-coupling.mdreport_coverage_gaps (no key, opt-in) — which load-bearing code has no test reaching it, ranked by significance. Never claims a symbol is "tested." → docs/coverage-gaps.mdget_style_fingerprint — a descriptive idiom profile so an agent matches the house style; a counter below the evidence floor reports null, never a guess.find_clones — the edit-time "does a near-duplicate already exist?" query (a symbol or raw snippet), ranked exact > structural > near.analyze_error_propagation — exceptions that escape vs. those caught (TS/JS/Python/Java/C#), or returned errors and panic/recover flow in Go; a sound lower bound.analyze_env_impact — "what breaks if I remove this env var?": read sites, upstream callers, tests, per-site required.briefing_since — the catch-up lens: changed symbols since a base ref, ranked into a fixed tier order.plan_parallel_work / map_in_flight_conflicts — a hazard-typed conflict graph over a task list, or over every in-flight branch/PR/agent-task (opt-in coordination preset).openlore export bundle → a portable .olbundle, openlore import bootstraps in seconds (validate-or-rebuild). → docs/shareable-bundle.md</details>
---
- Node.js 22.19+ (node:sqlite is available without runtime flags and all runtime dependencies support this floor). - No API key for analyze, drift, mcp, init, and every governance/navigation tool. - Provider access only for standalone generate, verify, and drift --use-llm. Agent-hosted Generate/Repair uses the connected host model and needs no additional OpenLore key:
export ANTHROPIC_API_KEY=sk-ant-... # default provider
export OPENAI_API_KEY=sk-... # OpenAI
export GEMINI_API_KEY=... # Google Gemini
…or use a CLI-based provider (codex-cli, claude-code, gemini-cli, antigravity-cli, mistral-vibe, cursor-agent) — no key, just the CLI on your PATH.
---
npm install -g openlore && openlore install
That one command auto-detects your agent (Claude Code, Cursor, Cline, Continue, Pi, AGENTS.md), wires it to call orient() automatically, registers the MCP server, and builds the index — no API key, no config, no questions. Then ask your agent:
orient("add a payment method")
…and it begins already knowing the relevant functions, their callers, matching specs, tests, and the risk of changing each — in a single call.
Zero config, everything discoverable. Core value needs no keys. Run openlore features to see every opt-in capability (embeddings, the commit gate, the spec store…), whether it's active, and the one command to turn it on.
---
npm install -g openlore
cd /path/to/your-project
openlore install # wire your agent — here and for every future repo — AND build the index
That single command auto-detects your agent surfaces and wires each to call orient(), registers the MCP server so it starts with your agent, builds the local BM25 index (no network), wires a non-blocking decision trail, and — for Claude Code — injects a bounded, ignorable orientation block before each new prompt so the common task begins already oriented. It also wires the user scope for agents that have one, so every git repository you open afterwards reaches OpenLore and builds its index in the background on first touch (git work trees only, disclosed once per repository, --repo-only to opt out). Nothing prompts you; nothing runs on npm install.
openlore install --no-analyze # wire surfaces only; build the index later
openlore install --dry-run # preview every change without writing
openlore doctor # verify config, index, MCP wiring, embeddings
openlore update # upgrade (detects npm / Homebrew / npx)
The MCP server keeps the index fresh as you edit (file watcher on by default; node_modules/, dist/, target/ pruned automatically). See docs/install.md.
Platform support: Linux and Windows are exercised in CI; macOS is supported. Agent launch configurations are generated for the host that runs openlore install; regenerate them after moving a configured workspace to another machine or changing its Node installation.
What it asks for — measured on a fresh clone of ripgrep with the published openlore@2.1.6 (npx openlore init && time npx openlore analyze && du -sh .openlore):
| What it costs | On ripgrep (232 files indexed) |
|---|---|
| **One-time index build** | **13.6 s**, entirely local — no API key, no network |
| **Disk** | **27 MB** under .openlore/ (gitignorable; always rebuildable from source) |
| **Per-query latency** | **~430 µs p50** in-process via the MCP server (a cold one-shot CLI call is ~2 s, mostly Node startup) |
| **Your source code** | never leaves the machine — no account, no telemetry (opt-in only), no hosted index |
| **Lock-in** | none — delete .openlore/ and nothing about your repo has changed |
Optional telemetry is enabled only with OPENLORE_TELEMETRY=1. It records tool calls, agent identity, latency, error messages, decision titles, and lease events. It stays in the repository's gitignored .openlore/telemetry/ directory, rotates locally, is never transmitted, and records filesystem locations in error/module fields as project-relative paths (or ~-relative paths). Optional LLM diagnostics are enabled only with OPENLORE_LLM_LOGS=1; they store prompts and responses after secret redaction in the local, gitignored .openlore/logs/ directory with owner-only log-file permissions on POSIX systems. Newly opted-in logging retains at most six files or 300 MB; logs left by older releases are pruned on the next opted-in save, or may be removed by deleting .openlore/logs/. Neither telemetry nor LLM logs are uploaded. Token-bearing daemon descriptors are written with owner-only 0o600 permissions on POSIX systems. Windows does not expose equivalent POSIX mode enforcement through Node; keep the workspace under a user-only ACL when using a daemon token there. Network-visible daemon binds require a token and a wildcard host (0.0.0.0 or ::); discovery and lifecycle probes remain loopback-only.
Large monorepos take minutes rather than seconds — stated plainly in Known Limitations.
<details> <summary>Optional pipeline, install from source, and Nix</summary>
openlore generate # standalone provider-backed generation (API key or supported local/host CLI)
openlore drift # detect spec/code drift (no API key)
openlore decisions # manage architectural decisions
Install from source:
git clone https://github.com/clay-good/openlore
cd openlore && npm install && npm run build && npm link
Nix / NixOS:
nix run github:clay-good/openlore -- analyze
nix shell github:clay-good/openlore
</details>
Migrating fromspec-gen? The package is nowopenlore— see docs/RENAME-TO-OPENLORE.md.
---
Everyone in this category answers the same first question: how does the agent see the codebase without reading it file by file? LSP toolkits answer with symbols, graph MCP servers with a parsed graph, search platforms with an index. All real answers, several of them good.
OpenLore answers it too — then keeps going into the second question almost nobody is answering: what happens when the agent starts writing? A retrieval layer makes an agent informed; it doesn't make it safe. Nothing in a symbol index tells you this diff opened a path into your auth boundary, this signature change breaks four consumers by name, or the fact your agent has used for 40 tool calls went stale 12 commits ago. That half — governance, on the same graph, no LLM in the loop — is what OpenLore was built for.
| Agent built-ins<br>*(Cursor, Claude Code)* | LSP toolkits<br>*(e.g. Serena)* | Graph MCP servers | Search platforms<br>*(e.g. Sourcegraph)* | **OpenLore** | |
|---|---|---|---|---|---|
| Structural context instead of file reads | ❌ grep + reads | ✓ symbols | ✓ parsed graph | ✓ index | ✓ call graph + **IaC + decisions on one graph** |
| Local, no API key, deterministic | Partial | ✓ | ✓ | ❌ hosted | ✓ no LLM in the hot path |
| Cross-session memory anchored to code | ❌ | Partial | ✓ notes | ❌ | ✓ **carried across renames**, self-invalidating |
| Told when a cached fact goes **stale** | ❌ | ❌ | ❌ | ❌ | ✓ Epistemic Lease |
| Blast radius + which tests to run | ❌ | ❌ | Partial | Partial | ✓ backward reachability, with paths |
| Breaking-change **verdict** over a diff | ❌ | ❌ | Partial | ❌ | ✓ per export, **consumers named** |
| "Did this diff open a path into a sensitive boundary?" | ❌ | ❌ | ❌ | ❌ | ✓ differential, pre-commit |
| Spec/code drift + ADRs gated at commit | ❌ | ❌ | ❌ | ❌ | ✓ milliseconds, no API key |
| Cost/round-trip effect **published with the losses** | ❌ | ❌ | ❌ | ❌ | ✓ −26% round-trips on deep tasks |
Where the others are the better pick — we'd rather you use the right tool than ours:
Comparisons reflect each project's publicly documented capabilities as of July 2026 and describe categories, not verdicts on quality; a correction PR is always welcome. OpenLore exports SCIP, so it sits alongside these tools rather than against them.
---
高质量的开源MCP工具,具有较强的实用价值
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
总体来看,OpenLore 是一款质量优秀的MCP工具,在同类工具中具备一定竞争力。AI Skill Hub 将持续追踪其更新动态,建议收藏备用,结合自身场景选择合适时机引入使用。
| 原始名称 | OpenLore |
| 原始描述 | 开源MCP工具:openlore provides persistent architectural memory for AI coding agents by turnin。⭐153 · TypeScript |
| Topics | mcpai-agentsai-codingtypescript |
| GitHub | https://github.com/clay-good/OpenLore |
| License | MIT |
| 语言 | TypeScript |
收录时间:2026-06-02 · 更新时间:2026-06-02 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端