Skip to main content
Glama
ParasSolanki

Github MCP Server

by ParasSolanki

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"
      }
    }
  }
}

Related MCP server: GitHub MCP Server

コンポーネント

ツール

  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 ): 並べ替えフィールド ( comments 、 reactions 、 reactions-+1 、 reactions--1 、 reactions-smile 、 reactions-thinking_face 、 reactions-heart 、 reactions-tada 、 interactions 、 createdまたは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 ): 並べ替えフィールド ( followers 、 repositories 、 joinedいずれかになります)。

  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 ): ソートフィールド ( created 、 comments 、 updatedいずれかになります)。

      • 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 ): 並べ替えフィールド ( created 、 popularity 、 long-running 、 updatedのいずれかになります)。

    • 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

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables LLMs to interact with GitHub repositories, issues, pull requests, and workflows through the Model Context Protocol. It provides a comprehensive set of tools for repository management, issue tracking, code search, and CI/CD automation.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with GitHub repositories, issues, pull requests, and content via the Model Context Protocol.
    1
    MIT