Skip to main content
Glama
README.md
# code-rag: Semantic Code Search MCP Server

> Search your codebase using natural language. Built as an MCP server for AI coding assistants.

![MCP Server](https://img.shields.io/badge/MCP-Server-blue)
![ChromaDB](https://img.shields.io/badge/ChromaDB-Vector%20DB-orange)
![RAG](https://img.shields.io/badge/RAG-Pipeline-purple)

## What It Does

**code-rag** is a semantic code search engine that lets you query code with natural language:

```
"how are users fetched from the database"
"feature flag check pattern"
"authentication middleware"
```

Instead of exact keyword matching, it understands the *meaning* of your query and finds relevant code.

## Features

| Feature | Description |
|---------|-------------|
| **Natural Language Search** | Query code semantically |
| **Related Files** | Find files semantically related to a given file |
| **Context Expansion** | Get surrounding code for search results |
| **Multi-Repo Support** | Index multiple repositories |
| **MCP Protocol** | Works with Claude, OpenCode, and other MCP clients |
| **Local Execution** | 100% local - your code never leaves your machine |

## MCP Tools

| Tool | Description |
|------|-------------|
| `search_code` | Search code with natural language |
| `find_related` | Find files related to a given file |
| `get_context` | Expand context around a search result |
| `index_stats` | View indexing statistics |

## Installation

```bash
cd code-rag
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```

Configure repos in `config.yaml`, run the indexer, then start the server:

```bash
./run-indexer.sh
python3 server.py
```

## Requirements

- Python 3.10+
- ChromaDB
- MCP-compatible client

## License

MIT