Skip to content

A Model Context Protocol (MCP) server that helps large language models index, search, and analyze code repositories with minimal setup

License

Notifications You must be signed in to change notification settings

johnhuang316/code-index-mcp

Repository files navigation

Code Index MCP

MCP Server Python License

Intelligent code indexing and analysis for Large Language Models

Transform how AI understands your codebase with advanced search, analysis, and navigation capabilities.

code-index-mcp MCP server

Overview

Code Index MCP is a Model Context Protocol server that bridges the gap between AI models and complex codebases. It provides intelligent indexing, advanced search capabilities, and detailed code analysis to help AI assistants understand and navigate your projects effectively.

Perfect for: Code review, refactoring, documentation generation, debugging assistance, and architectural analysis.

Key Features

πŸ” Intelligent Search & Analysis

  • Advanced Search: Auto-detects and uses the best available tool (ugrep, ripgrep, ag, or grep)
  • Regex Support: Full regex pattern matching with ReDoS attack prevention
  • Fuzzy Search: True fuzzy matching with edit distance (ugrep) or word boundary patterns
  • File Analysis: Deep insights into structure, imports, classes, methods, and complexity metrics

πŸ—‚οΈ Multi-Language Support

  • Mainstream Languages: Java, Python, JavaScript/TypeScript, C/C++, Go, Rust, C#
  • Mobile Development: Swift, Kotlin, Objective-C/C++, React Native
  • Web Frontend: Vue, React, Svelte, Astro, HTML, CSS, SCSS
  • Database: SQL (MySQL, PostgreSQL, SQLite), NoSQL, stored procedures, migrations
  • Scripting: Ruby, PHP, Shell, PowerShell, Bash
  • Systems: C/C++, Rust, Go, Zig
  • JVM Ecosystem: Java, Kotlin, Scala, Groovy
  • Others: Lua, Perl, R, MATLAB, configuration files
  • 50+ File Types Total - View complete list

⚑ Performance & Efficiency

  • Smart Indexing: Recursively scans with intelligent filtering of build directories
  • Persistent Caching: Stores indexes for lightning-fast subsequent access
  • Lazy Loading: Tools detected only when needed for optimal startup
  • Memory Efficient: Intelligent caching strategies for large codebases

Supported File Types

πŸ“ Programming Languages (Click to expand)

System & Low-Level:

  • C/C++ (.c, .cpp, .h, .hpp)
  • Rust (.rs)
  • Zig (.zig)
  • Go (.go)

Object-Oriented:

  • Java (.java)
  • C# (.cs)
  • Kotlin (.kt)
  • Scala (.scala)
  • Objective-C/C++ (.m, .mm)
  • Swift (.swift)

Scripting & Dynamic:

  • Python (.py)
  • JavaScript/TypeScript (.js, .ts, .jsx, .tsx, .mjs, .cjs)
  • Ruby (.rb)
  • PHP (.php)
  • Shell (.sh, .bash)
🌐 Web & Frontend (Click to expand)

Frameworks & Libraries:

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

Styling:

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

Templates:

  • Handlebars (.hbs, .handlebars)
  • EJS (.ejs)
  • Pug (.pug)
πŸ—„οΈ Database & SQL (Click to expand)

SQL Variants:

  • Standard SQL (.sql, .ddl, .dml)
  • Database-specific (.mysql, .postgresql, .psql, .sqlite, .mssql, .oracle, .ora, .db2)

Database Objects:

  • Procedures & Functions (.proc, .procedure, .func, .function)
  • Views & Triggers (.view, .trigger, .index)

Migration & Tools:

  • Migration files (.migration, .seed, .fixture, .schema)
  • Tool-specific (.liquibase, .flyway)

NoSQL & Modern:

  • Graph & Query (.cql, .cypher, .sparql, .gql)
πŸ“„ Documentation & Config (Click to expand)
  • Markdown (.md, .mdx)
  • Configuration (.json, .xml, .yml, .yaml)

Quick Start

πŸš€ Recommended Setup (Most Users)

The easiest way to get started with any MCP-compatible application:

Prerequisites: Python 3.10+ and uv installed

  1. Add to your MCP configuration (e.g., claude_desktop_config.json or ~/.claude.json):

    {
      "mcpServers": {
        "code-index": {
          "command": "uvx",
          "args": ["code-index-mcp"]
        }
      }
    }
  2. Restart your application – uvx automatically handles installation and execution

πŸ› οΈ Development Setup

For contributing or local development:

  1. Clone and install:

    git clone https://github.com/johnhuang316/code-index-mcp.git
    cd code-index-mcp
    uv sync
  2. Configure for local development:

    {
      "mcpServers": {
        "code-index": {
          "command": "uv",
          "args": ["run", "code_index_mcp"]
        }
      }
    }
  3. Debug with MCP Inspector:

    npx @modelcontextprotocol/inspector uv run code_index_mcp
Alternative: Manual pip Installation

If you prefer traditional pip management:

pip install code-index-mcp

Then configure:

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

Available Tools

πŸ—οΈ Project Management

Tool Description
set_project_path Initialize indexing for a project directory
refresh_index Rebuild the project index after file changes
get_settings_info View current project configuration and status

πŸ” Search & Discovery

Tool Description
search_code_advanced Smart search with regex, fuzzy matching, and file filtering
find_files Locate files using glob patterns (e.g., **/*.py)
get_file_summary Analyze file structure, functions, imports, and complexity

πŸ› οΈ System & Maintenance

Tool Description
create_temp_directory Set up storage directory for index data
check_temp_directory Verify index storage location and permissions
clear_settings Reset all cached data and configurations
refresh_search_tools Re-detect available search tools (ugrep, ripgrep, etc.)

Usage Examples

🎯 Quick Start Workflow

1. Initialize Your Project

Set the project path to /Users/dev/my-react-app

Automatically indexes your codebase and creates searchable cache

2. Explore Project Structure

Find all TypeScript component files in src/components

Uses: find_files with pattern src/components/**/*.tsx

3. Analyze Key Files

Give me a summary of src/api/userService.ts

Uses: get_file_summary to show functions, imports, and complexity

πŸ” Advanced Search Examples

Code Pattern Search
Search for all function calls matching "get.*Data" using regex

Finds: getData(), getUserData(), getFormData(), etc.

Fuzzy Function Search
Find authentication-related functions with fuzzy search for 'authUser'

Matches: authenticateUser, authUserToken, userAuthCheck, etc.

Language-Specific Search
Search for "API_ENDPOINT" only in Python files

Uses: search_code_advanced with file_pattern: "*.py"

Project Maintenance
I added new components, please refresh the project index

Uses: refresh_index to update the searchable cache

Development & Contributing

πŸ”§ Building from Source

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

πŸ› Debugging

npx @modelcontextprotocol/inspector uvx code-index-mcp

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.


πŸ“œ License

MIT License

🌐 Translations

About

A Model Context Protocol (MCP) server that helps large language models index, search, and analyze code repositories with minimal setup

Resources

License

Stars

Watchers

Forks

Packages

No packages published