codebase-analyser
Enables AI agents and IDEs to ingest and search code repositories using hybrid retrieval (dense + sparse) with exact line-level citations for precise code analysis.
README
⚡ CodeBase Analyser
An intelligent, AI-driven codebase analytics engine powered by Retrieval-Augmented Generation (RAG). It performs precise repository analysis with hybrid search, language-aware AST chunking, exact line-level citations, and MCP (Model Context Protocol) tools for seamless integration with IDEs and AI agents.
✨ Features
- 🔍 Hybrid Retrieval Pipeline (Dense + Sparse): Combines FAISS dense vector search with BM25 sparse keyword retrieval via Reciprocal Rank Fusion (RRF) for high precision on exact code identifiers.
- 🌳 Language-Aware AST Chunking: Uses
langchain-text-splittersto split code along syntactic boundaries (functions, methods, classes) rather than arbitrary mechanical line cutoffs. - 📌 Exact Line-Level Source Citations: Direct links and line ranges (
path/file.py:L10-L45) for full traceability and hallucination prevention. - ⚡ Persistent Index & Chunk Caching: Caches generated FAISS indices and metadata (
chunks.jsonl) to disk for instant loading on subsequent queries. - 🔌 Model Context Protocol (MCP) Tools: Exposes modular tools for repository ingestion, semantic search, and context retrieval to external AI clients (Claude Desktop, Cursor, VS Code).
- 🎨 Modern Web UI & CLI: Dark-mode web interface with dynamic Markdown rendering alongside a fast, production-ready CLI.
🛠️ Architecture Overview
[Git Repo URL / Directory]
│
▼
[AST / Language Splitter] ──► Preserves syntactic code structure
│
├──► [FAISS Index] (Dense Semantic Vectors) ──┐
│ ├──► [RRF Fusion] ──► [LLM Context & Citations]
└──► [BM25 Index] (Exact Identifier Tokens) ──┘
📋 Requirements
- Python 3.11+
git
🚀 Quick Start & Installation
1. Clone & Set Up Environment
python -m venv .venv
# On Windows PowerShell:
.venv\Scripts\Activate.ps1
# On Linux/macOS:
source .venv/bin/activate
pip install -r requirements.txt
2. Configure Gemini API Key
Get an API key from Google AI Studio.
Windows PowerShell
$env:AICA_LLM_PROVIDER="gemini"
$env:AICA_GEMINI_API_KEY="YOUR_GEMINI_API_KEY"
$env:AICA_GEMINI_MODEL="gemini-2.5-pro"
Linux/macOS
export AICA_LLM_PROVIDER="gemini"
export AICA_GEMINI_API_KEY="YOUR_GEMINI_API_KEY"
export AICA_GEMINI_MODEL="gemini-2.5-pro"
Recommended Models
| Model | Recommended Use Case |
|---|---|
gemini-2.5-pro |
Best reasoning for complex code and architecture questions |
gemini-2.0-flash-lite |
Ultra-fast and efficient for rapid Q&A |
gemini-1.5-flash |
Stable fallback option |
🖥️ Web UI & CLI Usage
Web UI (Recommended)
Start the FastAPI application:
python -m aica.web_app
# or using PowerShell script
.\run_web.ps1
Open http://127.0.0.1:8080 to view the dashboard, configure model parameters, ingest repositories, and query with real-time Markdown-rendered citations.
CLI Usage
Ingest a Repository
python -m aica ingest https://github.com/pallets/flask
Creates:
data/repos/<repo_hash>/– Cloned repository filesdata/index/<repo_hash>/– FAISS index and chunk metadata
Ask a Question
python -m aica ask https://github.com/pallets/flask "Where is the request context created?" --top-k 4 --show-citations
🔌 MCP Server (For External AI Agents & IDEs)
Run the MCP server locally:
python -m aica.mcp_server
Exposed Tools
ingest_repo_tool(repo_url)search_code(repo_url, query, top_k)ask_repo(repo_url, question, top_k)
Integrating with Claude Desktop / Cursor
Add the server to your claude_desktop_config.json:
{
"mcpServers": {
"codebase-analyser": {
"command": "python",
"args": ["-m", "aica.mcp_server"],
"env": {
"PYTHONPATH": "."
}
}
}
}
📄 License
Distributed under the MIT License.
Recommended Servers
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.