Github MCP サーバー
Github 用のモデル コンテキスト プロトコルサーバー。
MCP を介して Github との統合を提供し、LLM が Github と対話できるようにします。
Github REST API ドキュメント
インストール
手動インストール
- Githubアカウントのアクセストークンを作成または取得する: ガイド
- Claude Desktop にサーバー設定を追加します。
- MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:このガイドを確認してください
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "github-mcp-server"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_personal_github_access_token"
}
}
}
}
コンポーネント
ツール
search_repositories
: GitHub でリポジトリを検索します。- 必要な入力:
query
(文字列): リポジトリを検索するためのクエリ。page
(数値、デフォルト: 30、最大: 100): ページ区切りのページ番号。per_page
(数値、デフォルト: 30、最大: 100): ページあたりの結果数。
search_issues
: リポジトリから問題を検索します。- 必要な入力:
query
(文字列): リポジトリを検索するためのクエリ。page
(数値、デフォルト: 1): ページ区切りのページ番号。per_page
(数値、デフォルト: 30、最大: 100): ページあたりの結果数。order
(オプションの文字列、デフォルト: desc
): 並べ替え順序 ( asc
またはdesc
)。sort
(オプションの文字列、デフォルト: best match
): 並べ替えフィールド ( comments
、 reactions
、 reactions-+1
、 reactions--1
、 reactions-smile
、 reactions-thinking_face
、 reactions-heart
、 reactions-tada
、 interactions
、 created
またはupdated
いずれかになります)。
search_commits
: リポジトリからコミットを検索します。- 必要な入力:
query
(文字列): リポジトリを検索するためのクエリ。page
(数値、デフォルト: 1): ページ区切りのページ番号。per_page
(数値、デフォルト: 30、最大: 100): ページあたりの結果数。order
(オプションの文字列、デフォルト: desc
): 並べ替え順序 ( asc
またはdesc
)。sort
(オプションの文字列、デフォルト: best match
): ソートフィールド ( committer-date
またはauthor-date
のいずれかになります)。
search_code
: リポジトリからコードを検索します。- 必要な入力:
query
(文字列): リポジトリを検索するためのクエリ。page
(数値、デフォルト: 1): ページ区切りのページ番号。per_page
(数値、デフォルト: 30、最大: 100): ページあたりの結果数。
search_users
: リポジトリからユーザーを検索します。- 必要な入力:
query
(文字列): リポジトリを検索するためのクエリ。page
(数値、デフォルト: 1): ページ区切りのページ番号。per_page
(数値、デフォルト: 30、最大: 100): ページあたりの結果数。order
(オプションの文字列、デフォルト: desc
): 並べ替え順序 ( asc
またはdesc
)。sort
(オプションの文字列、デフォルト: best match
): 並べ替えフィールド ( followers
、 repositories
、 joined
いずれかになります)。
search_topics
: トピックを検索します。- 必要な入力:
query
(文字列): リポジトリを検索するためのクエリ。page
(数値、デフォルト: 1): ページ区切りのページ番号。per_page
(数値、デフォルト: 30、最大: 100): ページあたりの結果数。
search_labels
: リポジトリ内のラベルを検索します。- 必要な入力:
query
(文字列): リポジトリを検索するためのクエリ。page
(数値、デフォルト: 1): ページ区切りのページ番号。per_page
(数値、デフォルト: 30、最大: 100): ページあたりの結果数。order
(オプションの文字列、デフォルト: desc
): 並べ替え順序 ( asc
またはdesc
)。sort
(オプションの文字列、デフォルト: best match
): 並べ替えフィールド ( created
またはupdated
いずれかになります)。
list_repositories_issues
: リポジトリから問題を一覧表示します。- 必要な入力:
owner
(文字列): リポジトリの所有者。repo
(文字列): リポジトリ名。page
(オプションの数値、デフォルト: 1): ページ区切りのページ番号。per_page
(オプションの数値、デフォルト: 30、最大: 100): ページあたりの結果数。direction
(オプションの文字列、デフォルト: desc
): 並べ替えの方向 ( asc
またはdesc
)。sort
(オプションの文字列、デフォルト: created
): ソートフィールド ( created
、 comments
、 updated
いずれかになります)。since
(オプションの文字列): 指定された時間以降に最後に更新された結果 (ISO 8601 形式: YYYY-MM-DDTHH:MM:SSZ)。labels
(オプションの文字列):カンマ区切りのラベル名。例:bug、ui、@high。milestone
(オプションの文字列): マイルストーン番号。assignee
(オプションの文字列): 担当者ユーザーの名前 (全員の場合は*
)。creator
(オプションの文字列): 問題を作成したユーザー。(全員の場合は*
)。mentioned
(オプションの文字列): 問題で言及されたユーザー。
get_issue
: リポジトリから問題を取得します。- 必要な入力:
owner
(文字列): リポジトリの所有者。repo
(文字列): リポジトリ名。issue_number
(数値): 問題番号。
list_repositories_pull_requests
: リポジトリからのプルリクエストを一覧表示します。
- 必要な入力:
owner
(文字列): リポジトリの所有者。repo
(文字列): リポジトリ名。page
(オプションの数値、デフォルト: 1): ページ区切りのページ番号。per_page
(オプションの数値、デフォルト: 30、最大: 100): ページあたりの結果数。direction
(オプションの文字列、デフォルト: desc
): 並べ替えの方向 ( asc
またはdesc
)。sort
(オプションの文字列、デフォルト: created
): 並べ替えフィールド ( created
、 popularity
、 long-running
、 updated
のいずれかになります)。head
(オプションの文字列): user:ref-name または organization:ref-name の形式で、head ユーザーまたは head 組織とブランチ名でプルをフィルターします (例: github:new-script-format または octocat:test-branch)。base
(オプションの文字列): ベースブランチ名でプルをフィルタリングします。(例: gh-pages)。
get_pull_request
: リポジトリからプルリクエストを取得します。
- 必要な入力:
owner
(文字列): リポジトリの所有者。repo
(文字列): リポジトリ名。pull_request_number
(number): プルリクエスト番号。
使用例
Github と対話するために使用できるプロンプトの例をいくつか示します。
- 「modelcontextprotocol」→
search_repositories
ツールを実行して、modelcontextprotocol が記述されているリポジトリを見つけます。 - 「modelcontextprotocol サーバー リポジトリの 739 の問題とは何ですか」→
get_issue
ツールを実行して、modelcontextprotocol サーバー リポジトリから 739 の問題を見つけます。 - 「modelcontextprotocol サーバー リポジトリの 717 PR とは何ですか」→
get_pull_request
ツールを実行して、modelcontextprotocol サーバー リポジトリから 717 PR を見つけます。
発達
- 依存関係をインストールします:
.env
で Github アクセス トークンを設定します。
GITHUB_PERSONAL_ACCESS_TOKEN=<your_personal_github_access_token>
- watch を使用してローカルで実行します。
- サーバーを構築します。
- インスペクタを使用したローカルデバッグ: