Github MCP Server

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

  • Provides integration with Github, allowing LLMs to search repositories, issues, commits, code, users, topics, and labels. It also supports listing and retrieving specific repository issues and pull requests.

Github MCP サーバー

Github 用のモデル コンテキスト プロトコルサーバー。

MCP を介して Github との統合を提供し、LLM が Github と対話できるようにします。

Github REST API ドキュメント

インストール

手動インストール

  1. Githubアカウントのアクセストークンを作成または取得する: ガイド
  2. Claude Desktop にサーバー設定を追加します。
{ "mcpServers": { "github": { "command": "npx", "args": ["-y", "github-mcp-server"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "your_personal_github_access_token" } } } }

コンポーネント

ツール

  1. search_repositories : GitHub でリポジトリを検索します。
    • 必要な入力:
      • query (文字列): リポジトリを検索するためのクエリ。
      • page (数値、デフォルト: 30、最大: 100): ページ区切りのページ番号。
      • per_page (数値、デフォルト: 30、最大: 100): ページあたりの結果数。
  2. search_issues : リポジトリから問題を検索します。
    • 必要な入力:
      • query (文字列): リポジトリを検索するためのクエリ。
      • page (数値、デフォルト: 1): ページ区切りのページ番号。
      • per_page (数値、デフォルト: 30、最大: 100): ページあたりの結果数。
      • order (オプションの文字列、デフォルト: desc ): 並べ替え順序 ( ascまたはdesc )。
      • sort (オプションの文字列、デフォルト: best match ): 並べ替えフィールド ( commentsreactionsreactions-+1reactions--1reactions-smilereactions-thinking_facereactions-heartreactions-tadainteractionscreatedまたはupdatedいずれかになります)。
  3. search_commits : リポジトリからコミットを検索します。
    • 必要な入力:
      • query (文字列): リポジトリを検索するためのクエリ。
      • page (数値、デフォルト: 1): ページ区切りのページ番号。
      • per_page (数値、デフォルト: 30、最大: 100): ページあたりの結果数。
      • order (オプションの文字列、デフォルト: desc ): 並べ替え順序 ( ascまたはdesc )。
      • sort (オプションの文字列、デフォルト: best match ): ソートフィールド ( committer-dateまたはauthor-dateのいずれかになります)。
  4. search_code : リポジトリからコードを検索します。
    • 必要な入力:
      • query (文字列): リポジトリを検索するためのクエリ。
      • page (数値、デフォルト: 1): ページ区切りのページ番号。
      • per_page (数値、デフォルト: 30、最大: 100): ページあたりの結果数。
  5. search_users : リポジトリからユーザーを検索します。
    • 必要な入力:
      • query (文字列): リポジトリを検索するためのクエリ。
      • page (数値、デフォルト: 1): ページ区切りのページ番号。
      • per_page (数値、デフォルト: 30、最大: 100): ページあたりの結果数。
      • order (オプションの文字列、デフォルト: desc ): 並べ替え順序 ( ascまたはdesc )。
      • sort (オプションの文字列、デフォルト: best match ): 並べ替えフィールド ( followersrepositoriesjoinedいずれかになります)。
  6. search_topics : トピックを検索します。
    • 必要な入力:
      • query (文字列): リポジトリを検索するためのクエリ。
      • page (数値、デフォルト: 1): ページ区切りのページ番号。
      • per_page (数値、デフォルト: 30、最大: 100): ページあたりの結果数。
  7. search_labels : リポジトリ内のラベルを検索します。
    • 必要な入力:
      • query (文字列): リポジトリを検索するためのクエリ。
      • page (数値、デフォルト: 1): ページ区切りのページ番号。
      • per_page (数値、デフォルト: 30、最大: 100): ページあたりの結果数。
      • order (オプションの文字列、デフォルト: desc ): 並べ替え順序 ( ascまたはdesc )。
      • sort (オプションの文字列、デフォルト: best match ): 並べ替えフィールド ( createdまたはupdatedいずれかになります)。
  8. list_repositories_issues : リポジトリから問題を一覧表示します。
    • 必要な入力:
      • owner (文字列): リポジトリの所有者。
      • repo (文字列): リポジトリ名。
      • page (オプションの数値、デフォルト: 1): ページ区切りのページ番号。
      • per_page (オプションの数値、デフォルト: 30、最大: 100): ページあたりの結果数。
      • direction (オプションの文字列、デフォルト: desc ): 並べ替えの方向 ( ascまたはdesc )。
      • sort (オプションの文字列、デフォルト: created ): ソートフィールド ( createdcommentsupdatedいずれかになります)。
      • since (オプションの文字列): 指定された時間以降に最後に更新された結果 (ISO 8601 形式: YYYY-MM-DDTHH:MM:SSZ)。
      • labels (オプションの文字列):カンマ区切りのラベル名。例:bug、ui、@high。
      • milestone (オプションの文字列): マイルストーン番号。
      • assignee (オプションの文字列): 担当者ユーザーの名前 (全員の場合は* )。
      • creator (オプションの文字列): 問題を作成したユーザー。(全員の場合は* )。
      • mentioned (オプションの文字列): 問題で言及されたユーザー。
  9. get_issue : リポジトリから問題を取得します。
    • 必要な入力:
      • owner (文字列): リポジトリの所有者。
      • repo (文字列): リポジトリ名。
      • issue_number (数値): 問題番号。
  10. list_repositories_pull_requests : リポジトリからのプルリクエストを一覧表示します。
  • 必要な入力:
    • owner (文字列): リポジトリの所有者。
    • repo (文字列): リポジトリ名。
    • page (オプションの数値、デフォルト: 1): ページ区切りのページ番号。
    • per_page (オプションの数値、デフォルト: 30、最大: 100): ページあたりの結果数。
    • direction (オプションの文字列、デフォルト: desc ): 並べ替えの方向 ( ascまたはdesc )。
    • sort (オプションの文字列、デフォルト: created ): 並べ替えフィールド ( createdpopularitylong-runningupdatedのいずれかになります)。
    • head (オプションの文字列): user:ref-name または organization:ref-name の形式で、head ユーザーまたは head 組織とブランチ名でプルをフィルターします (例: github:new-script-format または octocat:test-branch)。
    • base (オプションの文字列): ベースブランチ名でプルをフィルタリングします。(例: gh-pages)。
  1. get_pull_request : リポジトリからプルリクエストを取得します。
  • 必要な入力:
    • owner (文字列): リポジトリの所有者。
    • repo (文字列): リポジトリ名。
    • pull_request_number (number): プルリクエスト番号。

使用例

Github と対話するために使用できるプロンプトの例をいくつか示します。

  1. 「modelcontextprotocol」→ search_repositoriesツールを実行して、modelcontextprotocol が記述されているリポジトリを見つけます。
  2. 「modelcontextprotocol サーバー リポジトリの 739 の問題とは何ですか」→ get_issueツールを実行して、modelcontextprotocol サーバー リポジトリから 739 の問題を見つけます。
  3. 「modelcontextprotocol サーバー リポジトリの 717 PR とは何ですか」→ get_pull_requestツールを実行して、modelcontextprotocol サーバー リポジトリから 717 PR を見つけます。

発達

  1. 依存関係をインストールします:
pnpm install
  1. .envで Github アクセス トークンを設定します。
GITHUB_PERSONAL_ACCESS_TOKEN=<your_personal_github_access_token>
  1. watch を使用してローカルで実行します。
pnpm dev
  1. サーバーを構築します。
pnpm build
  1. インスペクタを使用したローカルデバッグ:
pnpm inspector
-
security - not tested
F
license - not found
-
quality - not tested

モデル コンテキスト プロトコル (MCP) を介して Github との統合を提供し、大規模言語モデルが Github のリポジトリ、問題、プル リクエスト、検索機能と対話できるようにします。

  1. Installation
    1. Manual Installation
  2. Components
    1. Tools
  3. Usage examples
    1. Development
      ID: mltxtigc9r