Skip to main content
Glama

GitHub MCP Server

by asbloom-py

GitHub MCP サーバー

GitHub API 用の MCP サーバー。ファイル操作、リポジトリ管理、検索機能などを有効にします。

特徴

  • 自動ブランチ作成: ファイルを作成/更新したり変更をプッシュするときに、ブランチが存在しない場合は自動的に作成されます。
  • 包括的なエラー処理: 一般的な問題に対する明確なエラーメッセージ
  • Git 履歴の保存: 強制プッシュなしで適切な Git 履歴を維持する操作
  • バッチ操作: 単一ファイルと複数ファイルの操作の両方をサポート
  • 高度な検索: コード、問題/PR、ユーザーの検索をサポート

ツール

  1. create_or_update_file
    • リポジトリ内の単一のファイルを作成または更新する
    • 入力:
      • owner (文字列): リポジトリの所有者(ユーザー名または組織)
      • repo (文字列): リポジトリ名
      • path (文字列): ファイルを作成/更新するパス
      • content (文字列): ファイルの内容
      • message (文字列): コミットメッセージ
      • branch (文字列): ファイルを作成/更新するブランチ
      • sha (オプションの文字列): 置き換えられるファイルのSHA (更新用)
    • 戻り値: ファイルの内容とコミットの詳細
  2. push_files
    • 1回のコミットで複数のファイルをプッシュする
    • 入力:
      • owner (文字列): リポジトリの所有者
      • repo (文字列): リポジトリ名
      • branch (文字列): プッシュ先のブランチ
      • files (配列): プッシュするファイル。 pathcontentそれぞれ含まれます。
      • message (文字列): コミットメッセージ
    • 戻り値: 更新されたブランチ参照
  3. search_repositories
    • GitHubリポジトリを検索する
    • 入力:
      • query (文字列): 検索クエリ
      • page (オプションの数値):ページ番号
      • perPage (オプションの数値):1ページあたりの結果数(最大100件)
    • 戻り値: リポジトリ検索結果
  4. create_repository
    • 新しいGitHubリポジトリを作成する
    • 入力:
      • name (文字列): リポジトリ名
      • description (オプションの文字列): リポジトリの説明
      • private (オプションのブール値): リポジトリを非公開にするかどうか
      • autoInit (オプションのブール値): READMEで初期化する
    • 戻り値: 作成されたリポジトリの詳細
  5. get_file_contents
    • ファイルまたはディレクトリの内容を取得する
    • 入力:
      • owner (文字列): リポジトリの所有者
      • repo (文字列): リポジトリ名
      • path (文字列): ファイル/ディレクトリへのパス
      • branch (オプションの文字列):コンテンツを取得するブランチ
    • 戻り値: ファイル/ディレクトリの内容
  6. create_issue
    • 新しい問題を作成する
    • 入力:
      • owner (文字列): リポジトリの所有者
      • repo (文字列): リポジトリ名
      • title (文字列): 問題のタイトル
      • body (オプションの文字列): 問題の説明
      • assignees (オプションの文字列[]):割り当てるユーザー名
      • labels (オプションの文字列[]):追加するラベル
      • milestone (オプションの番号):マイルストーン番号
    • 返品: 作成された問題の詳細
  7. create_pull_request
    • 新しいプルリクエストを作成する
    • 入力:
      • owner (文字列): リポジトリの所有者
      • repo (文字列): リポジトリ名
      • title (文字列): PRのタイトル
      • body (オプションの文字列): PRの説明
      • head (文字列): 変更を含むブランチ
      • base (文字列): マージ先のブランチ
      • draft (オプションのブール値): ドラフト PR として作成
      • maintainer_can_modify (オプションのブール値): メンテナーによる編集を許可する
    • 戻り値: 作成されたプルリクエストの詳細
  8. fork_repository
    • リポジトリをフォークする
    • 入力:
      • owner (文字列): リポジトリの所有者
      • repo (文字列): リポジトリ名
      • organization (オプションの文字列):フォーク先の組織
    • 戻り値: フォークされたリポジトリの詳細
  9. create_branch
    • 新しいブランチを作成する
    • 入力:
      • owner (文字列): リポジトリの所有者
      • repo (文字列): リポジトリ名
      • branch (文字列): 新しいブランチの名前
      • from_branch (オプションの文字列): ソースブランチ (デフォルトはリポジトリのデフォルト)
    • 戻り値: 作成されたブランチ参照
  10. list_issues
  • リポジトリの問題の一覧表示とフィルタリング
  • 入力:
    • owner (文字列): リポジトリの所有者
    • repo (文字列): リポジトリ名
    • state (オプションの文字列):状態(「open」、「closed」、「all」)でフィルタリング
    • labels (オプションの文字列[]):ラベルでフィルタリング
    • sort (オプションの文字列): ('created'、'updated'、'comments') で並べ替え
    • direction (オプションの文字列):並べ替えの方向('asc'、'desc')
    • since (オプションの文字列): 日付でフィルタリング (ISO 8601 タイムスタンプ)
    • page (オプションの数字):ページ番号
    • per_page (オプションの数値):ページあたりの結果数
  • 戻り値: 問題の詳細の配列
  1. update_issue
  • 既存の問題を更新する
  • 入力:
    • owner (文字列): リポジトリの所有者
    • repo (文字列): リポジトリ名
    • issue_number (数値): 更新する問題番号
    • title (オプションの文字列):新しいタイトル
    • body (オプションの文字列): 新しい説明
    • state (オプションの文字列):新しい状態(「open」または「closed」)
    • labels (オプションの文字列[]):新しいラベル
    • assignees (オプションの文字列[]): 新しい担当者
    • milestone (オプションの番号):新しいマイルストーン番号
  • 返品: 問題の詳細を更新しました
  1. add_issue_comment
  • 問題にコメントを追加する
  • 入力:
    • owner (文字列): リポジトリの所有者
    • repo (文字列): リポジトリ名
    • issue_number (数値): コメントする問題番号
    • body (文字列): コメントテキスト
  • 戻り値: 作成されたコメントの詳細
  1. search_code
  • GitHubリポジトリ全体でコードを検索する
  • 入力:
    • q (文字列): GitHubコード検索構文を使用した検索クエリ
    • sort (オプションの文字列): ソートフィールド ('indexed' のみ)
    • order (オプションの文字列): ソート順 ('asc' または 'desc')
    • per_page (オプションの数値):1ページあたりの結果数(最大100件)
    • page (オプションの数字): ページ番号
  • 戻り値: リポジトリコンテキストを含むコード検索結果
  1. search_issues
  • 問題とプルリクエストを検索する
  • 入力:
    • q (文字列): GitHub の問題検索構文を使用した検索クエリ
    • sort (オプションの文字列): 並べ替えフィールド (コメント、反応、作成など)
    • order (オプションの文字列): ソート順 ('asc' または 'desc')
    • per_page (オプションの数値):1ページあたりの結果数(最大100件)
    • page (オプションの数字):ページ番号
  • 戻り値: 問題とプルリクエストの検索結果
  1. search_users
  • GitHubユーザーを検索
  • 入力:
    • q (文字列): GitHubユーザーの検索構文を使用した検索クエリ
    • sort (オプションの文字列): 並べ替えフィールド (フォロワー、リポジトリ、参加)
    • order (オプションの文字列): ソート順 ('asc' または 'desc')
    • per_page (オプションの数値):1ページあたりの結果数(最大100件)
    • page (オプションの数字): ページ番号
  • 返されるもの: ユーザー検索結果
  1. list_commits
  • リポジトリ内のブランチのコミットを取得します
  • 入力:
    • owner (文字列): リポジトリの所有者
    • repo (文字列): リポジトリ名
    • page (オプションの文字列):ページ番号
    • per_page (オプションの文字列):ページあたりのレコード数
    • sha (オプションの文字列): ブランチ名
  • 戻り値: コミットのリスト
  1. get_issue
  • リポジトリ内の問題の内容を取得します
  • 入力:
    • owner (文字列): リポジトリの所有者
    • repo (文字列): リポジトリ名
    • issue_number (数値): 取得する問題番号
  • 戻り値: Github Issueオブジェクトと詳細
  1. get_issue_comments
  • 問題またはプルリクエストのコメントを取得します
  • 入力:
    • owner (文字列): リポジトリの所有者
    • repo (文字列): リポジトリ名
    • issue_number (数値): コメントを取得する問題/PR番号
  • 戻り値: コメントID、本文、作成者、タイムスタンプを含むGitHubコメントオブジェクトの配列

検索クエリ構文

コード検索

  • 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に以下を追加します。

{ "mcpServers": { "github": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-github" ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>" } } } }

ライセンス

このMCPサーバーはMITライセンスに基づいてライセンスされています。つまり、MITライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布することができます。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。

-
security - not tested
F
license - not found
-
quality - not tested

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.

GitHub API を介して GitHub とのやり取りを可能にし、包括的なエラー処理と自動ブランチ作成によるファイル操作、リポジトリ管理、高度な検索、問題追跡をサポートします。

  1. 特徴
    1. ツール
      1. 検索クエリ構文
        1. コード検索
        2. 問題検索
        3. ユーザー検索
      2. 設定
        1. 個人アクセストークン
        2. Claude Desktopでの使用
      3. ライセンス

        Related MCP Servers

        • A
          security
          F
          license
          A
          quality
          Provides tools for mapping and analyzing GitHub repositories. It allows users to set a GitHub Personal Access Token and retrieve detailed information about a specified repository, including its structure and summary statistics.
          Last updated -
          2
          17
          TypeScript
        • -
          security
          F
          license
          -
          quality
          Provides tools for interacting with GitHub's API through the MCP protocol, allowing users to create repositories, push content, and retrieve user information.
          Last updated -
          JavaScript
        • -
          security
          F
          license
          -
          quality
          Enables comprehensive GitHub operations through natural language including file management, repository administration, issue tracking, and advanced code searching.
          Last updated -
          22,573
          1
          TypeScript
        • -
          security
          A
          license
          -
          quality
          Enables interaction with GitHub repositories through the GitHub API, allowing file operations, repository management, issue tracking, and code search through natural language commands.
          Last updated -
          2
          TypeScript
          MIT License
          • Apple
          • Linux

        View all related MCP servers

        MCP directory API

        We provide all the information about MCP servers via our MCP API.

        curl -X GET 'https://glama.ai/api/mcp/v1/servers/asbloom-py/mcp-servers'

        If you have feedback or need assistance with the MCP directory API, please join our Discord server