Codebase MCP
by danyQe
README.md
# Codebase MCP
> **Privacy-first AI development assistant via MCP** | Turn Claude into your personal coding assistant | Semantic code search β’ AI-assisted editing β’ Quality-checked generation β’ Persistent memory | Free open-source alternative to Cursor & paid AI coding tools | Python, React, TypeScript, FastAPI
Open Source**
[](LICENSE)
[](https://www.python.org/downloads/)
[](https://modelcontextprotocol.io)
[](https://github.com/danyQe/codebase-mcp/releases)
**Codebase MCP** is an open-source AI-powered development assistant that connects Claude Desktop (or any MCP-compatible LLM) to your codebase through the Model Context Protocol. Stop paying for separate coding assistants - if you already have a Claude subscription, that's all you need.
π **[Read Full Documentation](https://danyqe.github.io/codebase-mcp/)** | ποΈ **[Architecture](docs/architecture.png)** | π€ **[Contributing](./CONTRIBUTING.md)**
---
## π Why Codebase MCP?
### The Problem
Modern AI coding assistants like Cursor, Windsurf, and others charge **$20-40+/month** on top of your existing LLM subscription. If you already pay for Claude, why pay again for a coding assistant?
### The Solution
**Codebase MCP** turns your existing Claude subscription into a powerful coding assistant:
- β
**One subscription** - Use your existing Claude Pro/Team plan
- β
**Privacy-first** - Local embeddings and processing (except edit operations)
- β
**Open source** - Apache 2.0 license, community-driven
- β
**Extensible** - Works with any MCP-compatible LLM via Model Context Protocol
- β
**Lightweight** - ~100MB memory footprint for medium projects
- β
**Fast** - Sub-second semantic search with local FAISS indexing
---
## β‘ Quick Start
### Prerequisites
- **Python 3.11+**
- **Claude Desktop** (or any MCP-compatible client)
- **Git** installed
- **[uv](https://github.com/astral-sh/uv)** package manager (recommended)
### Installation
**1. Clone the repository:**
```bash
git clone https://github.com/danyQe/codebase-mcp.git
cd codebase-mcp
```
**2. Install globally (recommended):**
```bash
# Install uv if you haven't
pip install uv
# Create virtual environment and install dependencies
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -r requirements.txt
# Install formatters globally (required for code formatting)
pip install black ruff
```
**3. Configure Gemini API (for edit tool):**
```bash
# Create .env file
cp .env.example .env
# Get free API key from: https://aistudio.google.com/app/apikey
# Add to .env:
GEMINI_API_KEY=your_api_key_here
```
**4. Configure Claude Desktop:**
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"codebase-manager": {
"command": "/path/to/your/.venv/bin/python",
"args": [
"/path/to/codebase-mcp/mcp_server.py"
]
}
}
}
```
**5. Start the FastAPI server:**
```bash
# In a separate terminal, navigate to your project directory
python main.py /path/to/your/project
# Server starts on http://localhost:6789
# You can access the web dashboard at: http://localhost:6789
```
**6. Use with Claude Desktop:**
- Restart Claude Desktop
- Start chatting - Claude now has access to 13+ MCP tools for codebase management!
---
## π― Key Features
### π **Semantic Code Search**
- AI-powered code understanding with local embeddings
- Multi-language support (Python, JavaScript, TypeScript)
- Symbol-level indexing (functions, classes, interfaces)
- Fuzzy search and exact matching modes
### π§ **Persistent Memory System**
- Remember context across chat sessions
- Categorize learnings: progress, mistakes, solutions, architecture
- Semantic memory search with importance scoring
- Never repeat the same mistake twice
### πΏ **Session-Based Git Workflow**
- Isolated development branches for each feature
- Automatic commit tracking in `.codebase` directory
- Separate from user's `.git` - track AI changes independently
- Auto-merge support with quality gates
### βοΈ **Intelligent Code Writing**
- **Write Tool**: Create new files with auto-formatting and quality scoring
- **Edit Tool**: AI-assisted editing with Gemini integration (inspired by Cursor)
- **Quality Gates**: Auto-commit only when code quality β₯ 80%
- **Dependency Checking**: Prevent code duplication and missing imports
### π¨ **Auto-Formatting**
- **Python**: Black + Ruff (PEP 8 compliant)
- **TypeScript/JavaScript**: Prettier + ESLint
- **Quality Scoring**: Automatic code quality assessment
- **Error Recovery**: Intelligent retry with corrections
### π **Project Intelligence**
- Real-time codebase analysis
- File structure visualization
- Dependency tracking
- Symbol extraction and indexing
---
## ποΈ Architecture
```
βββββββββββββββββββ
β Claude Desktop β User interacts via chat
ββββββββββ¬βββββββββ
β MCP Protocol (stdio)
β
βββββββββββββββββββ
β MCP Server β 13+ Tools (proxy layer)
β (mcp_server.py)β Lightweight, fast
ββββββββββ¬βββββββββ
β HTTP/REST
β
βββββββββββββββββββ
β FastAPI Server β Port 6789 (main.py)
β Core Engine β 40+ API endpoints
ββββββββββ¬βββββββββ
β
ββββββ΄ββββββ¬ββββββββββ¬βββββββββββ
β β β β
ββββββββββ ββββββββ ββββββββββ βββββββββββββ
βSemanticβ βMemoryβ β Git β βCode Tools β
β Search β βSystemβ βManager β β Pipeline β
ββββββββββ ββββββββ ββββββββββ βββββββββββββ
β β β β
ββββββββββββ΄ββββββββββ΄βββββββββββ
β
ββββββββββββββββββββββββ
β Local Storage β
β β’ FAISS (vectors) β
β β’ SQLite (metadata) β
β β’ .codebase (git) β
ββββββββββββββββββββββββ
```
**Privacy Note:** All processing is local except the edit tool, which uses Google's free Gemini API for AI-assisted code editing. Only the edited file is sent to Gemini - no project context or history.

---
## π οΈ Available Tools
Codebase MCP provides **13 specialized MCP tools** for comprehensive development automation:
| Tool | Purpose | Key Features |
|------|---------|--------------|
| `session_tool` | Manage dev sessions | Create branches, auto-commit, merge |
| `memory_tool` | Store/retrieve knowledge | Persistent context, semantic search |
| `git_tool` | Git operations | Status, diff, log, commit, branches |
| `write_tool` | Intelligent file creation | Auto-format, quality scoring, dependency check |
| `edit_file` | AI-assisted editing | Gemini-powered, error recovery, format validation |
| `search_tool` | Semantic code search | 4 modes: semantic, fuzzy, text, symbol |
| `read_code_tool` | Smart code reading | Symbol-level, line ranges, whole file |
| `project_context_tool` | Project analysis | Structure, dependencies, overview |
| `list_directory_tool` | Directory exploration | Tree view, metadata, gitignore support |
| `code_analysis_tool` | Code quality checks | Syntax, linting, imports, dependencies |
| `list_file_symbols_tool` | Symbol extraction | Functions, classes, interfaces |
| `read_symbol_from_database` | DB symbol lookup | Fast indexed retrieval |
| `project_structure_tool` | Project visualization | Enhanced tree with stats |
---
## π Performance
- **Semantic Search:** Sub-second response for typical codebases
- **Memory Footprint:** ~100MB for medium projects (<20k lines)
- **Indexing Speed:** ~30 seconds for 10k lines initial index
- **Edit Operations:** 5-15 seconds (Gemini API + formatting)
- **Optimal Project Size:** <20,000 lines (tested and verified)
**Note:** Edit tool can be slow due to Gemini API latency and code formatting. Claude Desktop may timeout on very large edits (use smaller, focused edits).
---
## π Usage Examples
### Creating a New Feature
```
User: "Create a FastAPI endpoint for user authentication with JWT tokens"
Claude:
β
Searching for existing auth patterns...
β
Creating session: feat/user-auth
β
Writing authentication.py with JWT implementation
β
Auto-formatted with Black + Ruff
β
Quality score: 95% - Auto-committed
β
Storing solution in memory
```
### Refactoring Code
```
User: "Refactor the user service to use dependency injection"
Claude:
β
Reading current user service implementation
β
Searching for DI patterns in codebase
β
Editing with AI assistance (Gemini)
β
Validating changes with quality gates
β
Session: refactor/user-di ready for review
```
### Memory-Driven Development
```
User: "Continue working on the payment integration"
Claude:
β
Loading memory context...
β
Found previous progress: Stripe API setup complete
β
Found previous mistake: Don't use synchronous requests in async endpoints
β
Continuing from last checkpoint...
```
---
## π Privacy & Security
### Privacy-First Design
- **Local Embeddings**: AllMiniLM-L6-v2 runs entirely on your machine
- **Local Processing**: FAISS vector store, SQLite metadata - all local
- **No Cloud Dependencies**: Except for Gemini API (edit tool only)
### Gemini API Usage
- **Scope**: Only `edit_file` tool uses Gemini
- **Data Sent**: Only the file being edited (no project context)
- **Alternative**: Contributors can add local LLM support (GPU required)
- **Cost**: Free tier (15 RPM, 250K TPM, 1K RPD)
### Security Best Practices
- Never commit `.env` with API keys
- Use `.gitignore` for sensitive files
- Review AI-generated code before production deployment
- Keep dependencies updated
---
## π€ Contributing
We welcome contributions! This project was built to be community-driven and extensible.
**Priority Areas:**
- π **Language Support**: Add Java, Go, Rust, PHP, etc.
- π§ **Local LLM Integration**: Replace Gemini with local models
- π **Search Improvements**: Enhanced semantic algorithms
- π **UI/UX**: Improve web dashboard
- β‘ **Performance**: Optimization for larger codebases
**See [CONTRIBUTING.md](./CONTRIBUTING.md) for detailed guidelines.**
---
## π License
This project is licensed under the **Apache License 2.0** - see [LICENSE](./LICENSE) file for details.
**Credits:**
- Edit tool techniques inspired by [Cursor](https://cursor.sh/)
- Built with [Claude Sonnet 4 and 4.5](https://www.anthropic.com/)
- Powered by [Model Context Protocol](https://modelcontextprotocol.io)
---
## πΊοΈ Roadmap
**Current Version: v1.0.0-beta**
**Upcoming Features:**
- Community-driven enhancements
- More language support
- Local LLM alternatives
- Performance optimizations
- Advanced prompt engineering templates
---
## π Support
- π **Documentation**: https://danyqe.github.io/codebase-mcp/
- π **Issues**: https://github.com/danyQe/codebase-mcp/issues
- π¬ **Discussions**: https://github.com/danyQe/codebase-mcp/discussions
- π **Star this repo** if you find it useful!
---
## π Acknowledgments
Special thanks to:
- **Anthropic** for Claude and the Model Context Protocol
- **Google** for the free Gemini API
- **Cursor team** for pioneering AI-assisted editing techniques
- **Open source community** for making this possible
---
**Made with β€οΈ by developers, for developers**
*Stop paying for coding assistants. Start building with your own LLM.*
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues