GitHub MCP サーバー
GitHub API 用の MCP サーバー。ファイル操作、リポジトリ管理、検索機能などを有効にします。
ミッションスクワッドの改造
github pat はリクエストごとに動的になり、環境変数を介して含める必要がなくなりましたが、依然として環境変数にフォールバックします。
名前: mcp-github
特徴
自動ブランチ作成: ファイルを作成/更新したり変更をプッシュしたりするときに、ブランチが存在しない場合は自動的に作成されます。
包括的なエラー処理: 一般的な問題に対する明確なエラーメッセージ
Git 履歴の保存: 強制プッシュなしで適切な Git 履歴を維持する操作
バッチ操作: 単一ファイルと複数ファイルの操作の両方をサポート
高度な検索: コード、問題/PR、ユーザーの検索をサポート
ツール
create_or_update_fileリポジトリ内の単一のファイルを作成または更新する
入力:
owner(文字列): リポジトリの所有者(ユーザー名または組織)repo(文字列): リポジトリ名path(文字列): ファイルを作成/更新するパスcontent(文字列): ファイルの内容message(文字列): コミットメッセージbranch(文字列): ファイルを作成/更新するブランチsha(オプションの文字列): 置き換えられるファイルのSHA (更新用)
戻り値: ファイルの内容とコミットの詳細
push_files1回のコミットで複数のファイルをプッシュする
入力:
owner(文字列): リポジトリの所有者repo(文字列): リポジトリ名branch(文字列): プッシュ先のブランチfiles(配列): プッシュするファイル。pathとcontentがそれぞれ指定されます。message(文字列): コミットメッセージ
戻り値: 更新されたブランチ参照
search_repositoriesGitHubリポジトリを検索する
入力:
query(文字列): 検索クエリpage(オプションの数値):ページ番号perPage(オプションの数値):1ページあたりの結果数(最大100件)
戻り値: リポジトリ検索結果
create_repository新しいGitHubリポジトリを作成する
入力:
name(文字列): リポジトリ名description(オプションの文字列): リポジトリの説明private(オプションのブール値): リポジトリを非公開にするかどうかautoInit(オプションのブール値): READMEで初期化する
戻り値: 作成されたリポジトリの詳細
get_file_contentsファイルまたはディレクトリの内容を取得する
入力:
owner(文字列): リポジトリの所有者repo(文字列): リポジトリ名path(文字列): ファイル/ディレクトリへのパスbranch(オプションの文字列):コンテンツを取得するブランチ
戻り値: ファイル/ディレクトリの内容
create_issue新しい問題を作成する
入力:
owner(文字列): リポジトリの所有者repo(文字列): リポジトリ名title(文字列): 問題のタイトルbody(オプションの文字列): 問題の説明assignees(オプションの文字列[]):割り当てるユーザー名labels(オプションの文字列[]):追加するラベルmilestone(オプションの番号):マイルストーン番号
返品: 作成された問題の詳細
create_pull_request新しいプルリクエストを作成する
入力:
owner(文字列): リポジトリの所有者repo(文字列): リポジトリ名title(文字列): PRのタイトルbody(オプションの文字列): PRの説明head(文字列): 変更を含むブランチbase(文字列): マージ先のブランチdraft(オプションのブール値): ドラフト PR として作成maintainer_can_modify(オプションのブール値): メンテナーによる編集を許可する
戻り値: 作成されたプルリクエストの詳細
fork_repositoryリポジトリをフォークする
入力:
owner(文字列): リポジトリの所有者repo(文字列): リポジトリ名organization(オプションの文字列):フォーク先の組織
戻り値: フォークされたリポジトリの詳細
create_branch新しいブランチを作成する
入力:
owner(文字列): リポジトリの所有者repo(文字列): リポジトリ名branch(文字列): 新しいブランチの名前from_branch(オプションの文字列): ソースブランチ (デフォルトはリポジトリのデフォルト)
戻り値: 作成されたブランチ参照
list_issues
リポジトリの問題の一覧表示とフィルタリング
入力:
owner(文字列): リポジトリの所有者repo(文字列): リポジトリ名state(オプションの文字列):状態(「open」、「closed」、「all」)でフィルタリングlabels(オプションの文字列[]):ラベルでフィルタリングsort(オプションの文字列): ('created'、'updated'、'comments') で並べ替えdirection(オプションの文字列):並べ替えの方向('asc'、'desc')since(オプションの文字列): 日付でフィルタリング (ISO 8601 タイムスタンプ)page(オプションの数字): ページ番号per_page(オプションの数値):ページあたりの結果数
戻り値: 問題の詳細の配列
update_issue
既存の問題を更新する
入力:
owner(文字列): リポジトリの所有者repo(文字列): リポジトリ名issue_number(数値): 更新する問題番号title(オプションの文字列):新しいタイトルbody(オプションの文字列): 新しい説明state(オプションの文字列):新しい状態(「open」または「closed」)labels(オプションの文字列[]):新しいラベルassignees(オプションの文字列[]): 新しい担当者milestone(オプションの番号):新しいマイルストーン番号
返品: 問題の詳細を更新しました
add_issue_comment
問題にコメントを追加する
入力:
owner(文字列): リポジトリの所有者repo(文字列): リポジトリ名issue_number(数値): コメントする問題番号body(文字列): コメントテキスト
戻り値: 作成されたコメントの詳細
search_code
GitHubリポジトリ全体でコードを検索する
入力:
q(文字列): GitHubコード検索構文を使用した検索クエリsort(オプションの文字列): ソートフィールド ('indexed' のみ)order(オプションの文字列): ソート順 ('asc' または 'desc')per_page(オプションの数値):1ページあたりの結果数(最大100件)page(オプションの数字): ページ番号
戻り値: リポジトリコンテキストを含むコード検索結果
search_issues
問題とプルリクエストを検索する
入力:
q(文字列): GitHub の問題検索構文を使用した検索クエリsort(オプションの文字列): 並べ替えフィールド (コメント、反応、作成など)order(オプションの文字列): ソート順 ('asc' または 'desc')per_page(オプションの数値):1ページあたりの結果数(最大100件)page(オプションの数字):ページ番号
戻り値: 問題とプルリクエストの検索結果
search_users
GitHubユーザーを検索
入力:
q(文字列): GitHubユーザーの検索構文を使用した検索クエリsort(オプションの文字列): 並べ替えフィールド (フォロワー、リポジトリ、参加)order(オプションの文字列): ソート順 ('asc' または 'desc')per_page(オプションの数値):1ページあたりの結果数(最大100件)page(オプションの数字):ページ番号
返されるもの: ユーザー検索結果
list_commits
リポジトリ内のブランチのコミットを取得します
入力:
owner(文字列): リポジトリの所有者repo(文字列): リポジトリ名page(オプションの文字列):ページ番号per_page(オプションの文字列):ページあたりのレコード数sha(オプションの文字列): ブランチ名
戻り値: コミットのリスト
get_issue
リポジトリ内の問題の内容を取得します
入力:
owner(文字列): リポジトリの所有者repo(文字列): リポジトリ名issue_number(数値): 取得する問題番号
戻り値: Github Issueオブジェクトと詳細
get_pull_request
特定のプルリクエストの詳細を取得する
入力:
owner(文字列): リポジトリの所有者repo(文字列): リポジトリ名pull_number(数値): プルリクエスト番号
戻り値: 差分とレビューステータスを含むプルリクエストの詳細
list_pull_requests
リポジトリのプルリクエストの一覧表示とフィルタリング
入力:
owner(文字列): リポジトリの所有者repo(文字列): リポジトリ名state(オプションの文字列):状態(「open」、「closed」、「all」)でフィルタリングhead(オプションの文字列): ヘッドユーザー/組織とブランチでフィルタリングbase(オプションの文字列): ベースブランチでフィルタリングsort(オプションの文字列): ('created'、'updated'、'popularity'、'long-running') で並べ替えdirection(オプションの文字列):並べ替えの方向('asc'、'desc')per_page(オプションの数値):1ページあたりの結果数(最大100件)page(オプションの数字):ページ番号
戻り値: プルリクエストの詳細の配列
create_pull_request_review
プルリクエストのレビューを作成する
入力:
owner(文字列): リポジトリの所有者repo(文字列): リポジトリ名pull_number(数値): プルリクエスト番号body(文字列): レビューコメントのテキストevent(文字列):レビューアクション('APPROVE'、'REQUEST_CHANGES'、'COMMENT')commit_id(オプションの文字列): レビューするコミットのSHAcomments(オプションの配列): 行固有のコメント。それぞれ次の内容が含まれます。path(文字列): ファイルパスposition(数値):diff内の行位置body(文字列): コメントテキスト
返品: 作成されたレビューの詳細
merge_pull_request
プルリクエストをマージする
入力:
owner(文字列): リポジトリの所有者repo(文字列): リポジトリ名pull_number(数値): プルリクエスト番号commit_title(オプションの文字列): マージコミットのタイトルcommit_message(オプションの文字列):マージコミットの詳細merge_method(オプションの文字列): マージ方法 ('merge'、'squash'、'rebase')
戻り値: マージ結果の詳細
get_pull_request_files
プルリクエストで変更されたファイルのリストを取得する
入力:
owner(文字列): リポジトリの所有者repo(文字列): リポジトリ名pull_number(数値): プルリクエスト番号
戻り値: パッチとステータスの詳細を含む変更されたファイルの配列
get_pull_request_status
プルリクエストのすべてのステータスチェックを組み合わせたステータスを取得します
入力:
owner(文字列): リポジトリの所有者repo(文字列): リポジトリ名pull_number(数値): プルリクエスト番号
戻り値: ステータスチェックの結果と個々のチェックの詳細を組み合わせたもの
update_pull_request_branch
ベースブランチからの最新の変更でプルリクエストブランチを更新します(GitHub の「ブランチを更新」ボタンに相当)
入力:
owner(文字列): リポジトリの所有者repo(文字列): リポジトリ名pull_number(数値): プルリクエスト番号expected_head_sha(オプションの文字列): プルリクエストのHEAD参照の予想されるSHA
戻り値: ブランチが更新されたときの成功メッセージ
get_pull_request_comments
プルリクエストのレビューコメントを取得する
入力:
owner(文字列): リポジトリの所有者repo(文字列): リポジトリ名pull_number(数値): プルリクエスト番号
戻り値: コメントテキスト、作成者、差分内の場所などの詳細を含むプルリクエストレビューコメントの配列
get_pull_request_reviews
プルリクエストのレビューを取得する
入力:
owner(文字列): リポジトリの所有者repo(文字列): リポジトリ名pull_number(数値): プルリクエスト番号
戻り値: レビュー状態 (APPROVED、CHANGES_REQUESTED など)、レビュー担当者、レビュー本文などの詳細を含むプル リクエスト レビューの配列
検索クエリ構文
コード検索
language:javascript: プログラミング言語で検索repo:owner/name: 特定のリポジトリを検索path:app/src: 特定のパスで検索extension:js: ファイル拡張子で検索例:
q: "import express" language:typescript path:src/
問題検索
is:issueまたはis:pr: タイプでフィルタリングis:openまたはis:closed: 状態でフィルタリングlabel:bug: ラベルで検索author:username:著者で検索例:
q: "memory leak" is:issue is:open label:bug
ユーザー検索
type:userまたはtype:org: アカウントの種類でフィルタリングfollowers:>1000: フォロワー数でフィルタリングlocation:London: 場所で検索例:
q: "fullstack developer" location:London followers:>100
詳細な検索構文については、 GitHub の検索ドキュメントを参照してください。
設定
個人アクセストークン
適切な権限を持つGitHub 個人アクセス トークンを作成します。
個人アクセストークンに移動します(GitHubの設定>開発者設定)
このトークンでアクセスするリポジトリを選択します(パブリック、すべて、または選択)
repoスコープ(「プライベートリポジトリのフルコントロール」)を持つトークンを作成しますあるいは、パブリックリポジトリのみで作業する場合は、
public_repoスコープのみを選択します。
生成されたトークンをコピーする
Claude Desktopでの使用
Claude Desktop でこれを使用するには、 claude_desktop_config.jsonに以下を追加します。
ドッカー
NPX
建てる
Dockerビルド:
ライセンス
このMCPサーバーはMITライセンスに基づいてライセンスされています。つまり、MITライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布することができます。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。
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.
Tools
AnthropicのGitHub MCPサーバーをさらに改良。より多くのエンドポイントをサポート。リリースとタグ、プルリクエストのレビュー、ステータス、レート制限、Gist、プロジェクト、パッケージ、さらにはプルリクエストの差分も管理できます。シークレット管理(アクセストークン)のために、MissionSquadのMCP APIと連携して使用できるように設計されています。
Related Resources
Related MCP Servers
- Asecurity-licenseAqualityMCP Server for the GitHub API, enabling file operations, repository management, search functionality, and more.Last updated -22,57371,513MIT License
- Asecurity-licenseAqualityMCP 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 -1804
- MIT License
- -security-license-qualityAn MCP server that wraps around the GitHub CLI tool, allowing AI assistants to interact with GitHub repositories through commands for pull requests, issues, and repository operations.Last updated -2MIT License