Cursor Local Indexing

Provides semantic code search capabilities by locally indexing codebases using ChromaDB. Enables efficient and context-aware code exploration for development tools.

Author

Cursor Local Indexing logo

LuotoCompany

No License

Quick Info

GitHub GitHub Stars 24
NPM Weekly Downloads 0
Tools 1
Last Updated 13/9/2025

Tags

codebases indexing code indexing codebases code search code exploration

Local Code Indexing for Cursor

An experimental Python-based server that locally indexes codebases using ChromaDB and provides a semantic search tool via an MCP (Model Context Protocol) server for tools like Cursor.

Setup

  1. Clone and enter the repository:

    git clone <repository-url>
    cd cursor-local-indexing
    
  2. Create a .env file by copying .env.example:

    cp .env.example .env
    
  3. Configure your .env file:

    PROJECTS_ROOT=~/your/projects/root    # Path to your projects directory
    FOLDERS_TO_INDEX=project1,project2    # Comma-separated list of folders to index
    

    Example:

    PROJECTS_ROOT=~/projects
    FOLDERS_TO_INDEX=project1,project2
    
  4. Start the indexing server:

    docker-compose up -d
    
  5. Configure Cursor to use the local search server: Create or edit ~/.cursor/mcp.json:

    {
      "mcpServers": {
        "workspace-code-search": {
          "url": "http://localhost:8978/sse"
        }
      }
    }
    
  6. Restart Cursor IDE to apply the changes.

The server will start indexing your specified projects, and you'll be able to use semantic code search within Cursor when those projects are active.

  1. Open a project that you configured as indexed.

Create a .cursorrules file and add the following:

<instructions>
For any request, use the @search_code tool to check what the code does.
Prefer that first before resorting to command line grepping etc.
</instructions>
  1. Start using the Cursor Agent mode and see it doing local vector searches!