Skip to main content
Glama

GithubMCP

프로덕션급 개인 개발자 어시스턴트 MCP 서버

License: MIT Python: 3.11+ Managed by: uv MCP Compatible Code style: ruff Type checked with: mypy

AI 모델(Claude, Cursor 등)을 GitHub 워크플로우, CI/CD 파이프라인, 로컬 작업 공간 컨텍스트, 코드 분석 도구에 원활하게 연결합니다.


개요

GithubMCP는 개발자를 위해 설계된 Model Context Protocol(MCP) 서버입니다. AI 어시스턴트를 개발 환경에 직접 연결하여 다음 작업을 수행할 수 있습니다:

  • 공개 및 비공개 리포지토리의 GitHub 리포지토리, 풀 리퀘스트, 이슈, 커밋, 코드를 검사합니다.

  • 대화를 통해 리포지토리의 공개/비공개(public/private) 상태와 가시성을 직접 관리합니다.

  • CI/CD 워크플로우 실행을 모니터링하고 실패한 GitHub Actions 빌드 단계를 분석합니다.

  • 사용자가 정의한 허용 경로 내에서 로컬 파일시스템 작업 공간을 안전하게 검사합니다.

  • 코드 품질을 분석하고, 복잡도 지표를 계산하며, TODO를 찾고, 하드코딩된 시크릿과 같은 잠재적 보안 문제를 감지합니다.

STDIO(Claude Desktop, Cursor) 및 SSE(웹 클라이언트용 Server-Sent Events) 전송 모드를 모두 지원합니다.


Related MCP server: GitHub MCP Server

도구 목록

GithubMCP은 13개의 특화된 도구를 제공합니다:

카테고리

도구 이름

설명

GitHub

search_repos

언어 및 정렬 필터를 사용하여 공개·비공개 사용자/조직 리포지토리를 검색합니다.

GitHub

inspect_pr

PR 세부 정보, 변경된 파일, 추가/삭제 통계, 리뷰 댓글을 가져옵니다.

GitHub

inspect_issue

이슈 상태, 담당자, 연결된 PR, 라벨, 최근 댓글을 살펴봅니다.

GitHub

search_code

확장자 필터를 사용하여 리포지토리 전체에서 코드 패턴을 검색합니다.

GitHub

recent_commits

diff 통계와 작성자 정보가 포함된 최근 커밋 기록을 가져옵니다.

GitHub

update_repo_visibility

리포지토리의 공개 상태를 **private(비공개)****public(공개)**로 전환합니다.

CI/CD

check_ci_status

GitHub Actions 상태(성공/실패/진행 중)와 실패한 단계의 로그를 확인합니다.

Filesystem

read_file

MIME 유형 감지와 크기 검증을 통해 로컬 파일 내용을 안전하게 읽습니다.

Filesystem

list_directory

파일 크기, mtime, glob 필터와 함께 디렉터리 트리 구조를 나열합니다.

Filesystem

search_local_files

정규식/패턴을 주변 줄 컨텍스트와 함께 비동기적으로 파일에서 검색합니다.

Filesystem

get_project_context

프로젝트 기술 스택(Node, Python, Rust, Go, Docker) 및 개발 명령어를 감지합니다.

Analysis

generate_change_summary

git refs를 비교하고 커밋을 Features(기능), Fixes(수정), Breaking Changes(호환성 파괴 변경) 등으로 분류합니다.

Analysis

analyze_code_quality

코드 줄 수, 복잡도 추정치, TODO 주석, 시크릿 스멜(하드코딩된 비밀값)을 계산합니다.


빠른 시작

1. 사전 준비

  • Python 3.11+

  • uv (빠른 Python 패키지 관리자)

uv를 설치합니다(아직 설치되지 않은 경우):

# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

2. 클론 및 설정

git clone https://github.com/Dhananjayrbiraris/github-mcp.git
cd github-mcp

# Install dependencies and sync virtual environment
uv sync

3. 환경 변수 구성

.env.example 템플릿을 .env로 복사합니다:

cp .env.example .env

.env 파일에 GitHub Personal Access Token을 입력합니다:

# GitHub Personal Access Token (Classic PAT with 'repo', 'workflow', 'read:user' scopes)
GITHUB_TOKEN=ghp_your_github_token_here

# Default GitHub Username (Optional)
GITHUB_USERNAME=your_username

# Sandboxed directories allowed for local filesystem operations
ALLOWED_PATHS=["~/projects", "~/workspace", "."]

# Max file size limit in MB for reading files
MAX_FILE_SIZE_MB=10

# Default Transport mode: "stdio" or "sse"
TRANSPORT=stdio

GitHub 토큰 생성하기: GitHub Settings -> Developer settings -> Personal access tokens (classic)로 이동하여 repo, workflow, read:user 권한을 가진 토큰을 생성하세요.


클라이언트 설정 가이드

A. Claude Desktop

1. Claude Desktop 설정 파일을 엽니다:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

2. github-mcp 서버 추가:

{
  "mcpServers": {
    "github-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/github-mcp",
        "run",
        "python",
        "-m",
        "github_mcp.main",
        "--transport",
        "stdio"
      ],
      "env": {
        "GITHUB_TOKEN": "ghp_your_personal_access_token_here"
      }
    }
  }
}

(Windows에서는 백슬래시를 사용하세요. 예: C:\\Users\\사용자이름\\경로\\github-mcp 또는 슬래시를 사용해도 됩니다.)

3. Claude Desktop 재시작

Claude Desktop을 열고 프롬프트 입력창 오른쪽 아래의 Tools 아이콘을 클릭하면 연결된 모든 GithubMCP 도구를 확인할 수 있습니다.


B. Cursor IDE

Cursor에서:

  1. Cursor Settings -> Features -> MCP로 이동합니다.

  2. + Add New MCP Server를 클릭합니다.

  3. 다음을 입력합니다:

    • Name: github-mcp

    • Type: command

    • Command: uv --directory /path/to/github-mcp run python -m github_mcp.main --transport stdio


C. Server-Sent Events(SSE) 모드 / 웹 클라이언트

MCP 서버를 HTTP / Server-Sent Events로 실행하려면:

uv run python -m github_mcp.main --transport sse --host 0.0.0.0 --port 8000

SSE 엔드포인트는 http://localhost:8000/sse에서 사용할 수 있습니다.


보안 및 샌드박싱

  1. 경로 샌드박싱: 로컬 파일시스템 도구(read_file, list_directory, search_local_files, get_project_context)는 ALLOWED_PATHS에 대해 경로 탐색(PATH_TRANSVERSAL) 검증을 엄격히 적용합니다. 허용 목록 밖의 경로에 접근하면 SecurityError가 발생합니다.

  2. 시크릿 관리: 토큰과 자격 증명은 절대로 로그나 외부에 노출되지 않습니다.

  3. Rate Limit Resilience: GitHub API 요청 제한(rate limit) 시 자동으로 지수 백오프(backoff) 재시도를 수행합니다.


개발 및 테스트

전체 테스트 및 품질 검사 제품군을 실행합니다:

# Run pytest unit tests
uv run pytest

# Run linter
uv run ruff check .

# Check code formatting
uv run ruff format --check .

# Run strict type checking
uv run mypy src/

리포지토리 구조

github-mcp/
├── .github/workflows/ci.yml # GitHub Actions CI workflow
├── src/github_mcp/
│   ├── __init__.py
│   ├── main.py              # Server entrypoint & MCP tool registrations
│   ├── config.py            # Pydantic Settings model
│   ├── github_tools.py      # GitHub API integrations & visibility controls
│   ├── file_tools.py        # Sandboxed local filesystem operations
│   ├── ci_tools.py          # GitHub Actions CI/CD monitoring
│   ├── analysis_tools.py    # Diff categorization & code quality analyzer
│   └── utils.py             # Path safety, error handling, rate limiting
├── tests/
│   ├── conftest.py          # Pytest fixtures and mocks
│   ├── test_github.py       # GitHub tools unit tests
│   ├── test_files.py        # Filesystem tools unit tests
│   └── test_ci.py           # CI status tools unit tests
├── docs/
│   ├── architecture.md      # System architecture & data flow
│   └── tools_reference.md   # Complete API schemas for all 13 tools
├── pyproject.toml           # Project dependencies & tool configurations
├── .env.example             # Environment variable template
├── CONTRIBUTING.md          # Open-source contribution guidelines
├── SECURITY.md              # Security policy & vulnerability reporting
└── LICENSE                  # MIT License

라이선스

이 프로젝트는 MIT License에 따라 라이선스가 부여되며, 개인 및 상업적 용도로 자유롭게 사용할 수 있습니다.


Install Server
A
license - permissive license
A
quality
C
maintenance

Maintenance

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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

  • Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…

  • Screens public GitHub repos and PRs to generate risk maps, findings, and merge-readiness signals.

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/Dhananjayrbiraris/github-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server