Skip to main content
Glama
SiddheshDongare

FastMCP GitHub Automation Server

GIT-파일럿

파이썬 버전특허 깃허브

GIT-Pilot은 GitHub 운영을 위한 포괄적인 API 래퍼를 제공하는 강력한 GitHub 자동화 및 관리 도구입니다. FastMCP 기반 서버를 통해 GitHub 상호작용을 간소화하여 저장소, 풀 리퀘스트, 이슈 등을 쉽게 관리할 수 있습니다.

🌟 특징

🔐 인증 및 보안

  • Fernet을 사용한 암호화를 통한 안전한 토큰 관리

  • 토큰 만료 및 자동 정리

  • 속도 제한 처리 및 자동 재시도

  • 구성 가능한 인증 시간 초과

📦 저장소 관리

  • 저장소 생성 및 관리

  • 브랜치와 커밋 처리

  • 파일 작업(생성, 업데이트, 삭제)

  • 저장소 검색 및 필터링

  • 커밋 비교 및 기록

🔄 풀 리퀘스트 작업

  • 풀 리퀘스트 생성 및 관리

  • 병합 전략(병합, 스쿼시, 리베이스)

  • 상태 확인 검증

  • 갈등 감지 및 처리

  • 초안 홍보 지원

📝 이슈 관리

  • 문제 생성 및 업데이트

  • 라벨 관리

  • 양수인 처리

  • 댓글 관리

  • 이슈 검색 및 필터링

🛠 기술적 특징

  • 스레드 안전 작업

  • 자원 관리

  • 포괄적인 오류 처리

  • 자세한 로깅

  • 유형 안전

  • 구성 관리

  • FastMCP 서버 통합

Related MCP server: GitHub MCP Server Plus

🚀 시작하기

필수 조건

  • Python 3.12 이상

  • GitHub 계정

  • GitHub 개인 액세스 토큰

  • FastMCP CLI(선택 사항)

설치

  1. 저장소를 복제합니다.

지엑스피1

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

curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 가상 환경을 만들고 활성화하세요.

uv venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. uv를 사용하여 패키지를 설치하세요:

uv pip install -e .
  1. 환경 변수 설정: 프로젝트 루트에 .env 파일을 만듭니다.

GITHUB_TOKEN=your_github_token_here

기본 사용법

Claude Desktop 통합 설정

  1. GIT-Pilot 서버를 시작합니다.

uv run main.py
  1. Claude Desktop을 다운로드하고 설치하세요

  2. Claude Desktop 구성:

    • 클로드 데스크톱 열기

    • File > Settings > Developer > Edit Config 으로 이동하세요.

    • 다음 구성을 추가합니다.

{
    "mcpServers": {
        "GIT-Pilot": {
            "command": "uv",
            "args": [
                "--directory",
                "path\\to\\repo",
                "run",
                "main.py"
            ]
        }
    }
}
  1. Claude Desktop을 다시 시작하세요

  2. 채팅 창에서 망치 아이콘을 찾으세요. 이는 MCP 서버를 사용할 준비가 되었음을 나타냅니다.

API 예제

# Create a repository
await call_tool("create_repository",
    name="my-repo",
    description="My awesome repository",
    private=True,
    has_issues=True,
    has_wiki=True,
    has_projects=True,
    auto_init=True
)

# Create a pull request
await call_tool("create_pull_request",
    repo_path="owner/repo",
    title="New feature",
    head="feature-branch",
    base="main",
    body="Description of changes",
    draft=False
)

# List commits with filtering
await call_tool("list_commits",
    repo_path="owner/repo",
    branch="main",
    author="username",
    since="2024-01-01",
    until="2024-04-21",
    max_results=30
)

🔧 구성

서비스는 Config 클래스를 통해 구성할 수 있습니다.

@dataclass
class Config:
    TOKEN_TTL_HOURS: int = 24
    MAX_STORED_TOKENS: int = 1000
    CLEANUP_INTERVAL_SECONDS: int = 3600
    MAX_RETRIES: int = 3
    RETRY_DELAY_SECONDS: int = 5
    MAX_RESULTS_PER_PAGE: int = 100
    ENCRYPTION_KEY: bytes = Fernet.generate_key()

🛡 보안

  • 토큰은 Fernet을 사용하여 저장 중에 암호화됩니다.

  • 자동 토큰 만료 및 정리

  • 재시도를 통한 속도 제한 보호

  • 입력 검증

  • 포괄적인 오류 처리

  • 보안 토큰 정리

🔄 속도 제한

이 서비스에는 기본 제공 요금 제한 처리 기능이 포함되어 있습니다.

  • 속도 제한 시 자동 재시도

  • 구성 가능한 재시도 횟수

  • 재시도 간 지연

  • 속도 제한 상태 로깅

  • 지수 백오프

🧪 오류 처리

포괄적인 오류 처리:

  • 인증 실패

  • API 오류

  • 요금 제한

  • 잘못된 입력

  • 리소스 충돌

  • 네트워크 문제

  • 토큰 검증

  • 파일 작업

📈 로깅

자세한 로깅:

  • 타임스탬프

  • 로그 레벨

  • 함수 이름

  • 줄 번호

  • 오류 세부 정보

  • 스택 추적

  • 요금 제한 정보

  • 토큰 작업

🤝 기여하기

여러분의 참여를 환영합니다! 다음 단계를 따라주세요.

  1. 저장소를 포크하세요

  2. 기능 브랜치 생성

  3. 변경 사항을 커밋하세요

  4. 지점으로 밀어 넣기

  5. 풀 리퀘스트 만들기

📝 라이센스

이 프로젝트는 GNU General Public License v3.0에 따라 라이선스가 부여되었습니다. 자세한 내용은 LICENSE 파일을 참조하세요.

🙏 감사의 말

  • GitHub API 래퍼를 위한 PyGithub

  • 서버 프레임워크를 위한 FastMCP

  • 안전한 토큰 암호화를 위한 Fernet


GIT-Pilot 팀이 ❤️로 만들었습니다

-
security - not tested
A
license - permissive license
-
quality - not tested

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/SiddheshDongare/GIT-Pilot'

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