# 代码索引MCP
## 基本信息
- Slug: `johnhuang316-code-index-mcp`
- Source: modelscope
- Publisher: @johnhuang316/code-index-mcp
- Categories: version-control / developer-tools / search
- Hosted: No
- License: MIT License
- Source URL: https://www.modelscope.cn/mcp/servers/@johnhuang316/code-index-mcp
## 简介
一种模型上下文协议（MCP）服务器，可以帮助大型语言模型以最少的设置来索引、搜索和分析代码库。
## 安装提示

```bash
# Windows powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # macOS/Linux curl -LsSf https://astral.sh/uv/install.sh | sh ``` 3. 获取代码： ```bash # 克隆仓库 git clone https://github.com/your-username/code-index-mcp.git
```

## MCP Server 详情

# Code Index MCP

Code Index MCP 是一个模型上下文协议（Model Context Protocol）服务器，它使大型语言模型（LLMs）能够索引、搜索和分析项目目录中的代码。

## 功能

- 索引并导航项目文件结构
- 在代码中搜索特定模式
- 获取详细的文件摘要
- 分析代码结构和复杂性
- 支持多种编程语言
- 项目设置的持久化存储

## 安装

此项目使用 uv 进行环境管理和依赖安装。

1. 确保已安装 Python 3.10 或更高版本
2. 安装 uv（推荐）：

   ```bash
   # Windows
   powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
   # macOS/Linux
   curl -LsSf https://astral.sh/uv/install.sh | sh
   ```
3. 获取代码：

   ```bash
   # 克隆仓库
   git clone https://github.com/your-username/code-index-mcp.git
   ```

## 使用

### 直接运行服务器

```bash
# Run directly with uv - no additional dependency installation needed
uv run run.py
```


UV 将根据项目的配置自动处理所有依赖安装。

### 与 Claude Desktop 集成

您可以轻松地将 Code Index MCP 与 Claude Desktop 集成：

1. 确保已安装 UV（请参见上面的安装部分）
2. 查找或创建 Claude Desktop 配置文件：

   - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
   - macOS/Linux: `~/Library/Application Support/Claude/claude_desktop_config.json`
3. 添加以下配置（替换为您的实际路径）：

   **对于 Windows**：

   ```json
   {
     "mcpServers": {
       "code-indexer": {
         "command": "uv",
         "args": [
            "--directory",
            "C:\\Users\\username\\path\\to\\code-index-mcp",
            "run",
            "run.py"
          ]
       }
     }
   }
   ```

   **对于 macOS/Linux**：

   ```json
   {
     "mcpServers": {
       "code-indexer": {
         "command": "uv",
         "args": [
            "--directory",
            "/home/username/path/to/code-index-mcp",
            "run",
            "run.py"
          ]
       }
     }
   }
   ```

   **注意**：`--directory` 选项非常重要，因为它确保 uv 在正确的项目目录中运行，并能正确加载所有依赖。
4. 重启 Claude Desktop 以使用 Code Indexer 分析代码项目

无需手动安装依赖项 - 当运行服务器时，UV 会自动处理所有依赖项。

### 基本工作流程

1. **设置项目路径**（必需的第一步）：

   - 首次使用时，必须设置要分析的项目路径
   - 通过 Claude 命令：“我需要分析一个项目，帮我设置项目路径”
   - 提供完整的项目目录路径
2. **代码搜索**：

   - 搜索特定关键字或模式：“在项目中搜索‘函数名称’”
   - 按文件类型过滤：“在所有 .py 文件中搜索‘import’”
3. **文件分析**：

   - 分析特定文件：“分析文件 src/main.py”
   - 获取文件摘要：“给我 utils/helpers.js 中的函数列表”
4. **项目导航**：

   - 查看项目结构：“显示此项目的结构”
   - 查找符合特定模式的文件：“查找所有 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](README_zh.md)。*

