Skip to main content
Glama

FastMCP GitHub Automation Server

GITパイロット

Pythonバージョン ライセンス GitHub

GIT-Pilotは、GitHub操作のための包括的なAPIラッパーを提供する、強力なGitHub自動化・管理ツールです。FastMCPベースのサーバーを通じてGitHubとのやり取りを簡素化し、リポジトリ、プルリクエスト、問題管理などを容易にします。

🌟 特徴

🔐 認証とセキュリティ

  • Fernetを使用した暗号化による安全なトークン管理

  • トークンの有効期限と自動クリーンアップ

  • レート制限の処理と自動再試行

  • 設定可能な認証タイムアウト

📦 リポジトリ管理

  • リポジトリの作成と管理

  • ブランチとコミットを処理する

  • ファイル操作(作成、更新、削除)

  • リポジトリの検索とフィルタリング

  • コミットの比較と履歴

🔄 プルリクエスト操作

  • プルリクエストの作成と管理

  • マージ戦略(マージ、スカッシュ、リベース)

  • ステータスチェックの検証

  • 競合の検出と処理

  • ドラフトPRサポート

📝 問題管理

  • 問題の作成と更新

  • ラベル管理

  • 譲受人の取り扱い

  • コメント管理

  • 問題の検索とフィルタリング

🛠 技術的特徴

  • スレッドセーフな操作

  • リソース管理

  • 包括的なエラー処理

  • 詳細なログ記録

  • 型安全性

  • 構成管理

  • FastMCPサーバー統合

🚀 はじめに

前提条件

  • Python 3.12以上

  • GitHubアカウント

  • GitHub 個人アクセストークン

  • FastMCP CLI(オプション)

インストール

  1. リポジトリをクローンします。

git clone https://github.com/yourusername/GIT-Pilot.git cd GIT-Pilot
  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 デスクトップ統合の設定

  1. GIT-Pilot サーバーを起動します。

uv run main.py
  1. Claude Desktopをダウンロードしてインストールする

  2. Claude デスクトップを設定します。

    • クロードデスクトップを開く

    • File > Settings > Developer > Edit Configに移動します

    • 次の構成を追加します。

{ "mcpServers": { "GIT-Pilot": { "command": "uv", "args": [ "--directory", "path\\to\\repo", "run", "main.py" ] } } }
  1. Claudeデスクトップを再起動します

  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

Related MCP Servers

  • A
    security
    -
    license
    A
    quality
    MCP Server for the GitHub API, enabling file operations, repository management, search functionality, and more.
    Last updated -
    22,573
    72,630
    MIT License
  • A
    security
    -
    license
    A
    quality
    MCP Server for the GitHub API, providing features for file operations, repository management, and advanced search, with automatic branch creation and comprehensive error handling.
    Last updated -
    18
    0
    4
    • Linux
    • Apple
  • -
    security
    -
    license
    -
    quality
    Provides tools for interacting with GitHub's API through the MCP protocol, allowing users to create repositories, push content, and retrieve user information.
    Last updated -
  • A
    security
    -
    license
    A
    quality
    A MCP server that provides access to GitHub trending repositories and developers data through a simple API interface.
    Last updated -
    2
    35
    MIT License
    • Apple

View all related MCP servers

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