mcpField
G
GIT-Pilot

GIT-Pilot

ローカル
github.com/SiddheshDongareバージョン管理471 週間前に更新

GIT-Pilot について

GIT-Pilotは、リポジトリ、プルリクエスト、IssueをAPI経由で操作したい開発者向けの、FastMCPベースのGitHub管理サーバーです。ファイル、ブランチ、コミット、PRの操作に加え、トークン暗号化や期限切れの整理、レート制限時の再試行に対応します。

主な機能

  1. 01リポジトリの作成と管理
  2. 02ブランチ、コミット、ファイル操作
  3. 03プルリクエストの作成、検証、マージ
  4. 04Issue、ラベル、コメントの管理
  5. 05Fernetによるトークン暗号化と期限切れ整理
  6. 06レート制限への対応と自動再試行

活用シーン

  1. 01エージェント経由でのGitHubリポジトリ作成・管理
  2. 02プルリクエストの検証とマージ
  3. 03Issue検索とラベル、担当者、コメントの管理

MCP 対応

GIT-PilotはFastMCPで実装されたサーバーで、GitHubのリポジトリ、プルリクエスト、Issue操作をMCPクライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MseeP.ai Security Assessment Badge

GIT-Pilot

GIT-Pilot ロゴ

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

⭐️ このプロジェクトが役に立ったら、ぜひスターを付けてください! ⭐️

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

🌟 機能

🔐 認証とセキュリティ
  • Fernet による暗号化を用いた安全なトークン管理
  • トークンの有効期限と自動クリーンアップ
  • レート制限への対応と自動再試行
  • 認証タイムアウトの設定
📦 リポジトリ管理
  • リポジトリの作成と管理
  • ブランチとコミットの処理
  • ファイル操作(作成、更新、削除)
  • リポジトリの検索とフィルタリング
  • コミットの比較と履歴
🔄 プルリクエスト操作
  • プルリクエストの作成と管理
  • マージ戦略(マージ、スカッシュ、リベース)
  • ステータスチェックの検証
  • コンフリクトの検出と処理
  • ドラフト PR に対応
📝 イシュー管理
  • イシューの作成と更新
  • ラベル管理
  • 担当者の管理
  • コメント管理
  • イシューの検索とフィルタリング
🛠 技術的な機能
  • スレッドセーフな操作
  • リソース管理
  • 包括的なエラー処理
  • 詳細なログ記録
  • 型安全性
  • 設定管理
  • FastMCP サーバーとの統合

🚀 はじめに

前提条件
  • Python 3.12 以上
  • GitHub アカウント
  • GitHub Personal Access Token
  • 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 Desktop との連携設定
  1. GIT-Pilot サーバーを起動します:
uv run main.py
  1. Claude Desktop をダウンロードしてインストールします

  2. Claude Desktop を設定します:

    • 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 チームが ❤️ を込めて作成しました

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。