在 GitHub Copilot、Kiro 和其他兼容 MCP 的编辑器中使用 AI 驱动的语义搜索功能。
这是一个模型上下文协议(MCP)服务器,它使 AI 编辑器能够使用 Google 的 Gemini 嵌入和 Qdrant 向量存储来搜索和理解您的代码库。
支持的编辑器:
选择您的环境:
- VS Code 用户:按照以下步骤操作或参阅 Roo Cline 设置
- Copilot CLI 用户:参阅 Copilot CLI 设置指南
- Gemini CLI 用户:参阅 Gemini CLI 设置指南
- Kiro 用户:参阅 Kiro 设置指南
步骤 1:在 VS Code 中打开 MCP 配置
Ctrl+Alt+I / Cmd+Alt+I)步骤 2:将此配置添加到 mcp.json:
{
"servers": {
"codebase": {
"command": "npx",
"args": ["-y", "@ngotaico/mcp-codebase-index"],
"env": {
"REPO_PATH": "/绝对路径/到/你的项目",
"GEMINI_API_KEY": "AIzaSyC...",
"QDRANT_URL": "https://你的集群.gcp.cloud.qdrant.io:6333",
"QDRANT_API_KEY": "eyJhbGci..."
},
"type": "stdio"
}
}
}
步骤 3:重启 VS Code
服务器将自动:
📖 详细说明:
询问 GitHub Copilot:
"查找身份验证逻辑"
"展示数据库连接是如何处理的"
"错误日志在哪里实现?"
询问 GitHub Copilot:
"可视化我的代码库"
"展示我的代码是如何组织的"
"可视化身份验证代码"
<img width="2545" height="1273" alt="image" src="https://gips2.baidu.com/it/u=3628551120,1379239108&fm=3081&app=3_081&f=PNG?w=2545&h=1273" />
📖 完整指南: 向量可视化指南
"查看索引状态"
"显示详细的索引进度"
📖 更多示例: 测试指南
在2D/3D空间中查看您的代码库 - 通过视觉方式了解语义关系和代码组织。
向量可视化将您代码库的 768维嵌入 转换为使用UMAP降维的交互式 2D或3D可视化。这允许您:
可视化整个代码库:
用户:"可视化我的代码库"
结果:交互式聚类显示:
- API 控制器及路由 (28%)
- 数据库模型 (23%)
- 身份验证 (19%)
- 业务逻辑 (18%)
- 测试套件 (12%)
导出为HTML:
用户:"导出可视化为HTML"
结果:独立的HTML文件包含:
- 交互式悬停、缩放、平移
- 点击聚类以高亮显示
- 现代渐变UI
- 离线可用
<!-- PLACEHOLDER: 插入HTML导出UI的截图 -->
颜色和聚类:
常见的聚类模式:
🏗️ 架构理解
🔍 代码发现
🐛 搜索调试
👥 团队入职
✅ 重构验证
| 集合大小 | 处理时间 | 推荐最大向量数 |
|---|---|---|
| 小型 (<500 向量) | ~1秒 | 500 |
| 中型 (500-2K) | ~4秒 | 1000 |
| 大型 (2K-10K) | ~15秒 | 2000 |
| 非常大型 (>10K) | ~30秒 | 3000 |
技巧:
包括详细文档:
参见: 向量可视化指南
简而言之: 提示增强是一种透明的后台工具,自动提高搜索质量。只需自然地提问——无需在提示中提到“增强”。
启用后 (PROMPT_ENHANCEMENT=true),AI 自动:
✅ "查找身份验证逻辑并添加双因素认证支持"
✅ "定位支付流程并解决超时问题"
✅ "搜索个人资料功能并添加生物信息字段"
为什么这些有效: 明确的目标(查找 + 行动)→ AI知道该做什么
❌ "增强并搜索身份验证"
❌ "使用提示增强来查找个人资料"
为什么这些无效: 没有明确的行动 → AI在搜索后停止
提示增强是隐形基础设施。
只告诉AI您想完成什么。它会自动在幕后使用增强来提高搜索质量。
把它想象成自动完成功能: 您不需要说“使用自动完成功能”——您只需输入,它就会自动帮助您。
包括详细指南:
参见: 提示增强指南
{
"env": {
"REPO_PATH": "/Users/you/Projects/myapp",
"GEMINI_API_KEY": "AIzaSyC...",
"QDRANT_URL": "https://xxx.gcp.cloud.qdrant.io:6333",
"QDRANT_API_KEY": "eyJhbGci..."
}
}
{
"env": {
"QDRANT_COLLECTION": "my_project",
"WATCH_MODE": "true",
"BATCH_SIZE": "50",
"EMBEDDING_MODEL": "text-embedding-004",
"PROMPT_ENHANCEMENT": "true"
}
}
📖 完整配置指南: 设置指南
Python • TypeScript • JavaScript • Dart • Go • Rust • Java • Kotlin • Swift • Ruby • PHP • C • C++ • C# • Shell • SQL • HTML • CSS
| 指标 | 值 |
|---|---|
| 索引速度 | ~25个文件/分钟 |
| 搜索延迟 | <100毫秒 |
| 增量节省 | 节省90%以上时间 |
| 并行处理 | 25个块/秒 |
📖 性能详情: 主要文档
REPO_PATH 是绝对路径curl -H "api-key: YOUR_KEY" \
https://YOUR_CLUSTER.gcp.cloud.qdrant.io:6333/collections
📖 更多故障排除: 主要文档
mcp-codebase-index/
├── docs/ # 所有文档
│ ├── README.md # 主文档
│ ├── SETUP.md # 设置指南
│ ├── CHANGELOG.md # 版本历史
│ ├── NAVIGATION.md # 导航指南
│ ├── guides/ # 详细指南
│ └── planning/ # 开发规划
│
├── src/ # 源代码
│ ├── core/ # 核心业务逻辑
│ ├── storage/ # 数据持久化
│ ├── enhancement/ # 提示增强
│ ├── visualization/ # 向量可视化
│ ├── mcp/ # MCP 服务器
│ │ ├── server.ts # 服务器编排 (1237行)
│ │ ├── handlers/ # 模块化处理器 (1045行)
│ │ ├── templates/ # HTML模板
│ │ └── types/ # 处理器类型
│ ├── types/ # 类型定义
│ └── index.ts # 入口点
│
├── config/ # 配置文件
├── .data/ # 运行时数据 (gitignored)
├── package.json
└── README.md # 此文件
npm run build
npm run dev
npm test
📖 开发指南: 源码结构
欢迎贡献!查看:
MIT © NgoTaiCo
**⭐ 如果您觉得