一种模型上下文协议(MCP)服务器,可以帮助大型语言模型以最少的设置来索引、搜索和分析代码库。
1.4k 查看 · 2026-07-07 更新
简介
一种模型上下文协议(MCP)服务器,可以帮助大型语言模型以最少的设置来索引、搜索和分析代码库。
简介
一种模型上下文协议(MCP)服务器,可以帮助大型语言模型以最少的设置来索引、搜索和分析代码库。
Code Index MCP
Code Index MCP 是一个模型上下文协议(Model Context Protocol)服务器,它使大型语言模型(LLMs)能够索引、搜索和分析项目目录中的代码。
功能
- 索引并导航项目文件结构
- 在代码中搜索特定模式
- 获取详细的文件摘要
- 分析代码结构和复杂性
- 支持多种编程语言
- 项目设置的持久化存储
安装
此项目使用 uv 进行环境管理和依赖安装。
-
确保已安装 Python 3.10 或更高版本
-
安装 uv(推荐):
# Windows powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # macOS/Linux curl -LsSf https://astral.sh/uv/install.sh | sh -
获取代码:
# 克隆仓库 git clone https://github.com/your-username/code-index-mcp.git
使用
直接运行服务器
# Run directly with uv - no additional dependency installation needed uv run run.py
UV 将根据项目的配置自动处理所有依赖安装。
与 Claude Desktop 集成
您可以轻松地将 Code Index MCP 与 Claude Desktop 集成:
-
确保已安装 UV(请参见上面的安装部分)
-
查找或创建 Claude Desktop 配置文件:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS/Linux:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
-
添加以下配置(替换为您的实际路径):
对于 Windows:
{ "mcpServers": { "code-indexer": { "command": "uv", "args": [ "--directory", "C:\\Users\\username\\path\\to\\code-index-mcp", "run", "run.py" ] } } }对于 macOS/Linux:
{ "mcpServers": { "code-indexer": { "command": "uv", "args": [ "--directory", "/home/username/path/to/code-index-mcp", "run", "run.py" ] } } }注意:
--directory选项非常重要,因为它确保 uv 在正确的项目目录中运行,并能正确加载所有依赖。 -
重启 Claude Desktop 以使用 Code Indexer 分析代码项目
无需手动安装依赖项 - 当运行服务器时,UV 会自动处理所有依赖项。
基本工作流程
-
设置项目路径(必需的第一步):
- 首次使用时,必须设置要分析的项目路径
- 通过 Claude 命令:“我需要分析一个项目,帮我设置项目路径”
- 提供完整的项目目录路径
-
代码搜索:
- 搜索特定关键字或模式:“在项目中搜索‘函数名称’”
- 按文件类型过滤:“在所有 .py 文件中搜索‘import’”
-
文件分析:
- 分析特定文件:“分析文件 src/main.py”
- 获取文件摘要:“给我 utils/helpers.js 中的函数列表”
-
项目导航:
- 查看项目结构:“显示此项目的结构”
- 查找符合特定模式的文件:“查找所有 test_*.py 文件”
技术细节
持久化存储
所有索引和设置数据都存储在项目目录内的 .code_indexer 文件夹中:
config.json:项目配置信息file_index.pickle:文件索引数据content_cache.pickle:文件内容缓存
这确保了每次使用时不需要重新索引整个项目。
依赖管理与 UV
Code Index MCP 使用 UV 进行依赖管理,提供了几个优势:
- 根据项目需求自动解析依赖
- 更快的包安装和环境设置
- 通过锁定文件保持一致的依赖版本
支持的文件类型
目前支持以下类型的文件进行索引和分析:
- Python (.py)
- JavaScript/TypeScript (.js, .ts, .jsx, .tsx)
- Java (.java)
- C/C++ (.c, .cpp, .h, .hpp)
- C# (.cs)
- Go (.go)
- Ruby (.rb)
- PHP (.php)
- Swift (.swift)
- Kotlin (.kt)
- Rust (.rs)
- Scala (.scala)
- Shell (.sh, .bash)
- HTML/CSS (.html, .css, .scss)
- Markdown (.md)
- JSON (.json)
- XML (.xml)
- YAML (.yml, .yaml)
安全注意事项
- 文件路径验证防止目录遍历攻击
- 不允许访问绝对路径
- 必须显式设置项目路径,没有默认值
.code_indexer文件夹包含一个.gitignore文件,以防止索引数据被提交
贡献
欢迎通过问题或拉取请求贡献新功能或修复错误。
中文文档请参见 README_zh.md。
来源
- 来源:github
- 链接:https://github.com/johnhuang316/code-index-mcp