Codebase MCP

Codebase MCP

An open-source AI-powered development assistant that connects Claude Desktop to your codebase via MCP, enabling semantic code search, AI-assisted editing, and persistent memory without additional subscriptions.

Category
Visit Server

README

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 Python MCP Version

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 | πŸ—οΈ Architecture | 🀝 Contributing


🌟 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 package manager (recommended)

Installation

1. Clone the repository:

git clone https://github.com/danyQe/codebase-mcp.git
cd codebase-mcp

2. Install globally (recommended):

# 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):

# 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:

{
  "mcpServers": {
    "codebase-manager": {
      "command": "/path/to/your/.venv/bin/python",
      "args": [
        "/path/to/codebase-mcp/mcp_server.py"
      ]
    }
  }
}

5. Start the FastAPI server:

# 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.

View Detailed Architecture Diagram


πŸ› οΈ 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 for detailed guidelines.


πŸ“„ License

This project is licensed under the Apache License 2.0 - see LICENSE file for details.

Credits:


πŸ—ΊοΈ 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.

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