Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP Local Codebase Searchfind where the process_data function is defined"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
.pyfiles.Stores symbol and dependency data in
db/code_index.db.
find_symbol(name)Searches function/class names using
LIKEmatching.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) usingast.dependency.py: Import extraction usingast.search.py: Search queries against the database.db/: Index database location (code_index.db).
Prerequisites
Python 3.10+ (recommended)
pip
Installation
Clone this repository.
Go to the project folder.
Create a virtual environment.
Activate the virtual environment.
Install dependencies.
Windows PowerShell example:
python -m venv venv
.\venv\Scripts\Activate.ps1
pip install -r requirements.txtRun Locally
Start the MCP server:
python server.pyAvailable tools:
index_projectfind_symbolfind_importread_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
Run
index_projectonce to build the initial index.Use
find_symbolto locate functions/classes.Use
find_importto trace module usage.Re-run
index_projectafter 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).