MCP Local Codebase Search

MCP Local Codebase Search

An MCP server that indexes local Python projects into a SQLite database to enable efficient symbol searching and dependency tracking. It allows users to find function or class definitions, trace module imports, and read file contents through natural language interfaces.

Category
Visit Server

README

MCP Local Codebase Search

This project is a simple MCP (Model Context Protocol) server for local Python codebase search.

It provides tools to:

  • index Python files into a SQLite database,
  • search symbols (functions/classes),
  • find files importing specific modules,
  • read file contents.

Features

  • index_project()
    • Scans the current working directory and indexes .py files.
    • Stores symbol and dependency data in db/code_index.db.
  • find_symbol(name)
    • Searches function/class names using LIKE matching.
    • Returns symbol name, type, file path, and line number.
  • find_import(module)
    • Finds files that import a specific module.
  • read_file(path)
    • Reads and returns full file content with encoding fallback (utf8, latin-1).

Project Structure

  • server.py: MCP server entrypoint and tool definitions.
  • indexer.py: Indexing logic to SQLite.
  • parser.py: Symbol extraction (FunctionDef, ClassDef) using ast.
  • dependency.py: Import extraction using ast.
  • search.py: Search queries against the database.
  • db/: Index database location (code_index.db).

Prerequisites

  • Python 3.10+ (recommended)
  • pip

Installation

  1. Clone this repository.
  2. Go to the project folder.
  3. Create a virtual environment.
  4. Activate the virtual environment.
  5. Install dependencies.

Windows PowerShell example:

python -m venv venv
.\venv\Scripts\Activate.ps1
pip install -r requirements.txt

Run Locally

Start the MCP server:

python server.py

Available tools:

  • index_project
  • find_symbol
  • find_import
  • read_file

MCP Configuration

Add this to your MCP client configuration so it runs as an MCP server:

{
  "mcpServers": {
    "code-intelligence": {
      "command": "python",
      "args": [
        "path-to-your-server"
      ]
    }
  }
}

Recommended Usage Flow

  1. Run index_project once to build the initial index.
  2. Use find_symbol to locate functions/classes.
  3. Use find_import to trace module usage.
  4. Re-run index_project after major code changes.

Notes

  • Non-Python files are not indexed.
  • Ignored directories during indexing: .git, node_modules, __pycache__, dist, build.
  • The index database is local and should not be committed (already covered by .gitignore).

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured