关于 Code Index MCP
Code Index MCP 是面向 LLM 的服务,可为项目目录建立索引,并支持代码搜索与分析。它支持多种编程语言,并在本地保存索引数据以供复用。
主要功能
- 01为项目文件建立索引并导航
- 02按代码模式和文件类型搜索
- 03总结文件与代码结构
- 04分析代码复杂度
- 05支持多种编程语言
- 06持久保存索引和项目设置
适用场景
- 01探索陌生项目的目录结构
- 02按文件类型查找代码模式
- 03查看源文件中的函数
- 04分析代码结构与复杂度
MCP 相关
该 MCP 服务向 MCP 客户端提供项目索引、代码搜索、导航和分析能力。必须显式设置项目路径。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Code Index MCP
Code Index MCP 是一个 Model Context Protocol 服务,可让大模型(LLM)为项目目录中的代码建立索引、进行搜索和分析。
功能
- 为项目文件结构建立索引并进行导航
- 搜索代码中的特定模式
- 获取详细的文件摘要
- 分析代码结构和复杂度
- 支持多种编程语言
- 持久化存储项目设置
安装
本项目使用 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 -
获取代码:
# Clone the repository 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 命令:「我需要分析一个项目,请帮我设置项目路径」
- 提供完整的项目目录路径
-
代码搜索:
- 搜索特定关键字或模式:「在项目中搜索 'function name'」
- 按文件类型筛选:「在所有 .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文件,可防止索引数据被提交
贡献
欢迎通过提交 issue 或 pull request 来添加新功能或修复错误。
如需查看中文文档,请参阅 README_zh.md。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。