Back to MCP directory
publicPublicdnsLocal runtime

code-index-mcp

Code Index MCP是一个基于模型上下文协议(MCP)的代码索引分析服务器,提供代码搜索、文件分析、智能过滤等功能,支持多种编程语言,帮助开发者高效管理代码库。

article

README

🚀 代码索引 MCP

代码索引 MCP 是一个用于代码索引、搜索和分析的服务器,基于模型上下文协议(MCP)构建。它能让大型语言模型与代码仓库交互,实时提供代码库洞察与导航能力。

MCP 服务器 Python 许可证

🚀 快速开始

代码索引 MCP 是专门针对 MCP 协议设计的服务器,能提供智能代码索引和分析功能,使大型语言模型可与代码仓库交互,实时获取代码库中的洞察并进行导航。该服务器集成于 模型上下文协议(MCP),这是一种让 AI 模型与外部工具和数据源交互的标准方法。

✨ 主要特性

  • 项目索引:递归扫描目录以构建可搜索的代码文件索引。
  • 代码搜索:在代码库中查找模式、函数定义和引用。
  • 文件分析:获取文件结构、导入和复杂度等详细信息。
  • 智能过滤:自动忽略构建目录、依赖项和非代码文件。
  • 持久存储:缓存索引以提高跨会话性能。

📦 安装指南

先决条件

  • Python 3.8 或更高版本。
  • uv 包管理器(推荐)。

使用 uvx(推荐)

使用 uvx 安装和运行代码索引 MCP 是最简单的方式:

uvx code-index-mcp

使用 pip

或者,您可以通过 pip 安装:

pip install code-index-mcp

安装后,可以作为模块运行:

python -m code_index_mcp

💻 使用示例

与 Claude Desktop 集成

将以下内容添加到您的 Claude 设置(~/Library/Application Support/Claude/setting.json)中:

{
  "codeIndexMCP": {
    "enabled": true,
    "path": "/usr/local/bin/uvx"
  }
}

📚 详细文档

可用工具

  • 设置项目路径:指定要索引的项目根目录。
  • 搜索代码:在项目中查找特定的代码模式或函数。
  • 分析文件:获取文件的相关元数据和结构信息。
  • 过滤结果:根据需求筛选索引结果。
  • 缓存管理:维护和更新索引以保持高效性能。

支持的文件类型

服务器支持多种编程语言和文件扩展名,包括:

  • 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)
  • Web 文件 (.html, .css, .scss)
  • 文档/配置 (.md, .json, .xml, .yml, .yaml)

🔧 技术细节

要贡献到这个项目,请参考 开发者文档

📄 许可证

本项目采用 MIT 许可证,详情请见仓库中的相关文件。

🌐 语言

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client