Skip to main content
Glama
suyu-creator

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 저장소에서 최고의 코드 선택

코드 품질

전적으로 모델 수준에 의존

오픈소스의 어깨 위에 서서

출처 표시

누구 코드를 베꼈는지 모름

# Source: owner/repo/file.py 자동 표시

새 기능 작성 시마다

처음부터 시작

로컬 지식 베이스가 점점 쌓임

GitHub 속도 제한

공식 검색 페이지 폴백, 무제한 할당량


빠른 시작

1. 설치

# 推荐:pipx 一键安装(隔离环境)
pipx install github-code-rag

# 或者 uv
uv tool install github-code-rag

# 或者 pip
pip install github-code-rag

2. Token 설정 (권장하지만 필수는 아님)

export GITHUB_TOKEN=ghp_your_token_here

Token이 없어도 사용 가능합니다 — 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.json

  • Windows 설정 파일 경로: %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.json

  • Windows: %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.json

  • Roo 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로 지정하면 됩니다.


도구 목록

도구

설명

search_github

GitHub 공식 API로 저장소 검색, 별표 순 정렬

web_search_github

GitHub 공식 검색 페이지 폴백, 무료 무제한 할당량

list_github_files

저장소 디렉토리 구조 탐색

read_github_file

파일 내용 읽기, 로컬 지식 베이스에 자동 인덱싱

search_code

읽은 코드에서 FTS5 전문 검색

search_history

유사 프로젝트의 검색 기록 조회

index_status

로컬 인덱스 상태 확인

db_inspect

데이터베이스 테이블 구조 및 레코드 수 확인

db_cleanup

이전 데이터 정리, 공간 확보


작동 원리

┌───────────────────────────────────────────────────────────┐
│                    你的 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 → done

github-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 projects

Think 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 stdlib

  • Startup < 1 second, memory < 50MB


With vs Without

github-code-rag 없이

github-code-rag 사용

코딩 전 GitHub 검색

수동으로 브라우저에서

AI가 자동으로 수행

코드 출처

모델 메모리에서

2억 개 이상의 GitHub 저장소 중 최고

코드 품질

모델 능력에 의존

오픈 소스의 어깨 위에 서서

출처 표시

누가 작성했는지 모름

# Source: owner/repo/file.py 자동 태그

새로운 기능마다

처음부터 시작

로컬 지식 베이스가 계속 성장

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-rag

2. 토큰 구성 (선택 사항이지만 권장)

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

  • Windows 구성 경로: %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.json

  • Windows: %APPDATA%\..\Roaming\Codeium\Windsurf\mcp_config.json

Cline / Roo Code

설정 → MCP 서버 → 새 MCP 서버 추가 → 로컬 실행 파일, 다음 입력:

Command: github-code-rag

또는 구성 파일을 직접 편집:

  • Cline: ~/.cline/mcp.json

  • Roo 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 호환 클라이언트에서 작동합니다. 위에 나열되지 않은 클라이언트의 경우 설정은 기본적으로 동일합니다 — commandgithub-code-rag로 지정하세요.


도구 목록

도구

설명

search_github

GitHub 공식 API 저장소 검색, 별표 순으로 정렬

web_search_github

GitHub 공식 검색 페이지 대체, 무료 무제한 할당량

list_github_files

저장소 디렉토리 구조 탐색

read_github_file

파일 내용 읽기, 로컬 지식 베이스에 자동 색인

search_code

색인된 코드에서 FTS5 전체 텍스트 검색

search_history

유사 프로젝트에 대한 검색 기록 조회

index_status

로컬 색인 상태 보기

db_inspect

데이터베이스 스키마 및 레코드 수 검사

db_cleanup

과거 데이터 정리, 공간 확보


작동 방식

┌───────────────────────────────────────────────────────────┐
│                    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

  • 유용하게 사용하셨다면 → 별표를 눌러 더 많은 사람들이 발견할 수 있도록 도와주세요

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Related MCP Servers

View all related MCP servers

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…

View all MCP Connectors

Latest Blog Posts

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