code-index-mcp

GitHub
890 104 简单 1 次阅读 今天MIT语言模型开发框架插件
AI 解读 由 AI 自动生成,仅供参考

code-index-mcp 是一款基于模型上下文协议(MCP)的智能服务工具,旨在帮助大语言模型轻松理解、索引和分析复杂的代码仓库。它解决了 AI 在面对大型项目时难以全面掌握代码结构、定位特定功能或进行深度分析的痛点,让 AI 助手能像资深开发者一样快速导航和解读你的代码库。

这款工具特别适合软件开发者、技术团队以及需要处理代码审查、重构、文档生成或架构分析的研究人员使用。只需极简的配置,即可让 AI 获得强大的代码搜索与分析能力。

其核心亮点在于“开箱即用”的便捷性与深度的代码理解力。用户无需编写复杂脚本,通过简单的命令行参数或配置文件,即可将本地项目路径映射给 AI。code-index-mcp 支持智能索引和高级搜索,能精准查找特定类型的文件(如所有 TypeScript 文件)或函数逻辑(如认证相关功能),并能对具体文件进行详细剖析。无论是日常调试、辅助编程还是系统架构梳理,它都能显著提升人机协作的效率,让大模型真正成为懂你代码的得力助手。

使用场景

资深后端工程师李工正接手一个遗留的百万行代码微服务项目,急需在两天内理清复杂的认证逻辑以便进行安全重构。

没有 code-index-mcp 时

  • 盲目搜索效率低:只能依赖 IDE 全局文本搜索,面对大量同名函数和注释干扰,难以精准定位核心业务逻辑。
  • 上下文理解断裂:大模型因无法读取完整仓库结构,常产生“幻觉”,给出的修改建议往往忽略跨文件依赖,导致编译失败。
  • 人工梳理耗时久:为了搞清楚一个接口的调用链路,需要手动打开十几个文件逐行追踪,耗费数小时绘制调用图。
  • 重构风险不可控:由于缺乏全局视角,不敢轻易改动底层公共模块,担心引发未知的连锁反应。

使用 code-index-mcp 后

  • 语义级精准定位:直接让 AI“查找所有处理 OAuth2 令牌刷新的函数”,code-index-mcp 瞬间索引全库并返回精确的代码位置,无视无关噪声。
  • 全局感知更智能:AI 通过 MCP 协议实时获取项目拓扑,提出的重构方案自动适配现有接口定义,确保跨文件调用的完整性。
  • 自动化链路分析:输入“分析用户登录流程”,工具立即生成从网关到数据库的完整调用链摘要,将数小时的工作压缩至几分钟。
  • 安全重构有底气:基于准确的依赖分析,AI 能预先警告哪些修改会影响下游服务,让重构过程可控且安心。

code-index-mcp 通过将静态代码库转化为大模型可理解的动态上下文,彻底消除了 AI 辅助编程时的“盲区”,让复杂系统的维护变得像对话一样简单。

运行环境要求

操作系统
  • Linux
  • macOS
  • Windows
GPU

未说明

内存

未说明(文档提及针对大型代码库进行了内存优化)

依赖
notes推荐使用 'uv' 进行包管理和运行;支持通过原生文件系统监控实现跨平台实时文件变更检测;在 Windows 上运行 Codex CLI 时可能需要配置特定的环境变量(如 HOME, APPDATA)以确保 'uvx' 正常工作;核心功能依赖 tree-sitter 对 10 种主要语言进行 AST 解析,其他 50+ 种文件类型使用回退策略。
python3.10+
uv
tree-sitter
ugrep/ripgrep/ag/grep (可选外部工具)
code-index-mcp hero image

快速开始

代码索引 MCP

MCP 服务器 Python 许可证

面向大型语言模型的智能代码索引与分析

通过先进的搜索、分析和导航功能,改变AI理解代码库的方式。

code-index-mcp MCP 服务器

概述

代码索引 MCP 是一个 Model Context Protocol 服务器,它弥合了 AI 模型与复杂代码库之间的鸿沟。它提供智能索引、高级搜索功能以及详细的代码分析,以帮助 AI 助手有效地理解和导航您的项目。

非常适合: 代码审查、重构、文档生成、调试辅助以及架构分析。

快速入门

🚀 推荐设置(大多数用户)

开始使用任何兼容 MCP 的应用程序最简单的方法:

先决条件: Python 3.10+ 和 uv

  1. 添加到您的 MCP 配置(例如 claude_desktop_config.json~/.claude.json):

    {
      "mcpServers": {
        "code-index": {
          "command": "uvx",
          "args": ["code-index-mcp"]
        }
      }
    }
    

    可选:在 args 数组中追加 --project-path /absolute/path/to/repo,使服务器自动初始化该仓库(等同于启动后调用 set_project_path)。

  2. 重启您的应用程序uvx 会自动处理安装和执行

  3. 开始使用(向您的 AI 助手提供以下提示):

    将项目路径设置为 /Users/dev/my-react-app
    查找该项目中的所有 TypeScript 文件  
    搜索“authentication”函数
    分析主 App.tsx 文件
    

    如果您使用 --project-path 启动,则可以跳过上述第一条命令——服务器已经知道项目位置。

Codex CLI 配置

如果您使用 Anthropic 的 Codex CLI,请将服务器添加到 ~/.codex/config.toml。在 Windows 上,该文件位于 C:\Users\<you>\.codex\config.toml

[mcp_servers.code-index]
type = "stdio"
command = "uvx"
args = ["code-index-mcp"]

您可以在 args 列表中追加 --project-path C:/absolute/path/to/repo,以便在启动时自动设置项目(效果与运行 set_project_path 工具相同)。

在 Windows 上,uvx 需要标准的配置文件目录存在。请在同一块中保留环境变量覆盖,以确保 MCP 能够可靠启动:

env = {
  HOME = "C:\\Users\\<you>",
  APPDATA = "C:\\Users\\<you>\\AppData\\Roaming",
  LOCALAPPDATA = "C:\\Users\\<you>\\AppData\\Local",
  SystemRoot = "C:\\Windows"
}

Linux 和 macOS 已经暴露了所需的 XDG 路径和 HOME,因此通常可以省略这里的 env 表格。仅当您在受限容器内运行 CLI 时才需要添加覆盖。

FastMCP & 发现清单

  • 运行 fastmcp run fastmcp.json,通过 FastMCP 启动服务器,使用正确的源入口点和依赖项元数据。传递 --project-path(或在启动后调用 set_project_path 工具),以便索引针对正确的仓库进行构建。
  • 提供或复制 .well-known/mcp.json,以共享符合标准的 MCP 清单。支持 .well-known 约定的客户端(例如 Claude Desktop、Codex CLI)可以直接导入此文件,而无需手动创建配置。
  • 当您希望公开更丰富的 LLM Feed 元数据时,发布 .well-known/mcp.llmfeed.json。它引用相同的 code-index 服务器定义以及文档/源链接,这有助于注册表自动呈现描述、标签和功能。

在分享这些清单时,请提醒使用者提供 --project-path(或调用 set_project_path),以便服务器索引到预期的仓库。

典型用例

代码审查:“找出所有使用旧 API 的地方”
重构帮助:“这个函数在哪里被调用?”
学习项目:“给我看看这个 React 项目的主组件”
调试:“搜索所有与错误处理相关的代码”

核心功能

🔍 智能搜索与分析

  • 双策略架构:针对 10 种核心语言的专业 tree-sitter 解析,对 50 多种文件类型采用回退策略
  • 直接 tree-sitter 集成:对于专业语言不使用正则表达式回退——快速失败并显示清晰错误
  • 高级搜索:自动检测并使用最佳可用工具(ugrep、ripgrep、ag 或 grep)
  • 通用文件支持:从高级 AST 解析到基本文件索引,覆盖全面
  • 文件分析:运行 build_deep_index 后,可深入了解结构、导入、类、方法以及复杂度指标

🗂️ 多语言支持

  • 10 种使用 tree-sitter AST 解析的语言:Python、JavaScript、TypeScript、Java、Kotlin、C#、Go、Objective-C、Zig、Rust
  • 50 多种使用回退策略的文件类型:C/C++、Ruby、PHP,以及其他所有编程语言
  • 文档与配置文件:Markdown、JSON、YAML、XML,并进行适当处理
  • Web 前端:Vue、React、Svelte、HTML、CSS、SCSS
  • Java Web 与构建:JSP/Tag 文件(.jsp.jspx.jspf.tag.tagx)、Grails/GSP(.gsp)、Gradle & Groovy 构建(.gradle.groovy)、.properties 以及 Protocol Buffers(.proto
  • 数据库:SQL 变体、NoSQL、存储过程、迁移
  • 配置:JSON、YAML、XML、Markdown
  • 查看完整列表

实时监控与自动刷新

  • 文件监视器:文件更改时自动更新索引
  • 跨平台:原生操作系统文件系统监控
  • 智能处理:批量处理快速变化,防止过度重建
  • 浅层索引刷新:监视文件变化并保持文件列表最新;当需要符号元数据时再进行深度重建

性能与效率

  • Tree-sitter AST 解析:原生语法解析,用于准确提取符号
  • 持久化缓存:存储索引,以便后续访问速度极快
  • 智能过滤:智能排除构建目录和临时文件
  • 内存高效:针对大型代码库优化
  • 直接依赖:无回退机制——快速失败并显示清晰错误信息

支持的文件类型

📁 编程语言(点击展开)

具有专用 Tree-sitter 策略的语言:

  • Python.py.pyw) - 全面的 AST 分析,支持类/方法提取和调用跟踪
  • JavaScript.js.jsx.mjs.cjs) - 使用 Tree-sitter 解析 ES6+ 的类和函数
  • TypeScript.ts.tsx) - 完整的类型感知符号提取,包括接口
  • Java.java) - 完整的类层次结构、方法签名及调用关系
  • Kotlin.kt.kts) - 包感知的符号提取,包含方法和调用关系
  • C#.cs) - 命名空间感知的类型/成员提取,支持调用关系
  • Go.go) - 结构体方法、接收者类型及函数分析
  • Rust.rs) - 函数、模块感知的命名、impl 方法、结构体/枚举/特质,以及基础的调用关系
  • Objective-C.m.mm) - 区分类方法与实例方法,使用 +/- 符号表示
  • Zig.zig.zon) - 使用 Tree-sitter AST 解析函数和结构体

其他所有编程语言: 所有其他编程语言均使用 FallbackParsingStrategy,提供基础的文件索引和元数据提取。其中包括:

  • 系统与底层: C/C++(.c.cpp.h.hpp
  • 面向对象: Scala(.scala)、Swift(.swift
  • 脚本与动态: Ruby(.rb)、PHP(.php)、Shell(.sh.bash
  • 以及其他 40 多种文件类型 - 均通过后备策略进行基础索引处理
🌐 Web 与前端(点击展开)

框架与库:

  • Vue(.vue
  • Svelte(.svelte
  • Astro(.astro

样式:

  • CSS(.css.scss.less.sass.stylus.styl
  • HTML(.html

模板:

  • Handlebars(.hbs.handlebars
  • EJS(.ejs
  • Pug(.pug
  • FreeMarker(.ftl
  • Mustache(.mustache
  • Liquid(.liquid
  • ERB(.erb
🗄️ 数据库与 SQL(点击展开)

SQL 变体:

  • 标准 SQL(.sql.ddl.dml
  • 数据库特定格式(.mysql.postgresql.psql.sqlite.mssql.oracle.ora.db2

数据库对象:

  • 存储过程与函数(.proc.procedure.func.function
  • 视图与触发器(.view.trigger.index

迁移与工具:

  • 迁移文件(.migration.seed.fixture.schema
  • 工具专用格式(.liquibase.flyway

NoSQL 与现代数据库:

  • 图数据库与查询语言(.cql.cypher.sparql.gql
📄 文档与配置(点击展开)
  • Markdown(.md.mdx
  • 配置文件(.json.xml.yml.yaml.properties

🛠️ 开发设置

如需贡献或本地开发:

  1. 克隆并安装:

    git clone https://github.com/johnhuang316/code-index-mcp.git
    cd code-index-mcp
    uv sync
    
  2. 配置本地开发环境:

    {
      "mcpServers": {
        "code-index": {
          "command": "uv",
          "args": ["run", "code-index-mcp"]
        }
      }
    }
    
  3. 使用 MCP Inspector 调试:

    npx @modelcontextprotocol/inspector uv run code-index-mcp
    
替代方案:手动 pip 安装

如果您更倾向于传统的 pip 管理方式:

pip install code-index-mcp

然后配置:

{
  "mcpServers": {
    "code-index": {
      "command": "code-index-mcp",
      "args": []
    }
  }
}

可用工具

🏗️ 项目管理

工具 描述
set_project_path 初始化项目目录的索引
refresh_index 文件变更后重建浅层文件索引
build_deep_index 生成深度分析使用的完整符号索引
get_settings_info 查看当前项目配置和状态

当需要符号级数据时,请运行 build_deep_index;默认的浅层索引则用于快速文件发现。

🔍 搜索与发现

工具 描述
search_code_advanced 智能搜索,默认按字面匹配,可选 regex=True、模糊匹配、文件过滤及分页结果(默认每页 10 条);正则模式需要原生搜索工具,因为基础后备策略仅支持字面匹配
find_files 使用 glob 模式查找文件(例如 **/*.py
get_file_summary 分析文件结构、函数、导入及复杂度(需深索引)

🔄 监控与自动刷新

工具 描述
get_file_watcher_status 检查文件监视器的状态和配置
configure_file_watcher 启用/禁用自动刷新并配置相关设置

🛠️ 系统与维护

工具 描述
create_temp_directory 设置索引数据的存储目录
check_temp_directory 验证索引存储位置及权限
clear_settings 重置所有缓存数据和配置
refresh_search_tools 重新检测可用的搜索工具(ugrep、ripgrep 等)

使用示例

🎯 快速入门流程

1. 初始化项目

将项目路径设置为 /Users/dev/my-react-app

自动索引您的代码库,并创建可搜索的缓存

2. 探索项目结构

查找 src/components 目录下的所有 TypeScript 组件文件

使用:find_files,模式为 src/components/**/*.tsx

3. 分析关键文件

请给我 src/api/userService.ts 的概要信息

使用:get_file_summary 显示函数、导入和复杂度 提示:如果收到 needs_deep_index 的响应,请先运行 build_deep_index

🔍 高级搜索示例

代码模式搜索
使用 `regex=True` 搜索所有匹配 "get.*Data" 的函数调用

匹配结果:getData()getUserData()getFormData() 等。正则表达式搜索需要显式启用;请安装原生搜索工具并使用 regex=True,因为基础的回退行为仅支持字面量匹配。

模糊函数搜索
通过模糊搜索查找与认证相关的函数 'authUser'

匹配结果:authenticateUserauthUserTokenuserAuthCheck 等。

特定语言搜索
仅在 Python 文件中搜索 "API_ENDPOINT"

使用:search_code_advanced 进行字面量匹配,并设置 file_pattern: "*.py"(默认返回 10 条结果;可通过 max_results 扩展或 start_index 进行分页)。

自动刷新配置
配置文件更改时自动更新索引

使用:configure_file_watcher 启用/禁用监控,并设置防抖延迟时间。

项目维护
我添加了新组件,请刷新项目索引。

使用:refresh_index 更新可搜索缓存。

故障排除

🔄 自动刷新未生效

如果文件更改时自动索引更新未生效,请尝试:

  • pip install watchdog(可能解决环境隔离问题)
  • 使用手动刷新:在修改文件后调用 refresh_index 工具
  • 检查文件监视器状态:使用 get_file_watcher_status 验证监控是否已启用

macOS 文件监视选项

默认的 FSEvents 监视器适用于大多数项目。若遇到问题,可通过 configure_file_watcher 切换到其他监视器:

  • "auto"(默认):平台默认(macOS 上为 FSEvents)
  • "kqueue":Kqueue 监视器(macOS/BSD)
  • "fsevents":强制使用 FSEvents(仅限 macOS)
  • "polling":跨平台轮询后备方案

注意:Kqueue 每个被监视的文件会占用一个文件描述符。对于大型项目,若使用 Kqueue,可能需要提高限制:ulimit -n 10240

开发与贡献

🔧 从源码构建

git clone https://github.com/johnhuang316/code-index-mcp.git
cd code-index-mcp
uv sync
uv run code-index-mcp

🐛 调试

npx @modelcontextprotocol/inspector uvx code-index-mcp

🤝 贡献

欢迎贡献!请随时提交 Pull Request。


📜 许可证

MIT 许可证

🌐 翻译

版本历史

v2.15.02026/04/03
v2.14.22026/03/23
v2.14.12026/03/21
v2.14.02026/03/02
v2.13.02026/01/09
v2.12.02026/01/09
v2.11.02025/12/30
v2.10.02025/12/18
v2.9.42025/11/27
v2.9.32025/11/26
v2.9.22025/11/20
v2.9.12025/11/12
v2.9.02025/11/10
v2.8.12025/11/10
v2.8.02025/11/05
v2.7.02025/10/30
v2.6.02025/10/29
v2.5.12025/10/29
v2.5.02025/10/28
v2.4.12025/10/03

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|昨天
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|2天前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

143.9k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

107.9k|★★☆☆☆|昨天
开发框架图像Agent

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|昨天
插件开发框架

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|昨天
语言模型图像Agent