github-code-rag-mcp
한 줄 소개
AI가 실시간으로 GitHub 코드를 검색해 재사용하도록 하는 MCP 서버입니다. 인증을 작성하시나요? 검색하세요. 미들웨어를 작성하시나요? 검색하세요. 결제를 작성하시나요? 검색하세요. AI가 모든 코드 줄을 작성하기 전에 GitHub에서 가장 좋은 구현 참고 자료를 찾습니다. 처음부터 바퀴를 재발명하지 않습니다. 또한 AI가 먼저 조사한 후 작업을 시작하도록 하는 '요구 분석 Agent' 방법론이 내장되어 있어, 추측하지 않습니다.
Related MCP server: MCP Code Intelligence
문제점
이런 적 있지 않나요?
"사용자 인증 모듈을 작성하려고 브라우저를 켜서 30분 동안 검색했는데, 찾은 코드 품질이 들쭉날쭉했어요."
"GitHub에 최고의 구현이 있는데, AI는 검색할 줄 모르고 처음부터 엉터리로 작성하더라고요."
"새 기능을 만들 때마다 마치 바퀴를 다시 발명하는 것 같아요. 참고할 답안은 사방에 널려 있는데 말이죠."
문제는 AI가 코드를 작성하는 방식에 있습니다.
现在的流程:AI 想写 → 凭记忆瞎写 → 不对 → 改 → 还不对
应该有的流程:AI 想写 → 搜 GitHub → 找到最好的实现 → 复用 → 微调 → 完成github-code-rag는 GitHub를 AI의 도구 상자에 넣어줍니다. 쓰고 싶은 것이 있으면 먼저 검색하고, 그다음에 가져옵니다.
핵심 기능
🔥 실시간 GitHub 검색, 가장 관련성 높은 코드 찾아 재사용
별표 순으로 정렬하여 가장 성숙한 프로젝트를 우선 선택합니다. 언어, 별표 수로 필터링 가능합니다.
用户:帮我写个 FastAPI 的数据库连接模块
↓
AI:search_github("fastapi sqlalchemy database stars:>1000")
AI:read_github_file("tiangolo/fastapi", "docs_src/sql_app/main.py")
AI:search_code("create_engine sessionmaker")
↓
AI:我参考了 FastAPI 官方示例,给你写好了:
# Source: tiangolo/fastapi/docs_src/sql_app/main.py
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
...브라우저를 켜거나, 저장소를 클론하거나, 수십 개의 탭을 뒤질 필요가 없습니다. AI가 코드를 작성하는 동시에 GitHub를 검색하여 가장 좋은 구현을 찾아 바로 재사용합니다.
📚 읽은 코드는 자동 인덱싱, 사용할수록 편리해짐
읽은 저장소는 모두 로컬 FTS5 전문 검색 인덱스에 저장됩니다. 다음에 관련 코드를 검색하면 밀리초 단위로 결과가 나옵니다.
→ search_code("jwt authentication middleware")
在 12 个已读仓库中找到 47 个匹配片段:
- fastapi/.../auth.py:35 JWT bearer middleware
- django/.../auth.py:128 Token authentication
- ...오래 사용할수록 로컬 코드 지식 베이스가 커지고, AI가 코드를 더 빨리 작성합니다.
🔄 GitHub API + 공식 검색 페이지 이중 폴백, 속도 제한 걱정 없음
GitHub Search API: 품질 최고, 별표 순 정렬 (무료 60회/시간, Token 사용 시 5000회/시간)
GitHub 공식 검색 페이지 폴백: 무제한 무료 할당량, 속도 제한 시 자동 다운그레이드
git clone 제로: 모두 REST API를 통해 처리, 로컬 디스크 공간 차지하지 않음
🧠 보너스: 요구 분석 Agent — 먼저 조사하고 작업 시작
시스템 프롬프트에 워크플로가 하드코딩되어 있어 AI가 바로 엉터리로 작성하지 않습니다. 먼저 유사 프로젝트를 검색하고, 실제 프로젝트를 기반으로 요구 사항을 확인한 후에야 작업을 시작합니다.
用户:我想做个博客系统
↓
AI:[搜了 10 个相关项目]
你是要做独立博客(类似 Hugo/Hexo),还是多用户平台?
- 独立博客(简单、SEO 好)
- 多用户平台(功能复杂、需后台)
- 我来根据 GitHub 项目给你推荐'시니어 엔지니어의 작업 방법론이 무료로 제공된다'고 생각하면 됩니다. 필요 없으면 사용하지 않아도 됩니다. 코드 검색만으로도 충분히 가치가 있습니다.
⚡ git clone 제로 · 벡터 데이터베이스 제로 · 단 1개의 의존성
모두 GitHub REST API를 통해 처리, 저장소 클론 불필요
SQLite + FTS5 전문 검색 인덱스, 벡터 데이터베이스와 embedding 불필요
런타임은
mcp>=1.0에만 의존, 나머지는 모두 Python 표준 라이브러리시작 < 1초, 메모리 < 50MB
설치 vs 미설치
github-code-rag 미설치 | github-code-rag 설치 | |
코드 작성 전 GitHub 검색 | 브라우저 켜서 수동 검색 | AI가 자동 검색, 바로 재사용 |
코드 출처 | 모델 메모리에 의존해 엉터리 작성 | 2억 개 이상의 GitHub 저장소에서 최고의 코드 선택 |
코드 품질 | 전적으로 모델 수준에 의존 | 오픈소스의 어깨 위에 서서 |
출처 표시 | 누구 코드를 베꼈는지 모름 |
|
새 기능 작성 시마다 | 처음부터 시작 | 로컬 지식 베이스가 점점 쌓임 |
GitHub 속도 제한 | — | 공식 검색 페이지 폴백, 무제한 할당량 |
빠른 시작
1. 설치
# 推荐:pipx 一键安装(隔离环境)
pipx install github-code-rag
# 或者 uv
uv tool install github-code-rag
# 或者 pip
pip install github-code-rag2. Token 설정 (권장하지만 필수는 아님)
export GITHUB_TOKEN=ghp_your_token_hereToken이 없어도 사용 가능합니다 — GitHub 공식 검색 페이지 폴백이 내장되어 있어 무료 무제한 할당량을 제공합니다. Token이 있으면 GitHub API 할당량이 60회/시간 → 5000회/시간으로 증가합니다.
3. AI 클라이언트에 설정
아래 '클라이언트 설정' 섹션을 참조하세요.
4. 사용해보기
설치 후 AI에게 이렇게 말해보세요:
"FastAPI용 JWT 인증 미들웨어를 작성해 주세요. 먼저 GitHub에서 가장 좋은 구현 참고 자료를 검색해 보세요."
AI가 먼저 GitHub를 검색한 후, 검색된 코드를 기반으로 작성하는지 확인해 보세요.
클라이언트 설정
아래 설정은 모두 stdio 모드입니다. 설정 완료 후 클라이언트를 재시작하면 사용할 수 있습니다. 설치 경로를 모르시나요?
which github-code-rag(macOS/Linux) 또는where github-code-rag(Windows)를 실행하여 확인하세요.
Claude Code
~/.claude.json을 편집하여 추가:
{
"mcpServers": {
"github-code-rag": {
"command": "github-code-rag",
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}Claude Desktop
설정 → Developer → Edit Config를 열어 추가:
{
"mcpServers": {
"github-code-rag": {
"command": "github-code-rag"
}
}
}macOS 설정 파일 경로:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows 설정 파일 경로:
%APPDATA%\Claude\claude_desktop_config.json
Cursor
프로젝트 수준 설정 (현재 프로젝트만): 프로젝트 루트에 .cursor/mcp.json 생성:
{
"mcpServers": {
"github-code-rag": {
"command": "github-code-rag"
}
}
}전역 설정: 설정 → MCP → Add new server → Stdio → github-code-rag 입력
Windsurf
설정 → MCP Servers → Add MCP Server, stdio 모드 선택, 명령어 입력:
github-code-rag설정 파일은 일반적으로 다음 위치에 있습니다:
macOS:
~/.codeium/windsurf/mcp_config.jsonWindows:
%APPDATA%\..\Roaming\Codeium\Windsurf\mcp_config.json
Cline / Roo Code
설정 → MCP Servers → Add new MCP Server → Local executable, 입력:
Command: github-code-rag또는 설정 파일을 직접 편집:
Cline:
~/.cline/mcp.jsonRoo Code:
~/.roo-code/mcp.json
Codex CLI
~/.codex/config.toml을 편집하여 추가:
[mcp_servers.github-code-rag]
command = "github-code-rag"OpenCode
OpenCode 설정 파일의 mcp servers 부분을 편집:
{
"mcpServers": {
"github-code-rag": {
"command": "github-code-rag"
}
}
}모든 MCP 프로토콜을 지원하는 클라이언트에서 사용할 수 있습니다. 위 목록에 없는 클라이언트를 사용하는 경우에도 설정 방식은 기본적으로 동일합니다 — command를
github-code-rag로 지정하면 됩니다.
도구 목록
도구 | 설명 |
| GitHub 공식 API로 저장소 검색, 별표 순 정렬 |
| GitHub 공식 검색 페이지 폴백, 무료 무제한 할당량 |
| 저장소 디렉토리 구조 탐색 |
| 파일 내용 읽기, 로컬 지식 베이스에 자동 인덱싱 |
| 읽은 코드에서 FTS5 전문 검색 |
| 유사 프로젝트의 검색 기록 조회 |
| 로컬 인덱스 상태 확인 |
| 데이터베이스 테이블 구조 및 레코드 수 확인 |
| 이전 데이터 정리, 공간 확보 |
작동 원리
┌───────────────────────────────────────────────────────────┐
│ 你的 AI 客户端 │
│ (Claude Code / Cursor / Codex / Claude Desktop / ...) │
└───────────────────────────┬───────────────────────────────┘
│ MCP protocol (stdio)
┌───────────────────────────▼───────────────────────────────┐
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ 系统提示词(需求分析 Agent 方法论) │ │
│ │ · 先搜再问 · 逐步收敛 · 复用优先 │ │
│ └───────────────────────┬─────────────────────────┘ │
│ │ 指导 AI 怎么用工具 │
│ ┌───────────────────────▼─────────────────────────┐ │
│ │ 9 个 MCP 工具 │ │
│ │ 搜索 / 浏览 / 阅读 / 搜索代码 / 历史 / 管理 │ │
│ └───────────┬───────────────────────────┬─────────┘ │
│ │ │ │
│ ┌────────────▼───────────┐ ┌───────────▼──────────┐ │
│ │ GitHub REST API │ │ SQLite + FTS5 │ │
│ │ + GitHub 搜索页兜底 │ │ 本地代码知识库 │ │
│ │ 零 git clone │ │ Trigram 全文搜索 │ │
│ └────────────────────────┘ └──────────────────────┘ │
│ │
└───────────────────────────────────────────────────────────┘왜 FTS5이고, 벡터 데이터베이스가 아닌가요?
FTS5 (저희가 사용) | 벡터 검색 | |
함수명 / 클래스명 / 키워드 검색 | 정확 | 의미적 이탈 |
"인증 구현 방법" 검색 | 불가 | 가능 |
추가 의존성 | 제로 (SQLite 내장) | 벡터 데이터베이스 + Embedding 모델 |
다운로드 크기 | < 1MB | 수십 ~ 수백 MB |
검색 지연 | < 10ms | 수십 ~ 수백 ms |
저희의 해결책: 2단계 검색. 먼저 GitHub Search로 올바른 저장소를 찾고 ("어떤 프로젝트가 참고할 가치가 있는지" 해결), 그다음 FTS5로 저장소 내에서 코드를 정확히 검색합니다 ("구체적인 구현이 어디 있는지" 해결).
벡터 검색? 코드 재사용 시나리오에서는 과장된 마케팅인 경우가 많습니다. 코드를 검색할 때 머릿속에 떠오르는 것은 'sessionmaker 사용법', 'JWT 미들웨어 작성법'이지, '의미적으로 인증에 가까운 것'이 아닙니다.
유사 프로젝트 비교
특성 | github-code-rag | codedb | codebase-rag | 공식 GitHub MCP |
GitHub 공개 코드 검색 및 재사용 | ✅ | ❌ (로컬 전용) | ✅ (클론 필요) | ✅ |
git clone 제로 | ✅ | N/A | ❌ | ✅ |
로컬 코드 인덱스 (FTS5) | ✅ | ✅ (Zig 자체 개발) | ✅ (FTS5 + 벡터) | ❌ |
무료 검색 폴백 (GitHub 검색 페이지) | ✅ | ❌ | ❌ | ❌ |
요구 분석 Agent 안내 | ✅ (보너스) | ❌ | ❌ | ❌ |
강제 코드 재사용 방법론 | ✅ (보너스) | ❌ | ❌ | ❌ |
검색 기록 / 분류 축적 | ✅ | ❌ | ❌ | ❌ |
외부 의존성 수 | 1 (mcp) | 0 (단일 바이너리) | 다수 (Bun + ONNX) | 다수 |
시작 시간 | < 1s | 매우 빠름 | 느림 | 빠름 |
한 줄로 차이점 요약:
codedb / codebase-rag = 로컬 코드 검색 도구
공식 GitHub MCP = GitHub 올인원 도구 상자
github-code-rag = GitHub 코드를 가져오는 데 특화된 도구 + 요구 분석 방법론 보너스
프로젝트 구조
├── server/
│ └── mcp_server.py # MCP 服务器 + 系统提示词
├── github/
│ └── connector.py # GitHub API 封装(纯 urllib,零依赖)
├── core/
│ ├── models.py # 数据模型
│ └── retrieval_engine.py # FTS5 搜索引擎
├── storage/
│ └── sqlite_storage.py # SQLite + FTS5 + WAL + 触发器同步
├── tests/
│ ├── test_retrieval.py
│ └── test_storage.py
├── .well-known/mcp.json # SSE 模式配置
└── pyproject.toml개발
# 克隆
git clone https://github.com/suyu-creator/github-code-rag-mcp.git
cd github-code-rag-mcp
# 安装依赖
uv sync
# 运行测试
uv run pytest
# 手动启动(stdio 模式)
uv run github-code-rag환경 변수:
GITHUB_TOKEN=ghp_xxx # GitHub API Token(推荐)
CODE_RAG_DATA_DIR=~/.code-rag # 数据存储目录FAQ
어떤 MCP 클라이언트를 지원하나요?
MCP 프로토콜을 지원하는 모든 클라이언트 — Claude Code, Claude Desktop, Cursor, Windsurf, Cline, Codex, Gemini CLI, OpenCode… MCP 서버를 설정할 수 있으면 모두 사용 가능합니다.
제 코드가 업로드되나요?
아니요. 모든 인덱스는 로컬 SQLite에 저장됩니다. GitHub API는 공개 저장소를 읽는 데만 사용되며, 귀하의 코드는 외부로 전송되지 않습니다.
왜 gh CLI를 직접 사용하지 않나요?
MCP 도구는 AI에 투명해야 하기 때문입니다 — AI가 어떤 CLI가 설치되어 있는지 알 필요 없이 도구를 호출하기만 하면 됩니다. 또한 순수 Python 구현으로 시스템 의존성이 없습니다.
GitHub API 속도 제한에 걸리면 어떻게 하나요?
GitHub 공식 검색 페이지로 자동 다운그레이드되며, 무료 무제한 할당량을 제공하므로 추가 설정이 필요 없습니다. 경험은 약간 떨어질 수 있지만 사용할 수 없는 상태가 되지는 않습니다.
벡터 검색을 추가할 예정인가요?
가능성은 있지만 현재 우선순위는 아닙니다. 저희의 포지셔닝은 '올바른 코드를 빠르게 찾아 재사용하는 것'이며, FTS5 + GitHub Search의 2단계 검색으로 이미 90%의 시나리오를 커버할 수 있습니다. 코드 재사용 시나리오에서 벡터 검색의 실제 이점은 마케팅 문구만큼 크지 않습니다.
기여하기
버그 발견 → Issue 제기
새로운 아이디어 → 먼저 Issue에서 논의
코드 기여 → Fork + PR
유용하게 사용했다면 → star를 눌러更多人이 볼 수 있게 해주세요
English
In One Sentence
An MCP server that lets your AI search and reuse code from GitHub in real time. Writing auth? Search first. Writing middleware? Search first. Writing payment integration? Search first. Before AI writes any code, it finds the best implementation on GitHub — no reinventing the wheel. Also includes a "requirements analysis Agent" methodology so AI researches before building, no guessing.
The Problem
Does this sound familiar?
"Needed an auth module, spent 30 mins Googling, found code of questionable quality."
"There are great implementations on GitHub, but the AI never searches — it just writes from scratch."
"Every new feature feels like reinventing the wheel when answers are everywhere."
The problem is how AI codes today.
Current: AI wants to write → guesses from memory → wrong → rewrite → still wrong
Better: AI wants to write → searches GitHub → finds the best → reuses → tweaks → donegithub-code-rag puts GitHub inside your AI's toolbox. Search first, reuse second.
Core Capabilities
🔥 Real-time GitHub code search & reuse
Sorted by stars, finds the most mature projects first. Filter by language and star count.
User: Write a FastAPI database connection module
↓
AI: search_github("fastapi sqlalchemy database stars:>1000")
AI: read_github_file("tiangolo/fastapi", "docs_src/sql_app/main.py")
AI: search_code("create_engine sessionmaker")
↓
AI: I referenced the FastAPI official example, here you go:
# Source: tiangolo/fastapi/docs_src/sql_app/main.py
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
...No browser switching, no cloning repos, no dozens of tabs. Your AI searches GitHub on the fly while coding, finds the best implementation, reuses it.
📚 Read code auto-indexes, gets better over time
All read repos go into a local FTS5 full-text index. Next time you search for related code, results come back in milliseconds.
→ search_code("jwt authentication middleware")
Found 47 matches across 12 indexed repos:
- fastapi/.../auth.py:35 JWT bearer middleware
- django/.../auth.py:128 Token authentication
- ...The more you use it, the bigger your local code knowledge base gets, the faster AI codes.
🔄 GitHub API + official search page dual fallback
GitHub Search API: highest quality, sorted by stars (60 req/hr free, 5000 with Token)
GitHub official search page fallback: free unlimited quota, auto-degrade on rate limit
Zero git clone: all via REST API, no local disk bloat
🧠 Bonus: Requirements Analysis Agent
The system prompt hardcodes a workflow so AI doesn't jump straight into coding. It searches similar projects first, asks clarifying questions based on real examples, and only starts building after confirmation.
User: I want to build a blog system
↓
AI: [searched 10 relevant projects]
Do you want a standalone blog (like Hugo/Hexo) or a multi-user platform?
- Standalone blog (simple, great SEO)
- Multi-user platform (complex features, needs admin backend)
- Recommend based on GitHub projectsThink of it as "a senior engineer's methodology — included for free." You don't have to use it. The code search alone is worth it.
⚡ Zero git clone · Zero vector DB · Only 1 dependency
All via GitHub REST API — no repo cloning needed
SQLite + FTS5 full-text index — no vector DB or embeddings
Runtime depends only on
mcp>=1.0, everything else is Python stdlibStartup < 1 second, memory < 50MB
With vs Without
github-code-rag 없이 | github-code-rag 사용 | |
코딩 전 GitHub 검색 | 수동으로 브라우저에서 | AI가 자동으로 수행 |
코드 출처 | 모델 메모리에서 | 2억 개 이상의 GitHub 저장소 중 최고 |
코드 품질 | 모델 능력에 의존 | 오픈 소스의 어깨 위에 서서 |
출처 표시 | 누가 작성했는지 모름 |
|
새로운 기능마다 | 처음부터 시작 | 로컬 지식 베이스가 계속 성장 |
GitHub 속도 제한 | — | 공식 검색 페이지 대체, 무제한 |
빠른 시작
1. 설치
# Recommended: pipx (isolated environment)
pipx install github-code-rag
# Or uv
uv tool install github-code-rag
# Or pip
pip install github-code-rag2. 토큰 구성 (선택 사항이지만 권장)
export GITHUB_TOKEN=ghp_your_token_here토큰 없이도 작동합니다 — 내장된 GitHub 공식 검색 페이지 대체 기능으로 무료이며 무제한입니다. 토큰을 사용하면 GitHub API 할당량이 60회/시간 → 5000회/시간으로 증가합니다.
3. AI 클라이언트 구성
아래 "클라이언트 설정" 섹션을 참조하세요.
4. 사용해보기
설치 후 AI에게 다음과 같이 말해보세요:
"FastAPI JWT 인증 미들웨어를 작성해줘. 먼저 GitHub에서 가장 좋은 구현을 참조할 수 있도록 검색해줘."
코드를 작성하기 전에 GitHub를 검색하는지 확인하세요.
클라이언트 설정
모든 구성은 stdio 모드를 사용합니다. 구성 후 클라이언트를 다시 시작하세요. 설치 경로를 모르시나요?
which github-code-rag(macOS/Linux) 또는where github-code-rag(Windows)를 실행하세요.
Claude Code
~/.claude.json을 편집하고 다음을 추가하세요:
{
"mcpServers": {
"github-code-rag": {
"command": "github-code-rag",
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}Claude Desktop
설정 → 개발자 → 구성 편집으로 이동하여 다음을 추가하세요:
{
"mcpServers": {
"github-code-rag": {
"command": "github-code-rag"
}
}
}macOS 구성 경로:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows 구성 경로:
%APPDATA%\Claude\claude_desktop_config.json
Cursor
프로젝트 수준 (현재 프로젝트만): 프로젝트 루트에 .cursor/mcp.json을 생성하세요:
{
"mcpServers": {
"github-code-rag": {
"command": "github-code-rag"
}
}
}전역: 설정 → MCP → 새 서버 추가 → Stdio → github-code-rag 입력
Windsurf
설정 → MCP 서버 → MCP 서버 추가, stdio 모드 선택, 명령어:
github-code-rag구성 파일 위치:
macOS:
~/.codeium/windsurf/mcp_config.jsonWindows:
%APPDATA%\..\Roaming\Codeium\Windsurf\mcp_config.json
Cline / Roo Code
설정 → MCP 서버 → 새 MCP 서버 추가 → 로컬 실행 파일, 다음 입력:
Command: github-code-rag또는 구성 파일을 직접 편집:
Cline:
~/.cline/mcp.jsonRoo Code:
~/.roo-code/mcp.json
Codex CLI
~/.codex/config.toml을 편집하고 다음을 추가하세요:
[mcp_servers.github-code-rag]
command = "github-code-rag"OpenCode
OpenCode 구성에서 mcp 서버 섹션을 편집하세요:
{
"mcpServers": {
"github-code-rag": {
"command": "github-code-rag"
}
}
}모든 MCP 호환 클라이언트에서 작동합니다. 위에 나열되지 않은 클라이언트의 경우 설정은 기본적으로 동일합니다 —
command를github-code-rag로 지정하세요.
도구 목록
도구 | 설명 |
| GitHub 공식 API 저장소 검색, 별표 순으로 정렬 |
| GitHub 공식 검색 페이지 대체, 무료 무제한 할당량 |
| 저장소 디렉토리 구조 탐색 |
| 파일 내용 읽기, 로컬 지식 베이스에 자동 색인 |
| 색인된 코드에서 FTS5 전체 텍스트 검색 |
| 유사 프로젝트에 대한 검색 기록 조회 |
| 로컬 색인 상태 보기 |
| 데이터베이스 스키마 및 레코드 수 검사 |
| 과거 데이터 정리, 공간 확보 |
작동 방식
┌───────────────────────────────────────────────────────────┐
│ Your AI Client │
│ (Claude Code / Cursor / Codex / Claude Desktop / ...) │
└───────────────────────────┬───────────────────────────────┘
│ MCP protocol (stdio)
┌───────────────────────────▼───────────────────────────────┐
│ │
│ ┌─────────────────────────────────────────────────┐ │
│ │ System Prompt (Requirements Analysis Agent) │ │
│ │ · Search first · Iterative narrowing │ │
│ │ · Reuse-first · One question at a time │ │
│ └───────────────────────┬─────────────────────────┘ │
│ │ Guides AI tool usage │
│ ┌───────────────────────▼─────────────────────────┐ │
│ │ 9 MCP Tools │ │
│ │ search / browse / read / code search / history │ │
│ └───────────┬───────────────────────────┬─────────┘ │
│ │ │ │
│ ┌────────────▼───────────┐ ┌───────────▼──────────┐ │
│ │ GitHub REST API │ │ SQLite + FTS5 │ │
│ │ + GitHub search page │ │ Local code KB │ │
│ │ Zero git clone │ │ Trigram FTS │ │
│ └────────────────────────┘ └──────────────────────┘ │
│ │
└───────────────────────────────────────────────────────────┘왜 FTS5이며, 벡터 데이터베이스가 아닌가요?
FTS5 (우리가 사용하는 것) | 벡터 검색 | |
함수/클래스/키워드 검색 | 정확함 | 의미적 표류 |
"인증 구현 방법" | 아니요 | 예 |
추가 종속성 | 없음 (SQLite 내장) | 벡터 DB + 임베딩 모델 |
다운로드 크기 | < 1MB | 수십 ~ 수백 MB |
검색 지연 시간 | < 10ms | 수십 ~ 수백 ms |
우리의 접근 방식: 2단계 검색. 먼저 GitHub 검색을 사용하여 참조할 가치가 있는 저장소를 찾은 다음 ("어떤 프로젝트를 참조할 가치가 있는지"), FTS5를 사용하여 저장소 내에서 코드를 정확히 찾습니다 ("구현이 어디에 있는지").
벡터 검색? 코드 재사용의 경우, 종종 과장된 솔루션입니다. 코드를 검색할 때 "sessionmaker 사용 방법" 또는 "JWT 미들웨어 작성 방법"을 생각하지, "인증과 의미적으로 유사한 것"을 생각하지 않습니다.
비교
기능 | github-code-rag | codedb | codebase-rag | 공식 GitHub MCP |
공개 GitHub 코드 검색 및 재사용 | ✅ | ❌ (로컬 전용) | ✅ (클론 필요) | ✅ |
git clone 필요 없음 | ✅ | 해당 없음 | ❌ | ✅ |
로컬 코드 색인 (FTS5) | ✅ | ✅ (Zig 맞춤형) | ✅ (FTS5 + 벡터) | ❌ |
무료 검색 대체 (GitHub 페이지) | ✅ | ❌ | ❌ | ❌ |
요구사항 분석 에이전트 | ✅ (추가 기능) | ❌ | ❌ | ❌ |
필수 재사용 방법론 | ✅ (추가 기능) | ❌ | ❌ | ❌ |
검색 기록 / 카테고리 | ✅ | ❌ | ❌ | ❌ |
외부 종속성 | 1 (mcp) | 0 (단일 바이너리) | 많음 (Bun + ONNX) | 많음 |
시작 시간 | < 1초 | 매우 빠름 | 느림 | 빠름 |
한 문장으로 요약:
codedb / codebase-rag = 로컬 코드 검색 도구
공식 GitHub MCP = GitHub용 만능 도구
github-code-rag = GitHub 코드 재사용 전용 + 추가 방법론 에이전트
프로젝트 구조
├── server/
│ └── mcp_server.py # MCP server + system prompt
├── github/
│ └── connector.py # GitHub API wrapper (pure urllib, zero deps)
├── core/
│ ├── models.py # Data models
│ └── retrieval_engine.py # FTS5 search engine
├── storage/
│ └── sqlite_storage.py # SQLite + FTS5 + WAL + trigger sync
├── tests/
│ ├── test_retrieval.py
│ └── test_storage.py
├── .well-known/mcp.json # SSE mode config
└── pyproject.toml개발
# Clone
git clone https://github.com/suyu-creator/github-code-rag-mcp.git
cd github-code-rag-mcp
# Install dependencies
uv sync
# Run tests
uv run pytest
# Manual start (stdio mode)
uv run github-code-rag환경 변수:
GITHUB_TOKEN=ghp_xxx # GitHub API Token (recommended)
CODE_RAG_DATA_DIR=~/.code-rag # Data storage directory자주 묻는 질문 (FAQ)
어떤 MCP 클라이언트를 지원하나요?
모든 MCP 호환 클라이언트 — Claude Code, Claude Desktop, Cursor, Windsurf, Cline, Codex, Gemini CLI, OpenCode… MCP 서버를 구성할 수 있는 모든 클라이언트에서 작동합니다.
내 코드가 업로드되나요?
아니요. 모든 색인은 로컬 SQLite에 저장됩니다. GitHub API는 공개 저장소만 읽습니다. 코드가 기기를 떠나지 않습니다.
그냥 gh CLI를 사용하지 않는 이유는 무엇인가요?
MCP 도구는 AI에게 투명해야 하기 때문입니다 — 어떤 CLI가 설치되어 있는지 알 필요 없이 도구를 호출하기만 하면 됩니다. 또한 순수 Python 구현으로 시스템 종속성이 없습니다.
GitHub API 속도 제한이 걸리면 어떻게 되나요?
자동으로 GitHub 공식 검색 페이지로 전환됩니다. 무료, 무제한 할당량, 추가 구성 불필요. 약간 성능이 저하되지만 작동이 중단되지는 않습니다.
벡터 검색을 추가할 예정인가요?
아마도, 하지만 현재 우선순위는 아닙니다. 우리의 초점은 "재사용할 올바른 코드를 빠르게 찾는 것"입니다. 2단계 검색 (GitHub 검색 + FTS5)이 이미 90%의 사용 사례를 충족합니다. 코드 재사용에 대한 벡터 검색의 실제 이점은 마케팅 주장만큼 크지 않습니다.
기여
버그 발견 → 이슈 열기
새로운 아이디어 → 먼저 논의를 위해 이슈 열기
코드 기여 → 포크 + PR
유용하게 사용하셨다면 → 별표를 눌러 더 많은 사람들이 발견할 수 있도록 도와주세요
Maintenance
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceSelf-hosted MCP server for indexing and searching code repositories via hybrid search and deep code understanding.718MIT
- AlicenseNot gradedqualityDmaintenanceIntelligent code search MCP server with AST analysis, call graphs, dependency tracking, and semantic embeddings for developers.Apache 2.0
- AlicenseNot gradedqualityCmaintenanceMCP server for semantic code search and dependency graph analysis. Indexes codebases into a knowledge graph with vector embeddings for AI-powered code understanding.9MIT
- AlicenseAqualityAmaintenanceMCP server for semantic code search with AST-aware chunking, hybrid vectors, and query syntax.111Apache 2.0
Related MCP Connectors
An MCP server that gives your AI access to the source code and docs of all public github repos
MCP server for static security analysis of Android source code
A MCP server built for developers enabling Git based project management with project and personal…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/suyu-creator/github-code-rag-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server