Skip to main content
Glama

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


Related MCP server: code-context

⚑ 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 16 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 (run through npx), plus a few simple lint-style warnings (no 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    β”‚  16 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 16 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

file_tool

Basic file operations (legacy)

Read and write by line range; write_tool is preferred for new code

execute_tool

Run a command

Arguments, timeout and working directory

show_directory_tree

Compact directory tree

Depth 1 to 5, tuned for LLM context


πŸ“ˆ 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


πŸŽ‰ 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.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Persistent memory for Claude Code. Automatically indexes every conversation and provides production-grade hybrid search (BM25 + vectors + reranker) via MCP tools. 100% local, zero config, zero API keys, zero invoice.
    16
    71 npm
    8
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that provides dynamic codebase context to Claude Code through tools like hybrid search, recent changes, and symbol definitions, enhancing AI-assisted coding with local RAG.
    8
    64 PyPI
    MIT