sverklo/sverklo

GitHub: sverklo/sverklo

Sverklo是一个本地优先的代码智能MCP服务器,通过语义搜索、PageRank符号图和影响分析,为AI编码助手提供准确的代码上下文,防止幻觉并提升代码审查质量。

Stars: 24 | Forks: 4

sverklo

🇬🇧 English · 🇨🇳 中文

**唯一发布了基准测试和可复现评估工具的代码智能 MCP。** 本地优先的 MCP 服务器,为 Claude Code、Cursor、Windsurf 和 Zed 提供真正的符号图、影响范围透镜和固定于 git 的记忆——让 agent 停止猜测。MIT 协议。零配置。您的代码绝不会离开本机。 [论文 (Zenodo, CC BY 4.0)](https://doi.org/10.5281/zenodo.19802051) · [基准:基础](https://sverklo.com/bench/) — **比原始 grep 少用 62 倍的 token**,比调优过的 grep 少用 2.9 倍,单次工具调用 vs grep 的 7-12 次 (n=60) · [基准:swe](https://sverklo.com/blog/bench-swe-first-results/) — 在 5 个开源仓库的测试中达到 38/65 的完美召回率,包括我们落后的测试用例。 ### 一键安装 [![在 Claude Code 中安装](https://img.shields.io/badge/Claude_Code-Install_Plugin-CC785C?style=for-the-badge&logoColor=white)](#claude-code) [![在 Cursor 中安装](https://img.shields.io/badge/Cursor-Install_MCP-F14C28?style=for-the-badge&logo=cursor&logoColor=white)](cursor://anysphere.cursor-deeplink/mcp/install?name=sverklo&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsInN2ZXJrbG8iXX0=) [![在 VS Code 中安装](https://img.shields.io/badge/VS_Code-Install_MCP-0098FF?style=for-the-badge&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=sverklo&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22sverklo%22%5D%7D) [![在 VS Code Insiders 中安装](https://img.shields.io/badge/VS_Code_Insiders-Install_MCP-24bfa5?style=for-the-badge&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=sverklo&config=%7B%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22sverklo%22%5D%7D&quality=insiders) [![在 Windsurf 中安装](https://img.shields.io/badge/Windsurf-sverklo_init-09B6A2?style=for-the-badge&logoColor=white)](#windsurf--zed--vs-code--jetbrains) [![npm 版本](https://img.shields.io/npm/v/sverklo.svg?color=E85A2A)](https://www.npmjs.com/package/sverklo) [![npm 下载量](https://img.shields.io/npm/dw/sverklo.svg?color=E85A2A)](https://www.npmjs.com/package/sverklo) [![许可证: MIT](https://img.shields.io/badge/license-MIT-E85A2A.svg)](LICENSE) [![已审计仓库](https://img.shields.io/badge/audited_repos-47-E85A2A)](https://sverklo.com/report) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.19802051.svg)](https://doi.org/10.5281/zenodo.19802051) [![GitHub 星标](https://img.shields.io/github/stars/sverklo/sverklo?style=social)](https://github.com/sverklo/sverklo/stargazers) ![Sverklo 将 agent 上下文减少 65%,对比 grep — bench:primitives,60 个检索任务,可同行评审](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/4b30b848fb233612.png) [![观看 90 秒演示:终端 + Claude Code MCP 集成](https://i.ytimg.com/vi/OX7aEgdlqhQ/maxresdefault.jpg)](https://www.youtube.com/watch?v=OX7aEgdlqhQ) ![Sverklo 演示 — 审计与徽章](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/f79ab08644233613.gif) ## 为什么需要它 您的 AI agent 编辑了 `UserService.validate()`。它不知道还有另外 47 个函数在调用它。它幻觉出了 `getUserByEmail()`,因为它的训练数据里是这么写的——但您的代码使用的是 `findByEmail()`。它忘记了您昨天做出的设计决策,因为上下文被压缩了。测试通过了,因为它们模拟(mock)了依赖项。破坏性变更就这样被发布了。 Sverklo 在 agent 行动之前就深入分析您的代码库——符号图、影响范围、语义召回和固定于 git 的记忆——让 agent 能够对*您的*代码进行推理,而不是从训练数据中进行模式匹配。
37
个您的 agent 可用的 MCP 工具
< 1 秒
每次编辑后的增量刷新
0 字节
您的代码离开本机
``` npm install -g sverklo cd your-project && sverklo init ``` 就是这样。`sverklo init` 会自动检测您安装的 AI 编码 agent(Claude Code、Cursor、Windsurf、Zed),写入正确的 MCP 配置,如果存在 `AGENTS.md` 则将指令追加到其中(否则追加到 `CLAUDE.md`),并运行 `sverklo doctor` 来验证设置。支持 macOS、Linux 和 Windows。**无需 API 密钥。无需连接云端。默认关闭遥测。** **想在安装前看证据?** 浏览 [/报告排行榜](https://sverklo.com/report)——Sverklo 对 47 个热门开源仓库(express、react-hook-form、vite、lodash、prisma 等)的审计,包含死代码、循环依赖、耦合和安全性的评分卡。 ## "但这难道不只是……?" 您可能见过一些看起来很相似的工具。以下是一段诚实的简短回答,并附有详细的对比链接。 **……只是多了几个步骤的 grep?** 不,但调优过的 grep 在 F1 分数上确实很有竞争力。在 [60 项任务基准测试](https://sverklo.com/bench/)中,调优过的 grep 在 F1 上比 sverklo 高出 9 个点。但 Sverklo 在输入 token 数量上以 62 倍的优势获胜,在工具调用次数上以 7-12 倍的优势获胜。对于处于 200K 上下文窗口中的 AI agent 来说,这才是关键的承载轴。对于终端前的人类来说,智能 grep 就足够了。 **……只是 Sourcegraph Cody?** 相同的检索面(混合 BM25 + 向量 + 图),不同的部署模型和许可证。Cody 是“源码可见”的,采用面向企业的按开发者定价($9-19/开发者/月);sverklo 是 MIT 协议的,在笔记本电脑上运行,无需注册。[完整对比 →](https://sverklo.com/vs/sourcegraph-cody/) **……只是 Greptile?** Greptile 是一个托管的 PR 审查机器人($30/开发者/月)。Sverklo 是本地优先的 MCP。相同的风险评分目标,相反的部署模型。如果出于合规原因您的代码不能离开本机,Greptile 不是一个选项。[完整对比 →](https://sverklo.com/vs/greptile/) **……只是 Cursor 的 @codebase?** Cursor 的索引是基于云的且绑定编辑器。Sverklo 作为 MCP 服务器与 Cursor 并行运行,添加了 Cursor 的 @codebase 未暴露的符号图、影响范围和双时态记忆。[完整对比 →](https://sverklo.com/vs/cursor-codebase/) **……只是 Claude Context (Zilliz)?** Claude Context 需要一个 Milvus 数据库。Sverklo 完全运行在嵌入式 SQLite 上——无需管理额外的服务。[完整对比 →](https://sverklo.com/vs/claude-context/) **……只是 Aider 的 repo-map?** Aider 的 repo-map 是系统提示中的一个静态信号——对小型仓库没问题,但扩展到大约 100 个文件以上就不行了。Sverklo 是 Aider 可以通过 MCP 调用的可查询检索层,适用于更大的代码库。它们是互补的,而不是竞争的。[完整对比 →](https://sverklo.com/vs/aider/) **……一个小众的记忆 MCP?** 大多数记忆 MCP 是围绕外部向量数据库的封装。Sverklo 的记忆是双时态的(`valid_from_sha`、`valid_until_sha`、`superseded_by`)并固定在 git SHA 上,所以你可以问“在提交 `abc123` 时,这个团队对认证有什么看法?”并得到在*当时*是真实的答案。[完整对比 vs codebase-memory-mcp →](https://sverklo.com/vs/codebase-memory-mcp/) **……那 Aider、Continue、Codex CLI、Claude Code 呢?** 那些都是*agent*——它们生成并应用编辑。Sverklo 是 agent 在编写代码之前调用的*检索层*。请同时使用两者。[`sverklo init` 会自动检测您拥有的 agent →](#works-with-every-mcp-editor) 如果这里缺少了您想问的内容,请[创建一个 Issue](https://github.com/sverklo/sverklo/issues)——我会把它加上。 ## 0.20 版本更新内容 - **双时态记忆层上的矛盾检测。** `sverklo_memories mode:"conflicts"` 会找出共享固定点(文件路径或符号名)且可能存在矛盾的活跃记忆对——例如,“JWT 在 middleware 中”与“JWT 在路由处理器中”都固定在 `src/auth.ts` 上。仅限于 decision/preference/pattern 类别(procedural/context 是累加的,不产生矛盾)。跳过相同 SHA 的记忆对。按共享固定点数量和存在时间排序。设计上偏保守:只展示供 agent 或人工审查的*候选*,不自动解决。双时态模型已经保留了矛盾双方的记忆;这只是让它们变得可被检索。 ## 0.19 版本更新内容 - **C# (.cs) 语言支持** — 由社区成员 [@NerdChieftain](https://github.com/NerdChieftain) 在 [#22](https://github.com/sverklo/sverklo/pull/22) 中贡献。支持 Tree-sitter(需安装语法包)以及基于正则表达式的备用解析器。可索引命名空间(块作用域 + C# 10+ 文件作用域)、类、结构体、记录(普通 / `record class` / `record struct`)、接口、枚举、方法、构造函数和 `using` 指令。在安装集中添加了 `tree-sitter-c-sharp@0.23.5` WASM 语法。**Sverklo 现已支持 12 种语言。** ## 0.18 版本更新内容 - **Vue.js (.vue) 支持。** 单文件组件现在是一等公民:`