代码库智能MCP服务器
一种生产级模型上下文协议(MCP)服务器,提供跨多种编程语言的高级代码智能功能。采用云原生架构构建,集成6个托管服务,实现可扩展性和可靠性。
特性
- 🔍 语义代码搜索 -使用Qdrant Cloud在100000多个文件中进行基于矢量的搜索
- 🕸️ 相关性分析 -Neo4j Cloud基于图的依赖关系跟踪
- 📊 代码度量 -圈复杂度、可维护性指数等
- 🔄 重复检测 -AST和基于语义的代码克隆检测
- 📝 自动文档 -从代码生成API文档
- 🎯 重构建议 -人工智能驱动的代码改进建议
- 💬 自然语言问答 -用简单的英语询问有关代码库的问题
- 🌳 调用图分析 -可视化函数调用关系
此MCP工具可以回答的问题(请参阅 问题.md 文件)
支持的语言
- JavaScript/TypeScript
- python
- Java
- 去
建筑
该系统集成了6个云服务,以实现生产级性能:
- Qdrant云 -语义代码查询的矢量搜索
- Neo4j AuraDB -用于依赖性分析的图形数据库
- Neon PostgreSQL -用于元数据和指标的无服务器数据库
- Upstash Redis -分布式缓存层
- HuggingFace推论API -代码嵌入生成
- 渲染 -具有自动扩展功能的部署平台
快速开始
先决条件
- Python 3.11+
- 云服务帐户(请参阅 云设置)
安装
# Clone the repository
git clone https://github.com/yourusername/codebase-intelligence-mcp.git
cd codebase-intelligence-mcp
# Install dependencies
pip install -r requirements.txt
# Copy environment template
cp .env.example .env
# Edit .env with your cloud service credentials云设置
- Qdrant云:在以下位置创建集群 cloud.qdrant.io (免费套餐:1GB)
- Neo4j AuraDB:在以下位置创建实例 neo4j.com/cloud/aurafree
- 霓虹:在以下位置创建数据库 新技术 (免费版:0.5GB)
- Upstash Redis:在以下位置创建数据库 upush.com (免费等级:10k命令/天)
- 拥抱脸:在获取API令牌 huggingface.co/settings/tokens
本地运行
# Start in stdio mode (for Cursor/Claude Desktop)
python -m src.server --mode stdio
# Start in HTTP mode (for testing)
python -m src.server --mode http --port 10000与Cursor/Claude桌面一起使用
添加到MCP配置中:
{
"mcpServers": {
"codebase-intelligence": {
"command": "python",
"args": ["-m", "src.server", "--mode", "stdio"],
"cwd": "/path/to/codebase-intelligence-mcp",
"env": {
"QDRANT_URL": "your-qdrant-url",
"QDRANT_API_KEY": "your-api-key",
...
}
}
}
}MCP工具
1. index_codebase
为智能代码分析目录建立索引。
{
"path": "/path/to/codebase",
"languages": ["python", "typescript"],
"exclude_patterns": ["node_modules", "*.test.ts"]
}2. semantic_search
按含义搜索代码,而不仅仅是文本。
{
"query": "authentication middleware",
"language_filter": "typescript",
"top_k": 10
}3. analyze_dependencies
生成依赖关系图并检测循环依赖关系。
{
"path": "/path/to/module",
"language": "python",
"depth": 3
}4. compute_metrics
计算代码复杂性和质量指标。
{
"file_path": "/path/to/file.py"
}5. detect_duplicates
在代码库中查找重复和相似的代码。
{
"path": "/path/to/codebase",
"similarity_threshold": 0.85
}6. generate_docs
从代码自动生成文档。
{
"path": "/path/to/module",
"format": "markdown"
}7. suggest_refactorings
获取基于AI的重构建议。
{
"file_path": "/path/to/file.py"
}8. ask_codebase
用自然语言查询你的代码库。
{
"question": "How does authentication work?",
"top_k": 5
}9. get_call_graph
为函数生成调用图。
{
"function_name": "authenticate_user",
"max_depth": 2
}10. find_symbol
查找符号定义和用法。
{
"symbol_name": "UserService",
"symbol_type": "class"
}部署
部署以渲染
- 将代码推送到GitHub
- 将Render连接到存储库
- 在Render仪表板中添加环境变量
- 推送到主服务器时自动部署
看 docs/deployment.md 详细说明。
发展
# Install development dependencies
pip install -r requirements-dev.txt
# Run tests
pytest
# Format code
black src/ tests/
ruff check src/ tests/
# Type check
mypy src/演出
- 在5分钟内索引10k个文件
- 语义搜索响应\<500ms
- 1k文件的依赖关系图\<2s
- 100k文件的内存使用率\<2GB
- 支持10+并发客户端
成本估算
发展:0美元(所有服务都有慷慨的免费等级)
生产(10万个文件):
- Qdrant Cloud:每月25美元
- Neo4j AuraDB:65美元/月
- Neon PostgreSQL:每月10美元
- 升级版Redis:每月10美元
- HuggingFace API:约20美元/月
- 渲染:每月7美元
- 总计:约137美元/月
许可证
MIT许可证-请参阅 许可证 了解详情。
贡献
欢迎投稿!请先阅读我们的投稿指南。
支持
- 文档: docs/
- 问题:
- 讨论:
