回购镜头MCP服务器
面向开发人员的跨存储库代码智能。
](https://www.npmjs.com/package/repo-lens-mcp)    
*在所有本地JS/TS和PHP存储库中搜索函数、类和API路由,而无需切换上下文。*
______________________________________________________________________
为什么使用这个?
问题: 您正在前端回购中工作,需要找到后端API端点。或者,您正在调试,需要找到在monorepo中定义函数的位置。使用Claude Code,您可以搜索当前的存储库,但您的其他本地项目呢?
解决方案: Repo Lens允许您在YAML配置文件中声明一次存储库,或临时搜索任何目录,并使用基于AST的结构搜索同时搜索所有存储库。在不离开当前上下文的情况下,找到所需的确切函数签名、类定义或API路由。
用例
- 前端+后端开发: 在前端回购中工作时搜索后端API路由
- PHP+JS/TS项目: 在TypeScript类型旁边查找PHP类、特征和接口
- 微服务架构: 跨多个服务查找函数定义
- Monorepo导航: 在不切换目录的情况下跨包搜索
- 代码探索: 了解生态系统中的不同项目是如何连接的
______________________________________________________________________
快速入门
npx repo-lens-mcp______________________________________________________________________
主要特点
基于AST的智能
与grep风格的文本搜索不同,Repo Lens使用 ast grep (用Rust编写)将代码解析为抽象语法树:
- 结构精度: 区分
class User和const User - 出口意识: 仅查找导出函数,或包含私有函数
- 签名提取: 获取完整的函数签名,而不仅仅是名称
零摩擦搜索
使用以下命令立即搜索任何目录 paths 参数--无需配置:
- 将目录路径直接传递给任何搜索工具
- 在中声明持久存储库
repolens.yaml带有可重复使用的别名 - 混合使用:在同一查询中注册存储库+临时路径
多存储库搜索
声明一次存储库并一次搜索所有存储库:
- 静态YAML配置——声明一次,始终搜索
- 按存储库别名筛选或搜索全部
- 结果包括存储库上下文
API路由发现
在Express、NestJS、Fastify和Laravel项目中映射所有API端点。发现 /users/:id 端点(秒)。
______________________________________________________________________
安装
克劳德桌面/VS代码(推荐)
将此添加到您的 claude_desktop_config.json (或VS代码MCP设置):
{
"mcpServers": {
"repo-lens": {
"command": "npx",
"args": ["-y", "repo-lens-mcp", "--config", "/home/user/repolens.yaml"]
}
}
}重启克劳德,你就可以走了。
本地开发
git clone https://github.com/YohannHommet/repo-lens-mcp.git
cd repo-lens-mcp
pnpm install
pnpm build
pnpm dev______________________________________________________________________
配置
配置文件(repolens.yaml)
创建一个声明存储库的YAML配置文件:
# repolens.yaml
repositories:
- path: ~/projects/backend-api
alias: backend
- path: ~/projects/frontend-app
alias: frontend
- path: ~/projects/shared-lib~ 会自动扩展到您的主目录。
配置路径解析
- **`--config
`** CLI参数(显式--如果找不到文件则失败)
- 违约:
~/.config/repo-lens-mcp/repolens.yaml(graceful--如果未找到,则返回空,ad-hoc路径仍然有效)
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
MCP_LOG_LEVEL | info | 日志级别: debug, info, warn, error |
例子:
{
"env": {
"MCP_LOG_LEVEL": "debug"
}
}______________________________________________________________________
能力
存储库列表(1个工具)
| 工具 | 说明 |
|---|---|
repolens_list_repositories | 列出所有已配置的存储库(只读) |
符号搜索(3个工具)
基于AST的结构化搜索,由AST grep提供支持。支持 JavaScript/TypeScript 和 PHP (类、特征、接口、枚举、函数、方法、常量):
| 工具 | 说明 |
|---|---|
repolens_find_functions | 在JS/TS和PHP中查找函数/方法定义(支持通配符,如 handle*) |
repolens_find_classes | 查找类定义(也查找PHP特征) |
repolens_find_types | 查找接口和类型别名(PHP:仅限接口) |
所有搜索工具都接受:
paths--要搜索的临时目录路径(逗号分隔,无需注册)repoFilter--按别名筛选已注册的存储库
API路线发现(1个工具)
| 工具 | 说明 |
|---|---|
repolens_find_api_routes | 跨越Express、NestJS、Fastify、Laravel映射API端点 |
______________________________________________________________________
使用示例
1.搜索任何目录(无配置)
“在我的后端中查找以'handle'开头的所有函数”
repolens_find_functions(paths: "/home/user/projects/backend", name: "handle*")2.列出已配置的存储库
“有哪些可用的仓库?”
repolens_list_repositories()3.查找API端点
“查找处理POST请求/登录的Express路由”
repolens_find_api_routes(repoFilter: "backend", method: "POST", pathPattern: "/login")4.找到一个特定的类
“UserService类在哪里定义?”
repolens_find_classes(name: "UserService")______________________________________________________________________
文本搜索/文件操作呢?
Repo Lens专注于 基于AST的多存储库搜索。对于当前存储库中的文本搜索和文件操作,请使用Claude Code的内置工具(Grep、Read、Glob),这些工具针对单个存储库使用进行了优化。
这种分离使Repo Lens保持快速,并专注于它最擅长的领域:跨存储库结构代码智能。
______________________________________________________________________
许可证
AGPL-3.0
这个软件是免费使用的。如果修改和分发它(或将其作为网络服务运行),则必须在相同的许可证下共享源代码。
______________________________________________________________________
Built with care by Yohann Hommet
