Skip to main content
Glama
demixid

MCP Local Codebase Search

by demixid

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"
      ]
    }
  }
}
  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).

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/demixid/MCP-Local-Codebase-Search'

If you have feedback or need assistance with the MCP directory API, please join our Discord server