CodeInteliMCP-智能代码分析服务器
一种先进的MCP(模型上下文协议)服务器,它将树保姆解析与图形数据库和向量搜索相结合,在多个存储库中实现闪电般快速的代码智能。
🚀 特性
- 多存储库支持:同时管理和分析多个代码库
- 即时使用情况搜索:查找函数/类的使用位置(以毫秒为单位)
- 语义代码搜索:使用向量嵌入查找类似的代码模式
- 相关性分析:可视化和查询代码依赖关系
- 影响分析:看看当你改变一些东西时,会发生什么
- 自动索引:编写代码时智能增量更新
- 多语言支持:Python、JavaScript、TypeScript、Go、Rust等
🏗 建筑
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Claude Code │────▶│ MCP Server │────▶│ Tree-sitter │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│ │
▼ ▼
┌──────────────┐ ┌────────────────┐
│ DuckDB │ │ ChromaDB │
│ (Graph) │ │ (Vectors) │
└──────────────┘ └────────────────┘🎯 核心能力
1.图形查询(通过DuckDB)
- 函数调用关系
- 导入依赖关系
- 类继承树
- 可变使用情况跟踪
2.矢量搜索(通过ChromaDB)
- 语义代码相似性
- 自然语言代码搜索
- 模式检测
- 代码重复查找
3.实时分析(通过Tree sitter)
- 按需解析
- 语法验证
- 代码结构分析
- AST操纵
🚦 快速开始
自动设置(推荐)
# Clone the repository
git clone https://github.com/rahulvgmail/CodeInteliMCP.git
cd CodeInteliMCP
# Run the setup script
python setup_for_claude.py安装脚本将:
- 安装所有依赖项
- 配置Claude桌面/代码
- 创建数据目录
- 设置环境变量
手动设置
# Install dependencies
pip install mcp duckdb chromadb sentence-transformers aiofiles
pip install tree-sitter tree-sitter-python tree-sitter-javascript
# Add to Claude Desktop config (~/.config/claude/claude_desktop_config.json):
{
"mcpServers": {
"code-intelligence": {
"command": "python",
"args": ["/path/to/CodeInteliMCP/code_intelligence_mcp/server_minimal.py"],
"env": {
"CODE_INTEL_PROJECT_ROOT": "/path/to/your/project"
}
}
}
}🛠️ 可用工具
此MCP服务器提供以下工具:
库管理
add_repository-添加要跟踪的新存储库
- name (字符串,必填):存储库名称 - path (字符串,必填):存储库路径 - description (字符串,可选):存储库描述 - make_active (布尔值,可选):设置为活动存储库
list_repositories-列出所有跟踪的存储库
set_active_repository-为操作设置活动存储库
- name (字符串,必填):要激活的存储库名称
index_repository-为整个存储库建立索引
- repository_name (字符串,必填):要索引的存储库名称 - include_patterns (字符串,可选):要包含的逗号分隔的文件模式 - exclude_patterns (字符串,可选):要排除的逗号分隔的文件模式
代码分析
index_file-将单个文件索引到代码图中
- file_path (string,必填):要索引的文件的路径
find_symbol-按名称查找符号
- name (字符串,必填):要搜索的符号名称 - file_path (字符串,可选):将搜索限制到特定文件
find_usages-查找符号的所有用法
- name (string,必填):用于查找用法的符号名称 - file_path (字符串,可选):将搜索限制到特定文件
semantic_search-使用语义相似性搜索代码
- query (字符串,必填):自然语言搜索查询 - limit (整数,可选):最大结果数(默认值:10) - symbol_types (字符串,可选):以逗号分隔的要筛选的符号类型列表
find_similar_code-查找与给定符号类似的代码
- symbol_name (字符串,必填):参考符号名称 - file_path (字符串,可选):包含引用符号的文件
系统工具
test_connection-测试服务器是否正常工作
get_index_stats-获取当前索引统计信息
get_vector_stats-获取矢量存储统计信息
📖 使用示例
配置后,在Claude中使用这些工具:
# Add a new repository
add_repository(name="my-app", path="/path/to/my-app", description="Main application")
# Index the repository
index_repository(repository_name="my-app", include_patterns="**/*.py,**/*.js")
# Search for authentication functions
semantic_search(query="authentication and login functions", limit=20)
# Find where a class is used
find_usages(name="UserService")
# Find similar implementations
find_similar_code(symbol_name="login_user")📚 文档
📊 绩效目标
- 初始索引:100k LOC小于1分钟
- 增量更新:每个文件\<1秒
- 使用查询:\<50ms
- 语义搜索:\<200ms
