FastMCP GitHub Automation Server

Integrations

  • Supports environment variables management through .env files for storing configuration like GitHub tokens securely.

  • Enables interaction with Git version control system for repository operations, branch management, and commit handling.

  • Provides a comprehensive API wrapper for GitHub operations, enabling automation and management of repositories, pull requests, issues, branches, commits, and file operations. Includes features for secure token management, merge strategies, status checks, label management, and repository search.

GIT-파일럿

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

🌟 특징

🔐 인증 및 보안

  • Fernet을 사용한 암호화를 통한 안전한 토큰 관리
  • 토큰 만료 및 자동 정리
  • 속도 제한 처리 및 자동 재시도
  • 구성 가능한 인증 시간 초과

📦 저장소 관리

  • 저장소 생성 및 관리
  • 브랜치와 커밋 처리
  • 파일 작업(생성, 업데이트, 삭제)
  • 저장소 검색 및 필터링
  • 커밋 비교 및 기록

🔄 풀 리퀘스트 작업

  • 풀 리퀘스트 생성 및 관리
  • 병합 전략(병합, 스쿼시, 리베이스)
  • 상태 확인 검증
  • 갈등 감지 및 처리
  • 초안 홍보 지원

📝 이슈 관리

  • 문제 생성 및 업데이트
  • 라벨 관리
  • 양수인 처리
  • 댓글 관리
  • 이슈 검색 및 필터링

🛠 기술적 특징

  • 스레드 안전 작업
  • 자원 관리
  • 포괄적인 오류 처리
  • 자세한 로깅
  • 유형 안전
  • 구성 관리
  • FastMCP 서버 통합

🚀 시작하기

필수 조건

  • 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

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

FastMCP 기반 서버를 통해 GitHub 작업을 위한 포괄적인 API 래퍼를 제공하고, 보안 인증을 통해 저장소 관리, 풀 리퀘스트, 이슈 및 기타 GitHub 상호작용을 간소화합니다.

  1. 🌟 특징
    1. 🔐 인증 및 보안
    2. 📦 저장소 관리
    3. 🔄 풀 리퀘스트 작업
    4. 📝 이슈 관리
    5. 🛠 기술적 특징
  2. 🚀 시작하기
    1. 필수 조건
    2. 설치
    3. 기본 사용법
    4. API 예제
  3. 🔧 구성
    1. 🛡 보안
      1. 🔄 속도 제한
        1. 🧪 오류 처리
          1. 📈 로깅
            1. 🤝 기여하기
              1. 📝 라이센스
                1. 🙏 감사의 말

                  Related MCP Servers

                  • A
                    security
                    F
                    license
                    A
                    quality
                    Provides tools for mapping and analyzing GitHub repositories. It allows users to set a GitHub Personal Access Token and retrieve detailed information about a specified repository, including its structure and summary statistics.
                    Last updated -
                    2
                    12
                    TypeScript
                  • -
                    security
                    F
                    license
                    -
                    quality
                    Enables interaction with GitHub through the GitHub API, supporting file operations, repository management, advanced search, and issue tracking with comprehensive error handling and automatic branch creation.
                    Last updated -
                    9
                    1
                    TypeScript
                  • -
                    security
                    F
                    license
                    -
                    quality
                    Facilitates authentication with GitHub using OAuth protocol, allowing secure access and interaction with GitHub repositories and services.
                    Last updated -
                    2
                    Python
                    • Apple
                    • Linux
                  • -
                    security
                    F
                    license
                    -
                    quality
                    Enables interaction with GitHub issues via the Model Context Protocol, allowing users to list and create issues with secure authentication.
                    Last updated -
                    Python

                  View all related MCP servers

                  ID: 3uqvmqqorf