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.
Integrations
Allows interaction with the GitHub API through PyGithub. Provides tools for managing issues, repositories, and pull requests, including creating and updating issues, managing comments, handling labels, assignees, and milestones.
PyGithub MCP サーバー
PyGithubを介してGitHub APIとやり取りするためのツールを提供するモデルコンテキストプロトコルサーバー。このサーバーにより、AIアシスタントは課題、リポジトリ、プルリクエストの管理といったGitHub操作を実行できるようになります。
特徴
- モジュラーツールアーキテクチャ:
- 有効化/無効化できる設定可能なツールグループ
- ドメイン固有の組織(問題、リポジトリなど)
- ファイルまたは環境変数による柔軟な設定
- モジュール設計による明確な関心の分離
- 一貫したパターンによる簡単な拡張
- 完全な GitHub の問題管理:
- 問題の作成と更新
- 問題の詳細を取得し、リポジトリの問題を一覧表示する
- コメントの追加、一覧表示、更新、削除
- 問題ラベルを管理する
- 担当者とマイルストーンを管理する
- スマートなパラメータ処理:
- オプションパラメータのための動的なkwargsの構築
- GitHubオブジェクトの適切な型変換
- すべての入力パラメータの検証
- 無効な入力に対するエラーメッセージをクリアする
- 堅牢な実装:
- PyGithub 経由のオブジェクト指向 GitHub API のインタラクション
- 一元化されたGitHubクライアント管理
- 適切なエラー処理とレート制限
- MCPツールによるクリーンなAPI抽象化
- 包括的なページネーションサポート
- デバッグのための詳細なログ
ドキュメント
包括的なガイドは、docs/guides ディレクトリで入手できます。
- error-handling.md: エラーの種類、処理パターン、ベストプラクティス
- security.md: 認証、アクセス制御、コンテンツセキュリティ
- tool-reference.md: 例を含む詳細なツールドキュメント
PyGithub MCP サーバーの使用に関する詳細については、これらのガイドを参照してください。
使用例
発行業務
- 問題の作成
- 問題の詳細を取得する
- 問題の更新
コメント操作
- コメントを追加する
- リストコメント
- コメントの更新
ラベル操作
- ラベルの追加
- ラベルの削除
すべての操作はオプションのパラメータをインテリジェントに処理します。
- API呼び出しには提供されたパラメータのみが含まれます
- プリミティブ型を GitHub オブジェクトに変換します (例: マイルストーン番号をマイルストーン オブジェクトに変換)
- 無効なパラメータに対して明確なエラーメッセージを表示します
- 該当する場合はページ区切りを自動的に処理します
インストール
- 仮想環境を作成してアクティブ化します。
- 依存関係をインストールします:
構成
基本構成
サーバーを MCP 設定 (例: claude_desktop_config.json
またはcline_mcp_settings.json
) に追加します。
ツールグループの構成
サーバーは、設定を通じてツールグループを個別に有効化または無効化できます。これは以下の2つの方法で設定できます。
1. 設定ファイル
JSON 構成ファイル (例: pygithub_mcp_config.json
) を作成します。
次に、環境でこのファイルを指定します。
2. 環境変数
または、環境変数を使用してツール グループを構成します。
デフォルトでは、 issues
ツールグループのみが有効になっています。詳細な設定オプションについては、 README.config.md
ご覧ください。
発達
テスト
このプロジェクトには包括的なテスト スイートが含まれています。
注: 現在、多くのテストが失敗しており、調査中です。これは既知の問題であり、現在積極的に取り組んでいます。
MCP Inspectorによるテスト
MCP インスペクターを使用して開発中に MCP ツールをテストします。
MCP Inspector の Web UI を使用して次の操作を行います。
- 利用可能なツールを試してみる
- 実際のGitHubリポジトリでテストする
- 成功とエラーのケースを検証する
- 作業ペイロードを文書化する
プロジェクト構造
トラブルシューティング
- サーバーの起動に失敗しました:
- MCP設定でvenv Pythonパスを確認する
- すべての要件がvenvにインストールされていることを確認する
- GITHUB_PERSONAL_ACCESS_TOKENが設定され有効であることを確認します
- ビルド エラー:
- uv ビルドで --no-build-isolation フラグを使用する
- Python 3.10以降が使用されていることを確認する
- すべての依存関係がインストールされていることを確認する
- GitHub API エラー:
- トークンの権限と有効性を確認する
- 詳細なエラートレースはpygithub_mcp_server.logで確認してください。
- レート制限を超えていないことを確認する
依存関係
- Python 3.10以上
- MCP Python SDK
- ピダンティック
- パイGitHub
- UV パッケージ マネージャー
ライセンス
マサチューセッツ工科大学
You must be authenticated.
Tools
AI アシスタントが PyGithub ライブラリを介して GitHub と対話できるようにし、インテリジェントなパラメータ処理とエラー管理を備えた問題、リポジトリ、プル リクエスト、その他の GitHub 操作を管理するためのツールを提供します。