mcpField
G
GitHub

GitHub

ローカル
github.com/aifityバージョン管理111 週間前に更新

GitHub について

Omnigit GitHub & Local Git MCP Server は、AI ツールを GitHub とローカルリポジトリに接続します。リポジトリの調査、Issue とプルリクエストの管理、CI ワークフロー、Git 操作に加え、コメント編集と設定可能な本文フィルターを備えています。

主な機能

  1. 01リポジトリの閲覧とコード検索
  2. 02Issue とプルリクエストの作成・管理
  3. 03ワークフロー実行とリリースの確認
  4. 04セキュリティ情報とチーム活動の確認
  5. 05ローカルリポジトリでの Git 操作
  6. 06Issue とレビューコメントの編集

活用シーン

  1. 01ファイルを探してリポジトリ構成を把握
  2. 02Issue のトリアージとプルリクエストのレビュー
  3. 03GitHub Actions の失敗した実行を調査
  4. 04ローカル Git リポジトリの変更を管理

MCP 対応

ホスト型のリモートサーバーまたはローカル実行のサーバーとして、MCP クライアントに GitHub とローカル Git の機能をツールとして公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"aifity-omnigit": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/aifity/omnigit-mcp:0.6.0"
]
}
}
}
起動コマンドdocker run -i --rm ghcr.io/aifity/omnigit-mcp:0.6.0

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocighcr.io/aifity/omnigit-mcp:0.6.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Go Report Card

Omnigit GitHub & Local Git MCP サーバー

Omnigit GitHub & Local Git MCP サーバーは、AI ツールを GitHub プラットフォームに直接接続します。これにより、AI エージェント、アシスタント、チャットボットが、リポジトリやコードファイルの読み取り、Issue や PR の管理、コードの分析、ワークフローの自動化を行えるようになります。これらすべてを自然言語でやり取りしながら実行できます。

ユースケース
  • リポジトリ管理:アクセス権のあるあらゆるリポジトリで、コードの閲覧や検索、ファイルの検索、コミットの分析、プロジェクト構造の把握ができます。
  • Issue と PR の自動化:Issue とプルリクエストを作成、更新、管理できます。AI にバグのトリアージ、コード変更のレビュー、プロジェクトボードの保守を任せることができます。
  • CI/CD とワークフローの分析:GitHub Actions のワークフロー実行を監視し、ビルドの失敗を分析し、リリースを管理して、開発パイプラインに関する情報を得られます。
  • コード分析:セキュリティに関する検出結果の調査、Dependabot アラートの確認、コードパターンの把握、コードベースに関する包括的な分析ができます。
  • チームのコラボレーション:ディスカッションへのアクセス、通知の管理、チーム活動の分析を行い、チームのプロセスを効率化できます。

AI ツールを GitHub のコンテキストや機能に接続したい開発者向けに構築されています。簡単な自然言語での問い合わせから、複雑な複数ステップのエージェントワークフローまで対応します。


upstream からのフォークでの変更点

これは github/github-mcp-server のフォークで、以下の追加機能と改善が含まれています。

保守されているバックポートのチェックリストについては、upstream からのフォークでの変更点を参照してください。

レビューコメント ID の解決を改善

get_review_comments は、すべてのコメントノードについて、GraphQL の NodeID と DatabaseID に加え、CommentID フィールド(GraphQL の databaseId)を返すようになりました。この CommentID は、add_reply_to_pull_request_comment または pull_request_comment_write の呼び出し時に使用する数値 ID です。以前は不透明な Base64 形式の GraphQL ノード ID のみが返されていたため、モデル側でデコードするか、コメント URL から数値 ID を抽出する必要がありました。これらのツールの commentId/comment_id パラメーターの説明には、CommentID フィールドを使用するよう明記されています。

Issue コメントの管理(issue_comment_write)

新しい issue_comment_write ツールを使うと、AI エージェントが既存の Issue コメントを更新または削除できます。以前は、コメントを作成する add_issue_comment のみが利用可能でした。

PR レビューコメントの管理(pull_request_comment_write)

新しい pull_request_comment_write ツールを使うと、AI エージェントが既存のプルリクエストのレビューコメントを更新または削除できます。

本文のフィルタリング(filter_patterns)

Issue の本文、PR の本文、ローカル Git のコミットメッセージは、GitHub に送信される前にフィルタリングされます。デフォルトでは、Co-Authored-By: トレーラーと、一般的な AI 生成 PR フッターが削除されます。フィルターリストは、omnigit-mcp-config.json の filter_patterns で完全に設定できます。詳しくは、i18n/説明の上書きを参照してください。

Local Git ツールセット(local_git)

GitHub API を介さずにローカルリポジトリを操作するための、git_* ツール一式です。利用できるツールは、git_add、git_apply_patch_file、git_apply_patch_string、git_checkout、git_commit、git_create_branch、git_diff、git_diff_staged、git_diff_unstaged、git_init、git_list_repositories、git_log、git_pull、git_push、git_reset、git_show、git_status です。


リモート GitHub MCP サーバー

VS Code にインストール VS Code Insiders にインストール Visual Studio にインストール

リモート GitHub MCP サーバーは GitHub によってホストされており、最も簡単に利用を開始できる方法を提供します。お使いの MCP ホストがリモート MCP サーバーに対応していなくても、ご心配には及びません。代わりにローカル版の GitHub MCP サーバーを使用できます。

前提条件
  1. リモートサーバーに対応した互換性のある MCP ホスト(VS Code 1.101 以降、Claude Desktop、Cursor、Windsurf など)
  2. 該当するポリシーが有効になっていること
VS Code にインストールする

すばやくインストールするには、上記のワンクリックインストールボタンのいずれかを使用してください。手順を完了したら、Agent モード(Copilot Chat のテキスト入力欄の横にあります)を切り替えると、サーバーが起動します。リモート MCP と OAuth に対応するVS Code 1.101またはそれ以降を使用していることを確認してください。

また、VS Code を手動で設定するには、以下の例から適切な JSON ブロックを選び、ホストの設定に追加してください。

OAuth を使用GitHub PAT を使用
VS Code(バージョン 1.101 以降)
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    }
  }
}
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "Authorization": "Bearer ${input:github_mcp_pat}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "github_mcp_pat",
      "description": "GitHub Personal Access Token",
      "password": true
    }
  ]
}
その他の MCP ホストにインストールする
  • Copilot CLI - GitHub Copilot CLI のインストールガイド
  • その他の IDE での GitHub Copilot - GitHub Copilot を使用する JetBrains、Visual Studio、Eclipse、Xcode へのインストール
  • Claude アプリケーション - Claude Desktop と Claude Code CLI のインストールガイド
  • Codex - OpenAI Codex のインストールガイド
  • Cursor - Cursor IDE のインストールガイド
  • OpenCode - OpenCode ターミナルエージェントのインストールガイド
  • Windsurf - Windsurf IDE のインストールガイド
  • Zed - Zed エディターのインストールガイド
  • Rovo Dev CLI - Rovo Dev CLI のインストールガイド

注: OAuth を介したリモートアクセスに対応するには、各 MCP ホストアプリケーションで GitHub App または OAuth App を設定する必要があります。リモート MCP サーバーに対応するホストアプリケーションであれば、PAT 認証を使用してリモート GitHub サーバーに接続できます。設定の詳細とサポートレベルはホストによって異なります。詳しくは、ホストアプリケーションのドキュメントを参照してください。

設定
ツールセットの設定

リモートサーバーの設定、ツールセット、ヘッダー、高度な使用方法の詳細については、リモートサーバーのドキュメントをご覧ください。このファイルでは、VS Code やその他の MCP ホストでリモート GitHub MCP サーバーに接続し、カスタマイズしてインストールするための包括的な手順と例を紹介しています。

ツールセットを指定しない場合は、デフォルトのツールセットが使用されます。

Insiders モード

新機能をいち早くお試しください! リモートサーバーには、最新機能や実験的なツールを先行して利用できる Insiders バージョンがあります。

URL パスを使用ヘッダーを使用
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/insiders"
    }
  }
}
{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "X-MCP-Insiders": "true"
      }
    }
  }
}

詳細と例については、リモートサーバーのドキュメントをご覧ください。利用可能な機能の一覧は、Insiders の機能をご覧ください。

GitHub Enterprise
データ所在地に対応した GitHub Enterprise Cloud(ghe.com)

GitHub Enterprise Cloud でもリモートサーバーを利用できます。

GitHub PAT トークンを使って https://octocorp.ghe.com に接続する例:

{
    ...
    "github-octocorp": {
      "type": "http",
      "url": "https://copilot-api.octocorp.ghe.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:github_mcp_pat}"
      }
    },
    ...
}

注: VS Code と GitHub Copilot で GitHub Enterprise の OAuth を使用する場合は、GitHub Enterprise インスタンスを参照するように VS Code の設定も構成する必要があります。VS Code から認証するをご覧ください。

GitHub Enterprise Server

GitHub Enterprise Server はリモートサーバーのホスティングに対応していません。ローカルサーバーの設定にあるGitHub Enterprise Server とデータ所在地に対応した Enterprise Cloud(ghe.com)をご覧ください。


ローカル GitHub MCP サーバー

VS Code で Docker を使ってインストール VS Code Insiders で Docker を使ってインストール Visual Studio で Docker を使ってインストール

前提条件
  1. コンテナーでサーバーを実行するには、Docker をインストールしておく必要があります。

  2. Docker をインストールしたら、Docker が実行中であることも確認してください。Docker イメージは ghcr.io/aifity/omnigit-mcp で利用できます。このイメージは公開されています。プル時にエラーが発生する場合は、トークンの期限が切れている可能性があるため、docker logout ghcr.io を実行してください。

  3. 認証。 github.com では、事前に何かを作成する必要はありません。上記のワンクリックボタンを初めて使用すると、OAuth でログインできます(ブラウザーを使ったフローで、トークンはメモリ内にのみ保持されます)。Docker ボタンでは固定のコールバックポート(127.0.0.1:8085)が公開されるため、コンテナーのログインコールバックにアクセスできます。動作の仕組み、ヘッドレス/デバイスコードによる代替手段、および独自の OAuth や GitHub App を使用する方法(GitHub Enterprise Server および ghe.com で必要)については、ローカルサーバーの OAuth ログイン をご覧ください。

    トークンを使用しますか?代わりに GitHub Personal Access Token を使って、GITHUB_PERSONAL_ACCESS_TOKEN を設定することもできます(OAuth より優先されます)。MCP サーバーは多くの GitHub API を使用できるため、AI ツールに付与してもよい範囲で権限を有効にしてください(アクセストークンの詳細は、ドキュメントをご覧ください)。

PAT を安全に扱う
環境変数(推奨)

GitHub PAT を安全に保管し、異なる MCP ホスト間で再利用するには、次の手順に従ってください。

  1. PAT を環境変数に保存する

    export GITHUB_PAT=your_token_here
    

    または、.env ファイルを作成します。

    GITHUB_PAT=your_token_here
    
  2. .env ファイルを保護する

    # Add to .gitignore to prevent accidental commits
    echo ".env" >> .gitignore
    
  3. 設定でトークンを参照する

    # CLI usage
    claude mcp add github -e GITHUB_PERSONAL_ACCESS_TOKEN=$GITHUB_PAT -- docker run -i --rm -e GITHUB_PERSONAL_ACCESS_TOKEN ghcr.io/aifity/omnigit-mcp
    
    # In config files (where supported)
    "env": {
      "GITHUB_PERSONAL_ACCESS_TOKEN": "$GITHUB_PAT"
    }
    

注:環境変数のサポート状況は、ホストアプリや IDE によって異なります。Windsurf など、一部のアプリケーションでは、設定ファイルにトークンを直接記述する必要があります。

トークンのセキュリティに関するベストプラクティス
  • 最小限のスコープ:必要な権限のみを付与します

    • repo - リポジトリ操作
    • read:packages - Docker イメージへのアクセス
    • read:org - 組織チームへのアクセス
  • トークンを分ける:プロジェクトや環境ごとに異なる PAT を使用します

  • 定期的なローテーション:トークンを定期的に更新します

  • コミットしない:トークンをバージョン管理の対象から除外します

  • ファイルのアクセス権限:トークンを含む設定ファイルへのアクセスを制限します

    chmod 600 ~/.your-app/config.json
    
GitHub Enterprise Server およびデータレジデンシー対応の Enterprise Cloud(ghe.com)

フラグ --gh-host と環境変数 GITHUB_HOST を使用して、GitHub Enterprise Server またはデータレジデンシー対応の GitHub Enterprise Cloud のホスト名を設定できます。

  • GitHub Enterprise Server では、ホスト名の先頭に https:// URI スキームを付けてください。付けない場合は http:// が既定で使用されますが、GitHub Enterprise Server はこれをサポートしていません。
  • データレジデンシー対応の GitHub Enterprise Cloud では、ホスト名に https://YOURSUBDOMAIN.ghe.com を使用してください。
"github": {
    "command": "docker",
    "args": [
    "run",
    "-i",
    "--rm",
    "-e",
    "GITHUB_PERSONAL_ACCESS_TOKEN",
    "-e",
    "GITHUB_HOST",
    "ghcr.io/aifity/omnigit-mcp"
    ],
    "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}",
        "GITHUB_HOST": "https://<your GHES or ghe.com domain name>"
    }
}

インストール

VS Code の GitHub Copilot にインストールする

すばやくインストールするには、上にあるワンクリックインストールボタンのいずれかを使用します。この手順を完了したら、エージェントモード(Copilot Chat のテキスト入力欄の横にあります)に切り替えると、サーバーが起動します。

VS Code で MCP サーバーのツールを使用する方法については、エージェントモードのドキュメントをご覧ください。

他の IDE(JetBrains、Visual Studio、Eclipse など)の GitHub Copilot にインストールする

次の JSON ブロックのいずれかを IDE の MCP 設定に追加します。

OAuth でログインする(トークンの作成や保存は不要です)。 github.com では、公式イメージにアプリの認証情報がすでに含まれているため、ご自身で用意する必要はありません。初回の使用時にブラウザーでログインし、取得したトークンはメモリ内にのみ保持されます。Docker では、コンテナーからログインコールバックにアクセスできるように、固定のコールバックポートをループバックに公開する必要があります。

{
  "mcp": {
    "servers": {
      "github": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-p",
          "127.0.0.1:8085:8085",
          "-e",
          "GITHUB_OAUTH_CALLBACK_PORT",
          "ghcr.io/aifity/omnigit-mcp"
        ],
        "env": {
          "GITHUB_OAUTH_CALLBACK_PORT": "8085"
        }
      }
    }
  }
}

ネイティブバイナリを使うフロー(固定ポートは不要)、ヘッドレス/デバイスコードによる代替手段、GitHub Enterprise Server/ghe.com、独自の OAuth または GitHub App の使用については、**ローカルサーバーの OAuth ログイン**をご覧ください。

または、Personal Access Token で認証する。 代わりに GITHUB_PERSONAL_ACCESS_TOKEN を設定します(OAuth よりも優先されます)。

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "github_token",
        "description": "GitHub Personal Access Token",
        "password": true
      }
    ],
    "servers": {
      "github": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "GITHUB_PERSONAL_ACCESS_TOKEN",
          "ghcr.io/aifity/omnigit-mcp"
        ],
        "env": {
          "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
        }
      }
    }
  }
}

必要に応じて、同様の例(つまり、mcp キーを含まないもの)をワークスペース内の .vscode/mcp.json というファイルに追加できます。これにより、同じ形式に対応する他のホストアプリケーションと設定を共有できます。

MCP キーを含まない JSON ブロックの例
{
  "inputs": [
    {
      "type": "promptString",
      "id": "github_token",
      "description": "GitHub Personal Access Token",
      "password": true
    }
  ],
  "servers": {
    "github": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GITHUB_PERSONAL_ACCESS_TOKEN",
        "ghcr.io/aifity/omnigit-mcp"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:github_token}"
      }
    }
  }
}
他の MCP ホストにインストールする

他の MCP ホストアプリケーションについては、次のインストールガイドをご覧ください。

  • Copilot CLI - GitHub Copilot CLI のインストールガイド
  • 他の IDE の GitHub Copilot - GitHub Copilot を使用する JetBrains、Visual Studio、Eclipse、Xcode へのインストール
  • Claude Code と Claude Desktop - Claude Code と Claude Desktop のインストールガイド
  • Cursor - Cursor IDE のインストールガイド
  • Google Gemini CLI - Google Gemini CLI のインストールガイド
  • OpenCode - OpenCode ターミナルエージェントのインストールガイド
  • Windsurf - Windsurf IDE のインストールガイド
  • Zed - Zed エディターのインストールガイド

すべてのインストール方法の概要については、**インストールガイドの目次**をご覧ください。

Note: ローカル MCP サーバーに対応するホストアプリケーションであれば、ローカルの GitHub MCP サーバーにアクセスできるはずです。ただし、具体的な設定手順、構文、統合の安定性はホストアプリケーションによって異なります。上記の例と同様の形式に従うものも多くありますが、保証はありません。正しい MCP 設定構文とセットアップ手順については、ホストアプリケーションのドキュメントをご確認ください。

ソースからビルドする

Docker がない場合は、go build を使用して cmd/omnigit-mcp ディレクトリ内のバイナリをビルドし、GITHUB_PERSONAL_ACCESS_TOKEN 環境変数にトークンを設定して、omnigit-mcp stdio コマンドを使用できます。ビルドの出力先を指定するには、-o フラグを使用します。サーバーの command として、ビルドした実行ファイルを指定してください。例:

{
  "mcp": {
    "servers": {
      "github": {
        "command": "/path/to/omnigit-mcp",
        "args": ["stdio"],
        "env": {
          "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
        }
      }
    }
  }
}
CLI ユーティリティ

omnigit-mcp バイナリには、サーバーのデバッグや調査に役立つ CLI サブコマンドがいくつか含まれています。

  • omnigit-mcp tool-search "<query>" は、名前、説明、入力パラメーター名でツールを検索します。さらに多くの候補を返すには、--max-results を使用します。 例(カラー出力には TTY が必要です。Docker で実行する場合は、docker run -t(または -it)を使用してください):
docker run -it --rm ghcr.io/aifity/omnigit-mcp tool-search "issue" --max-results 5
omnigit-mcp tool-search "issue" --max-results 5

ツールの設定

GitHub MCP Server では、--toolsets フラグを使って、機能のグループを有効または無効にできます。これにより、AI ツールで利用できる GitHub API の機能を制御できます。必要なツールセットだけを有効にすると、LLM がツールを選択しやすくなり、コンテキストサイズを削減できます。

ツールセットの対象はツールだけではありません。該当する MCP リソースとプロンプトも含まれます。

ツールセットを指定しない場合は、デフォルトのツールセットが使用されます。

使用例をお探しですか? 最小限のセットアップ、読み取り専用モード、ツールセットとツールの組み合わせなど、一般的な設定例についてはサーバー設定ガイドをご覧ください。

ツールセットの指定

LLM で使用できるツールセットを指定するには、次の 2 つの方法で許可リストを渡します。

  1. コマンドライン引数を使用する場合:

    omnigit-mcp --toolsets repos,issues,pull_requests,actions,code_security
    
  2. 環境変数を使用する場合:

    GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" ./omnigit-mcp
    

両方が指定されている場合、環境変数 GITHUB_TOOLSETS がコマンドライン引数より優先されます。

個別のツールの指定

--tools フラグを使って、特定のツールを設定することもできます。ツールは単独で使用することも、ツールセットと組み合わせて細かく制御することもできます。

  1. コマンドライン引数を使用する場合:

    omnigit-mcp --tools get_file_contents,issue_read,create_pull_request
    
  2. 環境変数を使用する場合:

    GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" ./omnigit-mcp
    
  3. ツールセットとの組み合わせ(追加):

    omnigit-mcp --toolsets repos,issues --tools get_gist
    

    これにより、repos と issues のツールセットに含まれるすべてのツールに加え、get_gist が登録されます。

重要な注意事項:

  • ツールとツールセットは併用できます
  • 読み取り専用モードが優先されます。--read-only が設定されている場合、--tools で明示的に指定されていても、書き込みツールはスキップされます
  • ツール名は完全に一致する必要があります(例:getFileContents ではなく get_file_contents)。無効なツール名が指定されると、エラーメッセージとともにサーバーの起動に失敗します
  • ツールの名前が変更された場合、後方互換性のために以前の名前がエイリアスとして保持されます。詳細はツール名の変更をご覧ください。
Docker でのツールセットの使用

Docker を使用する場合は、ツールセットを環境変数として渡せます。

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_TOOLSETS="repos,issues,pull_requests,actions,code_security" \
  ghcr.io/aifity/omnigit-mcp
Docker でのツールの使用

Docker を使用する場合は、特定のツールを環境変数として渡せます。ツールをツールセットと組み合わせることもできます。

# Tools only
docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_TOOLS="get_file_contents,issue_read,create_pull_request" \
  ghcr.io/aifity/omnigit-mcp

# Tools combined with toolsets (additive)
docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_TOOLSETS="repos,issues" \
  -e GITHUB_TOOLS="get_gist" \
  ghcr.io/aifity/omnigit-mcp
特別なツールセット
"all" ツールセット

特別なツールセット all を指定すると、他の設定に関係なく、利用可能なすべてのツールセットが有効になります。

./omnigit-mcp --toolsets all

または、環境変数を使用します。

GITHUB_TOOLSETS="all" ./omnigit-mcp
"default" ツールセット

デフォルトのツールセット default は、ツールセットが指定されていない場合にサーバーへ渡される設定です。

デフォルトの設定は次のとおりです。

  • context
  • repos
  • issues
  • pull_requests
  • users

デフォルトの設定を維持したまま、ツールセットを追加するには、次のようにします。

GITHUB_TOOLSETS="default,stargazers" ./omnigit-mcp
インサイダーモード

ローカルの GitHub MCP Server では、新機能や実験的なツールに早期アクセスできるインサイダー版を利用できます。

  1. コマンドライン引数を使用する場合:

    ./omnigit-mcp --insiders
    
  2. 環境変数を使用する場合:

    GITHUB_INSIDERS=true ./omnigit-mcp
    

Docker を使用する場合:

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_INSIDERS=true \
  ghcr.io/aifity/omnigit-mcp
利用可能なツールセット

次のツールセットを利用できます。

ツールセット説明
人物context強く推奨:現在のユーザーと、操作対象の GitHub コンテキストに関する情報を提供するツール
ワークフローactionsGitHub Actions のワークフローおよび CI/CD 操作
コードの四角形code_qualityGitHub Code Quality 関連のツール
コードスキャンcode_securityGitHub Code Scanning などのコードセキュリティ関連ツール
CopilotcopilotCopilot 関連のツール
DependabotdependabotDependabot のツール
コメントとディスカッションdiscussionsGitHub Discussions 関連のツール
Gist ロゴgistsGitHub Gist 関連のツール
Git ブランチgit低レベルの Git 操作用の、GitHub Git API 関連ツール
オープン中の IssueissuesGitHub Issues 関連のツール
タグlabelsGitHub Labels 関連のツール
Git ブランチlocal_gitローカルの Git リポジトリ操作 — ローカルマシン上の Git リポジトリを操作します(ステータス、差分、コミット、プッシュ、プル、ブランチなど)
ベルnotificationsGitHub Notifications 関連のツール
組織orgsGitHub Organization 関連のツール
プロジェクトprojectsGitHub Projects 関連のツール
プルリクエストpull_requestsGitHub Pull Request 関連のツール
リポジトリreposGitHub Repository 関連のツール
ロック付きシールドsecret_protectionGitHub Secret Scanning などのシークレット保護関連ツール
シールドsecurity_advisoriesセキュリティアドバイザリ関連のツール
星stargazersGitHub Stargazers 関連のツール
人々usersGitHub User 関連のツール
リモート GitHub MCP サーバーの追加ツールセット
ツールセット説明
copilotCopilot 関連のツール(例:Copilot Coding Agent)
copilot_spacesCopilot Spaces 関連のツール
github_support_docs_searchGitHub 製品やサポートに関する質問に回答するためのドキュメントを検索

ツール

ワークフロー Actions
  • actions_get - GitHub Actions のリソース(ワークフロー、ワークフロー実行、ジョブ、アーティファクト)の詳細を取得します

    • 必須の OAuth スコープ: repo
    • method: 実行するメソッド(文字列、必須)
    • owner: リポジトリのオーナー(文字列、必須)
    • repo: リポジトリ名(文字列、必須)
    • resource_id: リソースの一意の識別子です。指定した「method」によって異なるため、正しい ID を指定してください。
      • 'get_workflow' メソッドでは、ワークフロー ID またはワークフローファイル名(例:ci.yaml)を指定します。
      • 'get_workflow_run'、'get_workflow_run_usage'、'get_workflow_run_logs_url' メソッドでは、ワークフロー実行 ID を指定します。
      • 'download_workflow_run_artifact' メソッドでは、アーティファクト ID を指定します。
      • 'get_workflow_job' メソッドでは、ジョブ ID を指定します。 (文字列、必須)
  • actions_list - リポジトリ内の GitHub Actions ワークフローを一覧表示します

    • 必須の OAuth スコープ: repo
    • method: 実行するアクション(文字列、必須)
    • owner: リポジトリのオーナー(文字列、必須)
    • page: ページネーションのページ番号(デフォルト:1)(数値、任意)
    • per_page: ページネーションの1ページあたりの結果数(デフォルト:30、最大:100)(数値、任意)
    • repo: リポジトリ名(文字列、必須)
    • resource_id: リソースの一意の識別子です。指定した「method」によって異なります。
      • 'list_workflows' メソッドでは、リソース ID を指定しないでください。
      • 'list_workflow_runs' メソッドでは、ワークフロー ID またはワークフローファイル名(例:ci.yaml)を指定するか、省略してリポジトリ内のすべてのワークフロー実行を一覧表示します。
      • 'list_workflow_jobs' および 'list_workflow_run_artifacts' メソッドでは、ワークフロー実行 ID を指定します。 (文字列、任意)
    • workflow_jobs_filter: ワークフロージョブのフィルター。'list_workflow_jobs' メソッドでのみ使用します(オブジェクト、任意)
    • workflow_runs_filter: ワークフロー実行のフィルター。'list_workflow_runs' メソッドでのみ使用します(オブジェクト、任意)
  • actions_run_trigger - GitHub Actions のワークフローアクションをトリガーします

    • 必須の OAuth スコープ: repo
    • inputs: ワークフローが受け付ける入力。'run_workflow' メソッドでのみ使用します(オブジェクト、任意)
    • method: 実行するメソッド(文字列、必須)
    • owner: リポジトリのオーナー(文字列、必須)
    • ref: ワークフローの Git リファレンス。ブランチ名またはタグ名を指定できます。'run_workflow' メソッドでは必須です(文字列、任意)
    • repo: リポジトリ名(文字列、必須)
    • run_id: ワークフロー実行の ID。'run_workflow' 以外のすべてのメソッドで必須です(数値、任意)
    • workflow_id: ワークフロー ID(数値)またはワークフローファイル名(例:main.yml、ci.yaml)。'run_workflow' メソッドでは必須です(文字列、任意)
  • get_job_logs - GitHub Actions ワークフロージョブのログを取得します

    • 必要な OAuth スコープ: repo
    • failed_only: true の場合、run_id で指定したワークフロー実行内の失敗したすべてのジョブのログを取得します。run_id の指定が必要です。(boolean、任意)
    • job_id: ワークフロージョブの一意の識別子です。単一ジョブのログを取得する場合に必須です。(number、任意)
    • owner: リポジトリのオーナー(string、必須)
    • repo: リポジトリ名(string、必須)
    • return_content: URL の代わりに実際のログ内容を返します(boolean、任意)
    • run_id: ワークフロー実行の一意の識別子です。failed_only が true の場合、実行内の失敗したすべてのジョブのログを取得するために必須です。(number、任意)
    • tail_lines: ログ末尾から返す行数(number、任意)
code-square コード品質
  • get_code_quality_finding - コード品質の指摘を取得します
    • 必要な OAuth スコープ: repo
    • findingNumber: 指摘の番号です。(number、必須)
    • owner: リポジトリのオーナーです。(string、必須)
    • repo: リポジトリ名です。(string、必須)
codescan コードセキュリティ
  • get_code_scanning_alert - コードスキャンアラートを取得します

    • 必要な OAuth スコープ: security_events
    • 受け入れ可能な OAuth スコープ: repo、security_events
    • alertNumber: アラートの番号です。(number、必須)
    • owner: リポジトリのオーナーです。(string、必須)
    • repo: リポジトリ名です。(string、必須)
  • list_code_scanning_alerts - コードスキャンアラートの一覧を取得します

    • 必要な OAuth スコープ: security_events
    • 受け入れ可能な OAuth スコープ: repo、security_events
    • owner: リポジトリのオーナーです。(string、必須)
    • page: ページネーションのページ番号(最小 1)(number、任意)
    • perPage: ページネーションで返すページごとの結果数(最小 1、最大 100)(number、任意)
    • ref: 一覧表示する結果の Git リファレンスです。(string、任意)
    • repo: リポジトリ名です。(string、必須)
    • severity: コードスキャンアラートを重大度で絞り込みます(string、任意)
    • state: コードスキャンアラートを状態で絞り込みます。デフォルトは open です(string、任意)
    • tool_name: コードスキャンに使用したツールの名前です。(string、任意)
person コンテキスト
  • get_me - 自分のユーザープロフィールを取得します

    • パラメーターは不要です
  • get_team_members - チームメンバーを取得します

    • 必要な OAuth スコープ: read:org
    • 受け入れ可能な OAuth スコープ: admin:org、read:org、write:org
    • org: チームが属する組織のログイン名(オーナー)です。(string、必須)
    • team_slug: チームのスラッグです(string、必須)
  • get_teams - チームを取得します

    • 必要な OAuth スコープ: read:org
    • 受け入れ可能な OAuth スコープ: admin:org、read:org、write:org
    • user: チームを取得する対象のユーザー名です。指定しない場合は、認証済みユーザーが使用されます。(string、任意)
copilot Copilot
  • assign_copilot_to_issue - Copilot をイシューに割り当てる

    • 必須 OAuth スコープ: repo
    • base_ref: エージェントが作業を開始する Git 参照(例:ブランチ)です。指定しない場合、リポジトリのデフォルトブランチが使用されます(文字列、任意)
    • custom_instructions: イシューの本文に加えて、エージェントに指示を与えるための任意のカスタム指示です。イシューの説明に含まれていない追加のコンテキスト、制約、ガイダンスを提供する場合に使用します(文字列、任意)
    • issue_number: イシュー番号(数値、必須)
    • owner: リポジトリの所有者(文字列、必須)
    • repo: リポジトリ名(文字列、必須)
  • request_copilot_review - Copilot にレビューを依頼する

    • 必須 OAuth スコープ: repo
    • owner: リポジトリの所有者(文字列、必須)
    • pullNumber: プルリクエスト番号(数値、必須)
    • repo: リポジトリ名(文字列、必須)
dependabot Dependabot
  • get_dependabot_alert - Dependabot アラートを取得する

    • 必須 OAuth スコープ: security_events
    • 受け入れ可能な OAuth スコープ: repo、security_events
    • alertNumber: アラート番号(数値、必須)
    • owner: リポジトリの所有者(文字列、必須)
    • repo: リポジトリ名(文字列、必須)
  • list_dependabot_alerts - Dependabot アラートの一覧を取得する

    • 必須 OAuth スコープ: security_events
    • 受け入れ可能な OAuth スコープ: repo、security_events
    • after: ページネーション用のカーソルです。前回のレスポンスに含まれるカーソルを使用します(文字列、任意)
    • owner: リポジトリの所有者(文字列、必須)
    • perPage: ページネーションで取得する結果数(最小 1、最大 100)(数値、任意)
    • repo: リポジトリ名(文字列、必須)
    • severity: Dependabot アラートを重大度で絞り込みます(文字列、任意)
    • state: Dependabot アラートを状態で絞り込みます。デフォルトは open です(文字列、任意)
comment-discussion ディスカッション - **discussion_comment_write** - ディスカッションのコメントを管理 - **必須の OAuth スコープ**: `repo` - `body`: コメントの内容('add'、'reply'、'update' メソッドで必須)(文字列、任意) - `commentNodeID`: ディスカッションのコメントの Node ID('reply'、'update'、'delete'、'mark_answer'、'unmark_answer' メソッドで必須)。'reply' の場合、返信先となるトップレベルのコメントです。GitHub Discussions でサポートされる階層は 1 段階のみです。(文字列、任意) - `discussionNumber`: ディスカッション番号('add'、'reply' メソッドで必須)(数値、任意) - `method`: ディスカッションのコメントに対して実行する書き込み操作。 選択肢: - 'add' - ディスカッションに新しいトップレベルのコメントを追加します。 - 'reply' - トップレベルのディスカッションコメントに返信します(GitHub Discussions でサポートされる階層は 1 段階のみです)。 - 'update' - 既存のディスカッションコメントを更新します。 - 'delete' - ディスカッションのコメントを削除します。 - 'mark_answer' - ディスカッションのコメントを回答としてマークします(Q&A のみ)。 - 'unmark_answer' - ディスカッションのコメントから回答のマークを解除します(Q&A のみ)。 (文字列、必須) - `owner`: リポジトリのオーナー('add'、'reply' メソッドで必須)(文字列、任意) - `repo`: リポジトリ名('add'、'reply' メソッドで必須)(文字列、任意)
  • get_discussion - ディスカッションを取得

    • 必須の OAuth スコープ: repo
    • discussionNumber: ディスカッション番号(数値、必須)
    • owner: リポジトリのオーナー(文字列、必須)
    • repo: リポジトリ名(文字列、必須)
  • get_discussion_comments - ディスカッションのコメントを取得

    • 必須の OAuth スコープ: repo
    • after: ページネーション用カーソル。前回のレスポンスに含まれるカーソルを使用します。(文字列、任意)
    • discussionNumber: ディスカッション番号(数値、必須)
    • includeReplies: true の場合、各トップレベルコメントに返信がネストされて含まれます(コメントごとに最大 100 件。これは GitHub API の上限です)。デフォルトは false です。(ブール値、任意)
    • owner: リポジトリのオーナー(文字列、必須)
    • perPage: ページネーションのページあたりの結果数(最小 1、最大 100)(数値、任意)
    • repo: リポジトリ名(文字列、必須)
  • list_discussion_categories - ディスカッションのカテゴリを一覧表示

    • 必須の OAuth スコープ: repo
    • owner: リポジトリのオーナー(文字列、必須)
    • repo: リポジトリ名。指定しない場合、組織レベルのディスカッションカテゴリが照会されます。(文字列、任意)
  • list_discussions - ディスカッションを一覧表示

    • 必須の OAuth スコープ: repo
    • after: ページネーション用カーソル。前回のレスポンスに含まれるカーソルを使用します。(文字列、任意)
    • category: ディスカッションカテゴリ ID による任意のフィルター。指定すると、このカテゴリのディスカッションのみが一覧表示されます。(文字列、任意)
    • direction: 並び順の方向。(文字列、任意)
    • orderBy: ディスカッションを並べ替えるフィールド。指定する場合は、'direction' も指定する必要があります。(文字列、任意)
    • owner: リポジトリのオーナー(文字列、必須)
    • perPage: ページネーションのページあたりの結果数(最小 1、最大 100)(数値、任意)
    • repo: リポジトリ名。指定しない場合、組織レベルのディスカッションが照会されます。(文字列、任意)
logo-gist Gist
  • create_gist - Gist を作成

    • 必須の OAuth スコープ: gist
    • content: 単一ファイルの簡易 Gist 作成に使用するコンテンツ(文字列、必須)
    • description: Gist の説明(文字列、任意)
    • filename: 単一ファイルの簡易 Gist 作成に使用するファイル名(文字列、必須)
    • public: Gist を公開するかどうか(ブール値、任意)
  • get_gist - Gist のコンテンツを取得

    • gist_id: Gist の ID(文字列、必須)
  • list_gists - Gist の一覧表示

    • page: ページネーションのページ番号(最小値 1)(number、任意)
    • perPage: ページネーションの 1 ページあたりの結果数(最小値 1、最大値 100)(number、任意)
    • since: この時刻以降に更新された Gist のみを対象とします(ISO 8601 タイムスタンプ)(string、任意)
    • username: GitHub のユーザー名(認証済みユーザーの Gist を対象にする場合は省略)(string、任意)
  • update_gist - Gist の更新

    • 必須 OAuth スコープ: gist
    • content: ファイルの内容(string、必須)
    • description: Gist の更新後の説明(string、任意)
    • filename: 更新または作成するファイル名(string、必須)
    • gist_id: 更新する Gist の ID(string、必須)
git-branch Git
  • get_repository_tree - リポジトリのツリーを取得
    • 必須 OAuth スコープ: repo
    • owner: リポジトリの所有者(ユーザー名または組織名)(string、必須)
    • path_filter: ツリーの結果を絞り込むための任意のパスプレフィックス(例:src ディレクトリ内のファイルのみを表示するには「src/」を指定)(string、任意)
    • recursive: このパラメーターを true に設定すると、ツリーから参照されるオブジェクトまたはサブツリーが返されます。デフォルトは false です(boolean、任意)
    • repo: リポジトリ名(string、必須)
    • tree_sha: ツリーの SHA1 値または参照名(ブランチまたはタグ)。デフォルトではリポジトリのデフォルトブランチが使用されます(string、任意)
issue-opened Issues
  • add_issue_comment - Issue またはプルリクエストにコメントを追加

    • 必須 OAuth スコープ: repo
    • body: コメントの内容。reaction を指定しない場合は必須です。(string、任意)
    • comment_id: リアクションを付ける Issue またはプルリクエストのコメントの数値 ID。コメントにリアクションを付ける場合に指定します。Issue またはプルリクエスト自体にリアクションを付ける場合は省略します。body とは併用できません。(number、任意)
    • issue_number: コメントまたはリアクションの対象となる Issue またはプルリクエストの番号(number、必須)
    • owner: リポジトリの所有者(string、必須)
    • reaction: 追加する絵文字リアクション。body を指定しない場合は必須です。(string、任意)
    • repo: リポジトリ名(string、必須)
  • get_label - リポジトリから特定のラベルを取得

    • 必須 OAuth スコープ: repo
    • name: ラベル名(string、必須)
    • owner: リポジトリの所有者(ユーザー名または組織名)(string、必須)
    • repo: リポジトリ名(string、必須)
  • issue_comment_write - Issue のコメントを更新または削除

    • 必須 OAuth スコープ: repo
    • body: 新しいコメントの内容(update メソッドでは必須)(string、任意)
    • comment_id: 更新または削除するコメントの ID(number、必須)
    • method: コメントに対して実行する書き込み操作。 選択肢:
      • 'update' - 既存のコメントを更新します。
      • 'delete' - 既存のコメントを削除します。 (string、必須)
    • owner: リポジトリの所有者(string、必須)
    • repo: リポジトリ名(string、必須)
- **issue_read** - Issue の詳細を取得します - **必須の OAuth スコープ**: `repo` - `issue_number`: Issue 番号(数値、必須) - `method`: 単一の Issue に対して実行する読み取り操作です。 選択肢は次のとおりです。 1. get - Issue の詳細を取得します。最善を尽くして階層フラグ(`has_parent`、`has_children`)も返します。`parent` と `sub_issues_summary` は任意の関連サマリーです。 2. get_comments - Issue のコメントを取得します。 3. get_sub_issues - Issue のサブ Issue(子)を取得します。 4. get_parent - この Issue が別の Issue のサブ Issue である場合、親 Issue を取得します。 5. get_labels - Issue に割り当てられたラベルを取得します。 (文字列、必須) - `owner`: リポジトリの所有者(文字列、必須) - `page`: ページネーションのページ番号(最小値 1)(数値、任意) - `perPage`: ページネーションの 1 ページあたりの結果数(最小値 1、最大値 100)(数値、任意) - `repo`: リポジトリ名(文字列、必須)
  • issue_write - Issue/プルリクエストを作成または更新します

    • 必須の OAuth スコープ: repo
    • assignees: この Issue に割り当てるユーザー名(文字列の配列、任意)
    • body: Issue の本文(文字列、任意)
    • duplicate_of: この Issue の重複元となる Issue 番号。state_reason が 'duplicate' の場合のみ使用します。(数値、任意)
    • issue_fields: 設定またはクリアする Issue フィールドの値。各項目には 'field_name' と、'value'、'field_option_name'、'delete: true' のいずれか 1 つが必要です。(オブジェクトの配列、任意)
    • issue_number: 更新する Issue 番号(数値、任意)
    • labels: この Issue に適用するラベル(文字列の配列、任意)
    • method: 単一の Issue に対して実行する書き込み操作です。 選択肢は次のとおりです。
      • 'create' - 新しい Issue を作成します。
      • 'update' - 既存の Issue を更新します。 (文字列、必須)
    • milestone: マイルストーン番号(数値、任意)
    • owner: リポジトリの所有者(文字列、必須)
    • repo: リポジトリ名(文字列、必須)
    • state: 新しい状態(文字列、任意)
    • state_reason: 状態変更の理由です。状態が変更されない場合は無視されます。(文字列、任意)
    • title: Issue のタイトル(文字列、任意)
    • type: この Issue の種類です。このリポジトリで Issue の種類が有効になっている場合にのみ使用します。このリポジトリまたは所有組織で有効な種類の値を取得するには、list_issue_types ツールを使用してください。リポジトリが Issue の種類をサポートしていない場合は、このパラメーターを省略します。(文字列、任意)
  • list_issue_fields - Issue フィールドを一覧表示します

    • 必須の OAuth スコープ(いずれか): repo、read:org
    • 受け付ける OAuth スコープ: admin:org、read:org、repo、write:org
    • owner: リポジトリまたは組織のアカウント所有者です。大文字と小文字は区別されません。(文字列、必須)
    • repo: リポジトリ名です。指定すると、この特定のリポジトリのフィールド(組織から継承したもの)を返します。省略すると、組織レベルのフィールドを直接返します。(文字列、任意)
  • list_issue_types - 利用可能な Issue の種類を一覧表示します

    • 必須の OAuth スコープ(いずれか): repo、read:org
    • 受け付ける OAuth スコープ: admin:org、read:org、repo、write:org
    • owner: リポジトリまたは組織のアカウント所有者です。(文字列、必須)
    • repo: リポジトリ名です。指定すると、この特定のリポジトリの Issue の種類を返します。省略すると、組織レベルの Issue の種類を直接返します。(文字列、任意)
  • list_issues - Issue の一覧を取得

    • Required OAuth Scopes: repo
    • after: ページネーション用のカーソルです。前回のレスポンスのカーソルを使用します。(string, optional)
    • direction: 並び順の方向です。指定する場合は、orderBy も指定する必要があります。(string, optional)
    • field_filters: カスタム Issue フィールドの値で絞り込みます。各エントリには field_name と値を指定します。サーバーはフィールドを検索し、値をその型(単一選択のオプション名、テキスト、数値、または YYYY-MM-DD 形式の日付)に変換します。(object[], optional)
    • labels: ラベルで絞り込みます(string[], optional)
    • orderBy: フィールドに基づいて Issue を並べ替えます。指定する場合は、direction も指定する必要があります。(string, optional)
    • owner: リポジトリのオーナー(string, required)
    • perPage: ページネーションの1ページあたりの結果数(最小 1、最大 100)(number, optional)
    • repo: リポジトリ名(string, required)
    • since: 日付で絞り込みます(ISO 8601 タイムスタンプ)(string, optional)
    • state: 状態で絞り込みます。指定しない場合、デフォルトでオープンとクローズ済みの両方の Issue が返されます(string, optional)
  • search_issues - Issue を検索

    • Required OAuth Scopes: repo
    • order: 並べ替え順(string, optional)
    • owner: リポジトリのオーナー(任意)。repo とともに指定すると、このリポジトリの Issue のみが一覧表示されます。(string, optional)
    • page: ページネーション用のページ番号(最小 1)(number, optional)
    • perPage: ページネーションの1ページあたりの結果数(最小 1、最大 100)(number, optional)
    • query: GitHub の Issue 検索構文を使用した検索クエリ(string, required)
    • repo: リポジトリ名(任意)。owner とともに指定すると、このリポジトリの Issue のみが一覧表示されます。(string, optional)
    • sort: カテゴリの一致数で並べ替えるフィールドです。デフォルトは最も一致度の高い順です。(string, optional)
  • sub_issue_write - サブ Issue を変更

    • Required OAuth Scopes: repo
    • after_id: 優先順位をこのサブ Issue の後にする対象の ID(after_id または before_id のいずれかを指定する必要があります)(number, optional)
    • before_id: 優先順位をこのサブ Issue の前にする対象の ID(after_id または before_id のいずれかを指定する必要があります)(number, optional)
    • issue_number: 親 Issue の番号(number, required)
    • method: 単一のサブ Issue に対して実行する操作 選択肢は次のとおりです。
      • 'add' - GitHub リポジトリの親 Issue にサブ Issue を追加します。
      • 'remove' - GitHub リポジトリの親 Issue からサブ Issue を削除します。
      • 'reprioritize' - GitHub リポジトリの親 Issue 内でサブ Issue の順序を変更します。新しい位置を指定するには、'after_id' または 'before_id' を使用します。 Issue の階層を書き込みます。サブ Issue を新しい親に移動するには、replace_parent=true を指定して add を使用します。書き込み可能な親フィールドはありません。 (string, required)
    • owner: リポジトリのオーナー(string, required)
    • replace_parent: true の場合、サブ Issue の現在の親 Issue を置き換えます。add メソッドでのみ使用します。(boolean, optional)
    • repo: リポジトリ名(string, required)
    • sub_issue_id: 追加するサブ Issue の ID。ID は Issue 番号とは異なります(number, required)
タグ ラベル
  • get_label - リポジトリから特定のラベルを取得

    • Required OAuth Scopes: repo
    • name: ラベル名。(string, required)
    • owner: リポジトリのオーナー(ユーザー名または組織名)(string, required)
    • repo: リポジトリ名(string, required)
  • label_write - リポジトリのラベルに対する書き込み操作

    • 必須の OAuth スコープ: repo
    • color: '#' を付けない 6 文字の 16 進数コードで指定するラベルの色(例: 'f29513')。'create' では必須、'update' では任意です。(文字列、任意)
    • description: ラベルの説明文です。'create' と 'update' では任意です。(文字列、任意)
    • method: 実行する操作: 'create'、'update'、または 'delete'(文字列、必須)
    • name: ラベル名。すべての操作で必須です(文字列、必須)
    • new_name: ラベルの新しい名前(名前の変更を行う 'update' メソッドでのみ使用)(文字列、任意)
    • owner: リポジトリのオーナー(ユーザー名または組織名)(文字列、必須)
    • repo: リポジトリ名(文字列、必須)
  • list_label - リポジトリのラベルを一覧表示

    • 必須の OAuth スコープ: repo
    • owner: リポジトリのオーナー(ユーザー名または組織名)。すべての操作で必須です(文字列、必須)
    • repo: リポジトリ名。すべての操作で必須です(文字列、必須)
git-branch ローカル Git
  • git_add - Git add

    • files: ステージするファイルパスをカンマ区切りで指定します(文字列、必須)
    • repo_path: Git リポジトリのパス(デフォルトのリポジトリが設定されている場合は省略可能)(文字列、任意)
  • git_add - Git add

    • files: ステージするファイルパスをカンマ区切りで指定します(文字列、必須)
    • repo_path: Git リポジトリのパス(デフォルトのリポジトリが設定されている場合は省略可能)(文字列、任意)
  • git_apply_patch_file - Git のパッチファイルを適用

    • patch_file: パッチファイルのパス(文字列、必須)
    • repo_path: Git リポジトリのパス(デフォルトのリポジトリが設定されている場合は省略可能)(文字列、任意)
  • git_apply_patch_file - Git のパッチファイルを適用

    • patch_file: パッチファイルのパス(文字列、必須)
    • repo_path: Git リポジトリのパス(デフォルトのリポジトリが設定されている場合は省略可能)(文字列、任意)
  • git_apply_patch_string - Git のパッチ文字列を適用

    • patch_string: 適用するパッチ文字列(文字列、必須)
    • repo_path: Git リポジトリのパス(デフォルトのリポジトリが設定されている場合は省略可能)(文字列、任意)
  • git_apply_patch_string - Git のパッチ文字列を適用

    • patch_string: 適用するパッチ文字列(文字列、必須)
    • repo_path: Git リポジトリのパス(デフォルトのリポジトリが設定されている場合は省略可能)(文字列、任意)
  • git_checkout - Git checkout

    • branch_name: チェックアウトするブランチ名(文字列、必須)
    • repo_path: Git リポジトリのパス(デフォルトのリポジトリが設定されている場合は省略可能)(文字列、任意)
  • git_checkout - Git checkout

    • branch_name: チェックアウトするブランチ名(文字列、必須)
    • repo_path: Git リポジトリのパス(デフォルトのリポジトリが設定されている場合は省略可能)(文字列、任意)
  • git_commit - Git commit

    • message: コミットメッセージ(文字列、必須)
    • repo_path: Git リポジトリのパス(デフォルトのリポジトリが設定されている場合は省略可能)(文字列、任意)
  • git_commit - Git commit

    • message: コミットメッセージ(文字列、必須)
    • repo_path: Git リポジトリのパス(デフォルトのリポジトリが設定されている場合は省略可能)(文字列、任意)
  • git_create_branch - Git ブランチを作成

    • base_branch: 新しいブランチの起点(任意)(文字列、任意)
    • branch_name: 新しいブランチ名(文字列、必須)
    • repo_path: Git リポジトリのパス(デフォルトのリポジトリが設定されている場合は省略可能)(文字列、任意)
  • git_create_branch - Git ブランチを作成

    • base_branch: 新しいブランチの開始点(任意)(文字列、任意)
    • branch_name: 新しいブランチの名前(文字列、必須)
    • repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
  • git_diff - Git の差分

    • repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
    • target: 比較対象のブランチまたはコミット(文字列、必須)
  • git_diff - Git の差分

    • repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
    • target: 比較対象のブランチまたはコミット(文字列、必須)
  • git_diff_staged - ステージ済みの Git 差分

    • repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
  • git_diff_staged - ステージ済みの Git 差分

    • repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
  • git_diff_unstaged - 未ステージの Git 差分

    • repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
  • git_diff_unstaged - 未ステージの Git 差分

    • repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
  • git_init - Git リポジトリを初期化

    • repo_path: Git リポジトリを初期化するディレクトリへのパス(文字列、必須)
  • git_init - Git リポジトリを初期化

    • repo_path: Git リポジトリを初期化するディレクトリへのパス(文字列、必須)
  • git_list_repositories - Git リポジトリの一覧

    • パラメーターは不要です
  • git_list_repositories - Git リポジトリの一覧

    • パラメーターは不要です
  • git_log - Git ログ

    • max_count: 表示するコミットの最大数(デフォルト:10)(数値、任意)
    • repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
  • git_log - Git ログ

    • max_count: 表示するコミットの最大数(デフォルト:10)(数値、任意)
    • repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
  • git_pull - Git pull

    • branch: プルするブランチ名(デフォルト:現在のブランチのアップストリーム)(文字列、任意)
    • remote: リモート名(デフォルト:origin)(文字列、任意)
    • repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
  • git_pull - Git pull

    • branch: プルするブランチ名(デフォルト:現在のブランチのアップストリーム)(文字列、任意)
    • remote: リモート名(デフォルト:origin)(文字列、任意)
    • repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
  • git_push - Git push

    • branch: プッシュするブランチ名(デフォルト:現在のブランチ)(文字列、任意)
    • remote: リモート名(デフォルト:origin)(文字列、任意)
    • repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
  • git_push - Git push

    • branch: プッシュするブランチ名(デフォルト:現在のブランチ)(文字列、任意)
    • remote: リモート名(デフォルト:origin)(文字列、任意)
    • repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
  • git_reset - Git reset

    • repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
  • git_reset - Git reset

    • repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
  • git_show - Git show

    • repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
    • revision: 表示するリビジョン(コミットハッシュ、ブランチ名、タグ)(文字列、必須)
  • git_show - Git show

    • repo_path: Git リポジトリへのパス(デフォルトリポジトリが設定されている場合は任意)(文字列、任意)
    • revision: 表示するリビジョン(コミットハッシュ、ブランチ名、タグ)(文字列、必須)
  • git_status - Git のステータス

    • repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)
  • git_status - Git のステータス

    • repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)
  • git_worktree_add - Git worktree の追加

    • commitish: 新しい worktree でチェックアウトするブランチ名、タグ、またはコミット SHA(任意)(string、任意)
    • detach: detached HEAD の worktree を作成します(任意、デフォルト:false)(boolean、任意)
    • force: worktree のパスがすでに存在する場合でも強制的に作成します(任意、デフォルト:false)(boolean、任意)
    • new_branch: worktree にこの名前で新しいブランチを作成します(任意)(string、任意)
    • repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)
    • worktree_path: 新しい worktree を作成する場所へのパス(string、必須)
  • git_worktree_add - Git worktree の追加

    • commitish: 新しい worktree でチェックアウトするブランチ名、タグ、またはコミット SHA(任意)(string、任意)
    • detach: detached HEAD の worktree を作成します(任意、デフォルト:false)(boolean、任意)
    • force: worktree のパスがすでに存在する場合でも強制的に作成します(任意、デフォルト:false)(boolean、任意)
    • new_branch: worktree にこの名前で新しいブランチを作成します(任意)(string、任意)
    • repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)
    • worktree_path: 新しい worktree を作成する場所へのパス(string、必須)
  • git_worktree_list - Git worktree の一覧

    • repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)
  • git_worktree_list - Git worktree の一覧

    • repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)
  • git_worktree_lock - Git worktree のロック

    • reason: worktree をロックする理由(任意)(string、任意)
    • repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)
    • worktree: ロックする worktree ディレクトリへのパス(string、必須)
  • git_worktree_lock - Git worktree のロック

    • reason: worktree をロックする理由(任意)(string、任意)
    • repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)
    • worktree: ロックする worktree ディレクトリへのパス(string、必須)
  • git_worktree_prune - Git worktree のプルーニング

    • dry_run: 実際にプルーニングせず、プルーニング対象を表示します(任意、デフォルト:false)(boolean、任意)
    • repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)
    • verbose: 詳細な出力を表示します(任意、デフォルト:false)(boolean、任意)
  • git_worktree_prune - Git worktree のプルーニング

    • dry_run: 実際にプルーニングせず、プルーニング対象を表示します(任意、デフォルト:false)(boolean、任意)
    • repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)
    • verbose: 詳細な出力を表示します(任意、デフォルト:false)(boolean、任意)
  • git_worktree_remove - Git worktree の削除

    • force: worktree に未コミットの変更がある場合やロックされている場合でも強制的に削除します(任意、デフォルト:false)(boolean、任意)
    • repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)
    • worktree: 削除する worktree ディレクトリへのパス(string、必須)
  • git_worktree_remove - Git worktree の削除

    • force: worktree に未コミットの変更がある場合やロックされている場合でも強制的に削除します(任意、デフォルト:false)(boolean、任意)
    • repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)
    • worktree: 削除する worktree ディレクトリへのパス(string、必須)
  • git_worktree_unlock - Git worktree のロック解除

    • repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)
    • worktree: ロックを解除する worktree ディレクトリへのパス(string、必須)
  • git_worktree_unlock - Git worktree のロック解除

    • repo_path: Git リポジトリへのパス(デフォルトのリポジトリが設定されている場合は省略可能)(string、任意)
    • worktree: ロックを解除する worktree ディレクトリへのパス(string、必須)
ベル 通知
  • dismiss_notification - 通知を非表示にする

    • 必須の OAuth スコープ: notifications
    • state: 通知の新しい状態(read/done)(string、必須)
    • threadID: 通知スレッドの ID(string、必須)
  • get_notification_details - 通知の詳細を取得する

    • 必須の OAuth スコープ: notifications
    • notificationID: 通知の ID(string、必須)
  • list_notifications - 通知を一覧表示する

    • 必須の OAuth スコープ: notifications
    • before: 指定した時刻より前に更新された通知のみを表示します(ISO 8601 形式)(string、任意)
    • filter: 通知のフィルター。指定がない場合はデフォルトを使用します。既読の通知とは、ユーザーがすでに確認した通知です。参加中の通知とは、ユーザーがコメントまたは作成した issue や pull request など、ユーザーが直接関与している通知です。(string、任意)
    • owner: リポジトリのオーナー(任意)。repo とともに指定すると、このリポジトリの通知のみが一覧表示されます。(string、任意)
    • page: ページネーションのページ番号(最小値 1)(number、任意)
    • perPage: ページネーションの 1 ページあたりの結果数(最小値 1、最大値 100)(number、任意)
    • repo: リポジトリ名(任意)。owner とともに指定すると、このリポジトリの通知のみが一覧表示されます。(string、任意)
    • since: 指定した時刻より後に更新された通知のみを表示します(ISO 8601 形式)(string、任意)
  • manage_notification_subscription - 通知のサブスクリプションを管理する

    • 必須の OAuth スコープ: notifications
    • action: 実行する操作:通知サブスクリプションを ignore、watch、または delete します。(string、必須)
    • notificationID: 通知スレッドの ID。(string、必須)
  • manage_repository_notification_subscription - リポジトリの通知サブスクリプションを管理する

    • 必須の OAuth スコープ: notifications
    • action: 実行する操作:リポジトリの通知サブスクリプションを ignore、watch、または delete します。(string、必須)
    • owner: リポジトリのアカウントオーナー。(string、必須)
    • repo: リポジトリ名。(string、必須)
  • mark_all_notifications_read - すべての通知を既読にする

    • 必須の OAuth スコープ: notifications
    • lastReadAt: 通知を最後に確認した時点を示します(任意)。デフォルト:現在(string、任意)
    • owner: リポジトリのオーナー(任意)。repo とともに指定すると、このリポジトリの通知のみが既読になります。(string、任意)
    • repo: リポジトリ名(任意)。owner とともに指定すると、このリポジトリの通知のみが既読になります。(string、任意)
組織 組織 - **search_orgs** - 組織を検索します - **必須の OAuth スコープ**: `read:org` - **使用可能な OAuth スコープ**: `admin:org`、`read:org`、`write:org` - `order`: 並べ替え順(文字列、任意) - `page`: ページネーション用のページ番号(最小値 1)(数値、任意) - `perPage`: ページネーション用のページあたりの結果数(最小値 1、最大値 100)(数値、任意) - `query`: 組織の検索クエリ。例:'microsoft'、'location:california'、'created:>=2025-01-01'。検索範囲は自動的に type:org に限定されます。(文字列、必須) - `sort`: カテゴリ別の並べ替えフィールド(文字列、任意)
project プロジェクト
  • projects_get - GitHub Projects のリソースの詳細を取得します
    • 必須の OAuth スコープ: read:project
    • 使用可能な OAuth スコープ: project、read:project
    • field_id: フィールドの ID。'get_project_field' メソッドで必須です。(数値、任意)
    • field_names: プロジェクト項目の取得時にレスポンスに含めるフィールド名のリスト(例:["Status", "Priority"])。サーバー側でフィールド ID に解決されます。人が読める名前しかわからない場合は、'fields' の代わりにこれを渡してください。'fields' とは相互排他的です。どちらか一方だけを指定してください。'get_project_item' メソッドでのみ使用されます。(文字列[]、任意)
    • fields: プロジェクト項目の取得時にレスポンスに含めるフィールド ID のリスト(例:["102589", "985201", "169875"])。'fields' も 'field_names' も指定されていない場合は、タイトルフィールドのみが含まれます。'field_names' とは相互排他的です。どちらか一方だけを指定してください。'get_project_item' メソッドでのみ使用されます。(文字列[]、任意)
    • item_id: 項目の ID。'get_project_item' メソッドで必須です。(数値、任意)
    • method: 実行するメソッド(文字列、必須)
    • owner: 所有者(ユーザーまたは組織のログイン名)。大文字と小文字は区別されません。(文字列、任意)
    • owner_type: 所有者の種類(user または org)。指定されていない場合は自動的に判定されます。(文字列、任意)
    • project_number: プロジェクト番号。(数値、任意)
    • status_update_id: プロジェクトのステータス更新のノード ID。'get_project_status_update' メソッドで必須です。(文字列、任意)
- **projects_list** - GitHub Projects リソースを一覧表示します - **必須の OAuth スコープ**: `read:project` - **受け付ける OAuth スコープ**: `project`、`read:project` - `after`: 前のページの pageInfo.nextCursor から引き継ぐ前方ページネーション用カーソルです。(string、任意) - `before`: 前のページの pageInfo.prevCursor から引き継ぐ後方ページネーション用カーソルです(まれに使用)。(string、任意) - `field_names`: プロジェクト項目の一覧表示時に含めるフィールド名です(例:["Status", "Priority"])。サーバー側でフィールド ID に解決されます。人が読める名前しかわからない場合は、'fields' の代わりに指定してください。解決できない名前がある場合は、構造化エラーが返されます。'fields' とは相互排他的です。どちらか一方のみ指定してください。'list_project_items' メソッドでのみ使用されます。(string[]、任意) - `fields`: プロジェクト項目の一覧表示時に含めるフィールド ID です(例:["102589", "985201"])。重要:フィールド値を取得するには必ず指定してください。これを指定せず、'field_names' も指定しない場合、タイトルのみが返されます。'field_names' とは相互排他的です。どちらか一方のみ指定してください。'list_project_items' メソッドでのみ使用されます。(string[]、任意) - `method`: 実行するアクションです(string、必須) - `owner`: 所有者(ユーザーまたは組織のログイン名)です。大文字と小文字は区別されません。(string、必須) - `owner_type`: 所有者の種類(user または org)です。指定しない場合は、両方を自動的に試します。(string、任意) - `per_page`: 1 ページあたりの結果数です(最大 50)(number、任意) - `project_number`: プロジェクト番号です。'list_project_fields'、'list_project_items'、および 'list_project_status_updates' メソッドでは必須です。(number、任意) - `query`: フィルター/クエリ文字列です。list_projects の場合:タイトルのテキストと状態で絞り込みます(例:"roadmap is:open")。list_project_items の場合:GitHub のプロジェクトフィルター構文を使った高度な絞り込みを行います。(string、任意) - **projects_write** - GitHub Projects を管理します - **必須の OAuth スコープ**: `project` - `body`: ステータス更新の本文(markdown)です。'create_project_status_update' メソッドで使用します。(string、任意) - `field_name`: イテレーションフィールドの名前(例: 'Sprint')です。'create_iteration_field' メソッドで必須です。(string、任意) - `issue_number`: イシュー番号です。item_type が 'issue' の場合、'add_project_item' で必須です。また、イシュー番号でアイテムを解決するために 'update_project_item' でも受け付けられます(item_owner と item_repo を組み合わせて指定します)。(number、任意) - `item_id`: プロジェクトアイテム ID です。'delete_project_item' で必須です。'update_project_item' では、item_id、またはイシュー番号でアイテムを解決するための (item_owner + item_repo + issue_number) のいずれかを指定します。(number、任意) - `item_owner`: イシューまたはプルリクエストを含むリポジトリの所有者(ユーザーまたは組織)です。'add_project_item' メソッドで必須です。また、イシュー番号でアイテムを解決する場合、'update_project_item' でも受け付けられます。(string、任意) - `item_repo`: イシューまたはプルリクエストを含むリポジトリの名前です。'add_project_item' メソッドで必須です。また、イシュー番号でアイテムを解決する場合、'update_project_item' でも受け付けられます。(string、任意) - `item_type`: アイテムの種類で、issue または pull_request のいずれかです。'add_project_item' メソッドで必須です。(string、任意) - `iteration_duration`: フィールドのイテレーション期間(日数)です(例: 週単位なら 7、隔週なら 14)。'create_iteration_field' メソッドで必須です。(number、任意) - `iterations`: 'create_iteration_field' メソッドで使用するカスタムイテレーションです。期間の異なるイテレーション、中断期間、または特定のタイトルが必要な場合にのみ設定してください。それ以外の場合は省略してください。GitHub が 'start_date' から 'iteration_duration' 日のイテレーションを 3 つ自動作成します。これはほとんどの場合に適しています。(object[]、任意) - `method`: 実行するメソッドです。(string、必須) - `owner`: プロジェクトの所有者(ユーザーまたは組織のログイン名)です。大文字と小文字は区別されません。(string、必須) - `owner_type`: 所有者の種類(user または org)です。'create_project' メソッドで必須です。他のメソッドで指定しない場合は、自動的に検出されます。(string、任意) - `project_number`: プロジェクト番号です。'create_project' 以外のすべてのメソッドで必須です。(number、任意) - `pull_request_number`: プルリクエスト番号です('add_project_item' メソッドで item_type が 'pull_request' の場合に使用します)。issue_number または pull_request_number のいずれかを指定してください。(number、任意) - `start_date`: YYYY-MM-DD 形式の開始日です。'create_project_status_update' メソッドおよび 'create_iteration_field' メソッドで使用します。(string、任意) - `status`: プロジェクトのステータスです。'create_project_status_update' メソッドで使用します。(string、任意) - `target_date`: YYYY-MM-DD 形式のステータス更新の目標日です。'create_project_status_update' メソッドで使用します。(string、任意) - `title`: プロジェクトのタイトルです。'create_project' メソッドで必須です。(string、任意) - `updated_field`: 更新するフィールドとその新しい値を記述するオブジェクトです。'update_project_item' で必須です。次の 2 つの形式を受け付けます。(1)ID による指定 — {"id": 123456, "value": "..."}、(2)名前による指定 — {"name": "Status", "value": "In Progress"}。単一選択フィールドでオプション名による解決を行うには、名前による形式を指定する必要があります。ID による形式では、オプション ID を指定してください。フィールドをクリアするには、value に null を設定します。(object、任意)
git-pull-request プルリクエスト - **add_comment_to_pending_review** - 依頼者の最新の保留中のプルリクエストレビューにレビューコメントを追加します - **必須の OAuth スコープ**: `repo` - `body`: レビューコメントの本文(文字列、必須) - `line`: コメントを付けるプルリクエストの差分における blob の行。複数行コメントの場合は、範囲の最終行(数値、任意) - `owner`: リポジトリのオーナー(文字列、必須) - `path`: コメントが必要なファイルへの相対パス(文字列、必須) - `pullNumber`: プルリクエスト番号(数値、必須) - `repo`: リポジトリ名(文字列、必須) - `side`: コメントする差分の側。LEFT は変更前の状態、RIGHT は変更後の状態を示します(文字列、任意) - `startLine`: 複数行コメントの場合、コメントを付ける範囲の最初の行(数値、任意) - `startSide`: 複数行コメントの場合、コメントを付ける差分の開始側。LEFT は変更前の状態、RIGHT は変更後の状態を示します(文字列、任意) - `subjectType`: コメントの対象レベル(文字列、必須)
  • add_reply_to_pull_request_comment - プルリクエストのコメントに返信を追加します

    • 必須の OAuth スコープ: repo
    • body: 返信の本文。リアクションを指定する場合を除き、必須です。(文字列、任意)
    • commentId: 返信またはリアクションの対象となるプルリクエストのレビューコメントの数値 ID。GraphQL のスレッドノード ID(PRRT_...)ではなく、#discussion_r... アンカーに含まれる番号を使用してください。(数値、必須)
    • owner: リポジトリのオーナー(文字列、必須)
    • pullNumber: プルリクエスト番号。body を指定する場合は必須です。(数値、任意)
    • reaction: 追加する絵文字リアクション。body を指定する場合を除き、必須です。(文字列、任意)
    • repo: リポジトリ名(文字列、必須)
  • create_pull_request - 新しいプルリクエストを作成します

    • 必須の OAuth スコープ: repo
    • base: マージ先のブランチ(文字列、必須)
    • body: PR の説明(文字列、任意)
    • draft: ドラフト PR として作成するかどうか(ブール値、任意)
    • head: 変更を含むブランチ(文字列、必須)
    • maintainer_can_modify: メンテナーによる編集を許可するかどうか(ブール値、任意)
    • owner: リポジトリのオーナー(文字列、必須)
    • repo: リポジトリ名(文字列、必須)
    • reviewers: レビューを依頼する GitHub ユーザー名、または ORG/team-slug 形式のチームレビュアー(文字列[]、任意)
    • title: PR のタイトル(文字列、必須)
  • list_pull_requests - プルリクエストの一覧を取得します

    • 必須の OAuth スコープ: repo
    • base: ベースブランチで絞り込みます(文字列、任意)
    • direction: 並べ替えの方向(文字列、任意)
    • head: head のユーザー/組織およびブランチで絞り込みます(文字列、任意)
    • owner: リポジトリのオーナー(文字列、必須)
    • page: ページネーションのページ番号(最小値 1)(数値、任意)
    • perPage: ページネーションの 1 ページあたりの結果数(最小値 1、最大値 100)(数値、任意)
    • repo: リポジトリ名(文字列、必須)
    • sort: 並べ替えの基準(文字列、任意)
    • state: 状態で絞り込みます(文字列、任意)
  • merge_pull_request - プルリクエストをマージします

    • 必須の OAuth スコープ: repo
    • commit_message: マージコミットに追加する詳細(文字列、任意)
    • commit_title: マージコミットのタイトル(文字列、任意)
    • merge_method: マージ方法(文字列、任意)
    • owner: リポジトリのオーナー(文字列、必須)
    • pullNumber: プルリクエスト番号(数値、必須)
    • repo: リポジトリ名(文字列、必須)
  • pull_request_comment_write - プルリクエストのレビューコメントを更新または削除します

    • Required OAuth Scopes: repo
    • body: 新しいコメントの内容(update メソッドで更新する場合は必須)(文字列、任意)
    • comment_id: 更新または削除するレビューコメントの ID。get_review_comments の database_id を使用します。(数値、必須)
    • method: レビューコメントに対して実行する書き込み操作です。 オプションは次のとおりです。
      • 'update' - 既存のレビューコメントを更新します。
      • 'delete' - 既存のレビューコメントを削除します。 (文字列、必須)
    • owner: リポジトリのオーナー(文字列、必須)
    • repo: リポジトリ名(文字列、必須)
  • pull_request_read - 単一のプルリクエストの詳細を取得します

    • Required OAuth Scopes: repo
    • after: ページネーション用のカーソルです。get_review_comments メソッドでのみ使用します。次のページを取得するには、前のページの PageInfo にある endCursor を渡します。(文字列、任意)
    • method: GitHub から取得するプルリクエストデータを指定するアクションです。 使用可能なオプション:
      1. get - 指定したプルリクエストの詳細を取得します。
      2. get_diff - プルリクエストの差分を取得します。
      3. get_status - プルリクエストのヘッドコミットの統合コミットステータスを取得します。
      4. get_files - プルリクエストで変更されたファイルの一覧を取得します。返される結果数を調整するには、ページネーションパラメーターと併用します。
      5. get_commits - プルリクエストのコミット一覧を取得します。返される結果数を調整するには、ページネーションパラメーターと併用します。
      6. get_review_comments - プルリクエストのレビュー スレッドを取得します。各スレッドには、プルリクエストのレビュー中に同じコード位置に投稿された、論理的にグループ化されたレビューコメントが含まれます。メタデータ(isResolved、isOutdated、isCollapsed)と関連するコメントを含むスレッドを返します。返される結果を調整するには、カーソルベースのページネーション(perPage、after)を使用します。
      7. get_reviews - プルリクエストのレビューを取得します。レビューコメントを求められた場合は、get_review_comments メソッドを使用します。返される結果数を調整するには、ページネーションパラメーターと併用します。
      8. get_comments - プルリクエストのコメントを取得します。ユーザーが特にレビューコメントを求めていない場合に使用します。返される結果数を調整するには、ページネーションパラメーターと併用します。
      9. get_check_runs - プルリクエストのヘッドコミットのチェック実行を取得します。チェック実行とは、PR で実行される個々の CI/CD ジョブおよびチェックです。 (文字列、必須)
    • owner: リポジトリのオーナー(文字列、必須)
    • page: ページネーションのページ番号(最小 1)(数値、任意)
    • perPage: ページネーションのページあたりの結果数(最小 1、最大 100)(数値、任意)
    • pullNumber: プルリクエスト番号(数値、必須)
    • repo: リポジトリ名(文字列、必須)
  • pull_request_review_write - プルリクエストのレビューに対する書き込み操作(作成、送信、削除)

    • Required OAuth Scopes: repo
    • body: レビューコメントのテキスト(文字列、任意)
    • commitID: レビュー対象のコミットの SHA(文字列、任意)
    • event: 実行するレビューアクション(文字列、任意)
    • method: プルリクエストのレビューに対して実行する書き込み操作(文字列、必須)
    • owner: リポジトリのオーナー(文字列、必須)
    • pullNumber: プルリクエスト番号(数値、必須)
    • repo: リポジトリ名(文字列、必須)
    • threadId: レビュースレッドのノード ID(例:PRRT_kwDOxxx)。resolve_thread および unresolve_thread メソッドで必須です。スレッド ID は、method に get_review_comments を指定した pull_request_read から取得します。(文字列、任意)
  • search_pull_requests - プルリクエストを検索

    • 必要な OAuth スコープ: repo
    • order: 並び順(string、任意)
    • owner: リポジトリの所有者(任意)。repo と併せて指定すると、このリポジトリのプルリクエストのみが一覧表示されます。(string、任意)
    • page: ページネーションのページ番号(最小 1)(number、任意)
    • perPage: ページネーションの1ページあたりの結果数(最小 1、最大 100)(number、任意)
    • query: GitHub のプルリクエスト検索構文を使用した検索クエリ(string、必須)
    • repo: リポジトリ名(任意)。owner と併せて指定すると、このリポジトリのプルリクエストのみが一覧表示されます。(string、任意)
    • sort: カテゴリの一致数による並べ替えフィールド。デフォルトでは最も一致度の高い順です(string、任意)
  • update_pull_request - プルリクエストを編集

    • 必要な OAuth スコープ: repo
    • base: 新しいベースブランチ名(string、任意)
    • body: 新しい説明(string、任意)
    • draft: プルリクエストをドラフト(true)またはレビュー準備完了(false)として設定します(boolean、任意)
    • maintainer_can_modify: メンテナーによる編集を許可します(boolean、任意)
    • owner: リポジトリの所有者(string、必須)
    • pullNumber: 更新するプルリクエスト番号(number、必須)
    • repo: リポジトリ名(string、必須)
    • reviewers: レビューを依頼する GitHub ユーザー名または ORG/team-slug 形式のチームレビュアー(string[]、任意)
    • state: 新しい状態(string、任意)
    • title: 新しいタイトル(string、任意)
  • update_pull_request_branch - プルリクエストのブランチを更新

    • 必要な OAuth スコープ: repo
    • expectedHeadSha: プルリクエストの HEAD ref に期待される SHA(string、任意)
    • owner: リポジトリの所有者(string、必須)
    • pullNumber: プルリクエスト番号(number、必須)
    • repo: リポジトリ名(string、必須)
リポジトリ リポジトリ
  • create_branch - ブランチを作成

    • 必要な OAuth スコープ: repo
    • branch: 新しいブランチ名(string、必須)
    • from_branch: コピー元のブランチ(デフォルトはリポジトリのデフォルトブランチ)(string、任意)
    • owner: リポジトリの所有者(string、必須)
    • repo: リポジトリ名(string、必須)
  • create_or_update_file - ファイルを作成または更新

    • 必要な OAuth スコープ: repo
    • branch: ファイルを作成または更新するブランチ(string、必須)
    • content: ファイルの内容(string、必須)
    • message: コミットメッセージ(string、必須)
    • owner: リポジトリの所有者(ユーザー名または組織)(string、必須)
    • path: ファイルを作成または更新するパス(string、必須)
    • repo: リポジトリ名(string、必須)
    • sha: 置き換えるファイルの blob SHA。ファイルがすでに存在する場合は必須です。(string、任意)
  • create_repository - リポジトリを作成

    • 必要な OAuth スコープ: repo
    • autoInit: README を追加して初期化します(boolean、任意)
    • description: リポジトリの説明(string、任意)
    • name: リポジトリ名(string、必須)
    • organization: リポジトリを作成する組織(個人アカウントに作成する場合は省略します)(string、任意)
    • private: リポジトリを非公開にするかどうか。省略した場合、デフォルトは true(非公開)です。(boolean、任意)
  • delete_file - ファイルを削除

    • 必要な OAuth スコープ: repo
    • branch: ファイルを削除するブランチ(string、必須)
    • message: コミットメッセージ(string、必須)
    • owner: リポジトリの所有者(ユーザー名または組織)(string、必須)
    • path: 削除するファイルのパス(string、必須)
    • repo: リポジトリ名(string、必須)
  • fork_repository - リポジトリをフォーク

    • 必須の OAuth スコープ: repo
    • organization: フォーク先の組織(string、任意)
    • owner: リポジトリの所有者(string、必須)
    • repo: リポジトリ名(string、必須)
  • get_commit - コミットの詳細を取得

    • 必須の OAuth スコープ: repo
    • detail: 変更されたファイルに含める詳細レベル。「none」は統計情報とファイルをすべて省略します。「stats」(デフォルト)では、ファイルごとのメタデータ(ファイル名、ステータス、コード行数(追加、削除、変更))が含まれ、パッチの内容は含まれません。「full_patch」では、各ファイルの統合差分の内容も含まれます。非常に大きくなる場合があります。(string、任意)
    • owner: リポジトリの所有者(string、必須)
    • page: ページネーションのページ番号(最小 1)(number、任意)
    • perPage: ページネーションの 1 ページあたりの結果数(最小 1、最大 100)(number、任意)
    • repo: リポジトリ名(string、必須)
    • sha: コミット SHA、ブランチ名、またはタグ名(string、必須)
  • get_file_contents - ファイルまたはディレクトリの内容を取得

    • 必須の OAuth スコープ: repo
    • owner: リポジトリの所有者(ユーザー名または組織)(string、必須)
    • path: ファイル/ディレクトリのパス(string、任意)
    • ref: refs/tags/{tag}、refs/heads/{branch}、refs/pull/{pr_number}/head などの Git 参照を指定できます(任意)(string、任意)
    • repo: リポジトリ名(string、必須)
    • sha: 任意のコミット SHA を指定できます。指定した場合、ref の代わりに使用されます(string、任意)
  • get_latest_release - 最新のリリースを取得

    • 必須の OAuth スコープ: repo
    • owner: リポジトリの所有者(string、必須)
    • repo: リポジトリ名(string、必須)
  • get_release_by_tag - タグ名でリリースを取得

    • 必須の OAuth スコープ: repo
    • owner: リポジトリの所有者(string、必須)
    • repo: リポジトリ名(string、必須)
    • tag: タグ名(例:'v1.0.0')(string、必須)
  • get_tag - タグの詳細を取得

    • 必須の OAuth スコープ: repo
    • owner: リポジトリの所有者(string、必須)
    • repo: リポジトリ名(string、必須)
    • tag: タグ名(string、必須)
  • list_branches - ブランチの一覧を取得

    • 必須の OAuth スコープ: repo
    • owner: リポジトリの所有者(string、必須)
    • page: ページネーションのページ番号(最小 1)(number、任意)
    • perPage: ページネーションの 1 ページあたりの結果数(最小 1、最大 100)(number、任意)
    • repo: リポジトリ名(string、必須)
  • list_commits - コミットの一覧を取得

    • 必須の OAuth スコープ: repo
    • author: コミットの絞り込みに使用する作成者のユーザー名またはメールアドレス(string、任意)
    • owner: リポジトリの所有者(string、必須)
    • page: ページネーションのページ番号(最小 1)(number、任意)
    • path: このファイルパスを含むコミットのみが返されます(string、任意)
    • perPage: ページネーションの 1 ページあたりの結果数(最小 1、最大 100)(number、任意)
    • repo: リポジトリ名(string、必須)
    • sha: コミットを一覧表示する対象のコミット SHA、ブランチ名、またはタグ名。指定しない場合は、リポジトリのデフォルトブランチが使用されます。コミット SHA を指定した場合、その SHA までのコミットが一覧表示されます。(string、任意)
    • since: この日付以降のコミットのみが返されます(ISO 8601 形式:YYYY-MM-DDTHH:MM:SSZ または YYYY-MM-DD)(string、任意)
    • until: この日付より前のコミットのみが返されます(ISO 8601 形式:YYYY-MM-DDTHH:MM:SSZ または YYYY-MM-DD)(string、任意)
  • list_releases - リリースの一覧を取得

    • 必須の OAuth スコープ: repo
    • owner: リポジトリの所有者(string、必須)
    • page: ページネーションのページ番号(最小 1)(number、任意)
    • perPage: ページネーションの 1 ページあたりの結果数(最小 1、最大 100)(number、任意)
    • repo: リポジトリ名(string、必須)
  • list_repository_collaborators - リポジトリのコラボレーターを一覧表示します

    • 必須の OAuth スコープ: repo
    • affiliation: 所属によるフィルターです。次のいずれかを指定できます:'outside'(外部のコラボレーター)、'direct'(組織への所属にかかわらず、権限を持つ全員)、'all'(すべてのコラボレーター)。デフォルト:'all'(文字列、省略可能)
    • owner: リポジトリの所有者(文字列、必須)
    • page: ページネーション用のページ番号(デフォルト 1、最小 1)(数値、省略可能)
    • perPage: ページネーション用の 1 ページあたりの結果数(デフォルト 30、最小 1、最大 100)(数値、省略可能)
    • repo: リポジトリ名(文字列、必須)
  • list_tags - タグを一覧表示します

    • 必須の OAuth スコープ: repo
    • owner: リポジトリの所有者(文字列、必須)
    • page: ページネーション用のページ番号(最小 1)(数値、省略可能)
    • perPage: ページネーション用の 1 ページあたりの結果数(最小 1、最大 100)(数値、省略可能)
    • repo: リポジトリ名(文字列、必須)
  • push_files - ファイルをリポジトリにプッシュします

    • 必須の OAuth スコープ: repo
    • branch: プッシュ先のブランチ(文字列、必須)
    • files: プッシュするファイルオブジェクトの配列。各オブジェクトには path(文字列)と content(文字列)が含まれます(オブジェクト配列、必須)
    • message: コミットメッセージ(文字列、必須)
    • owner: リポジトリの所有者(文字列、必須)
    • repo: リポジトリ名(文字列、必須)
  • search_code - コードを検索します

    • 必須の OAuth スコープ: repo
    • order: 検索結果の並べ替え順(文字列、省略可能)
    • page: ページネーション用のページ番号(最小 1)(数値、省略可能)
    • perPage: ページネーション用の 1 ページあたりの結果数(最小 1、最大 100)(数値、省略可能)
    • query: 検索クエリ(GitHub コード検索 REST)。語句の間には暗黙的に AND が適用されます。OR、NOT、完全一致検索用の "quoted phrase" をサポートします。修飾子:repo:owner/repo、org:、user:、language:、path:dir(前方一致)、filename:exact.ext、extension:、in:file、in:path、size:、is:archived、is:fork。最大 256 文字です。例:WithContext language:go org:github;"package main" repo:o/r;func extension:go path:cmd repo:o/r;NOT TODO language:go repo:o/r。(文字列、必須)
    • sort: 並べ替えフィールド('indexed' のみ)(文字列、省略可能)
  • search_commits - コミットを検索します

    • 必須の OAuth スコープ: repo
    • order: 並べ替え順(文字列、省略可能)
    • page: ページネーション用のページ番号(最小 1)(数値、省略可能)
    • perPage: ページネーション用の 1 ページあたりの結果数(最小 1、最大 100)(数値、省略可能)
    • query: コミット検索クエリ(GitHub コミット検索 REST)。デフォルトブランチのコミットメッセージのみを検索します。repo:owner/repo、org:、user: で検索範囲を指定します(範囲を指定する修飾子がないクエリは GitHub 全体を対象とするため、通常は意図した検索結果になりません)。その他の修飾子:author:、committer:、author-name:、committer-name:、author-email:、committer-email:、author-date:、committer-date:(>、<、>=、<=、および YYYY-MM-DD..YYYY-MM-DD の範囲をサポート)、merge:true|false、hash:、tree:、parent:、is:public。例:repo:owner/repo fix panic;org:github author:defunkt committer-date:>=2024-01-01;"refactor cache" repo:o/r;hash:abc1234 repo:o/r。(文字列、必須)
    • sort: 作成者またはコミッターの日付で並べ替えます(デフォルトは最適な一致)(文字列、省略可能)
  • search_repositories - リポジトリを検索します

    • 必須の OAuth スコープ: repo
    • minimal_output: 最小限のリポジトリ情報を返します(デフォルト:true)。false の場合、GitHub API のリポジトリオブジェクト全体を返します。(真偽値、省略可能)
    • order: 並べ替え順(文字列、省略可能)
    • page: ページネーション用のページ番号(最小 1)(数値、省略可能)
    • perPage: ページネーション用の 1 ページあたりの結果数(最小 1、最大 100)(数値、省略可能)
    • query: リポジトリ検索クエリ。例:'machine learning in:name stars:>1000 language:python'、'topic:react'、'user:facebook'。詳細な絞り込みに高度な検索構文をサポートします。(文字列、必須)
    • sort: フィールドでリポジトリを並べ替えます。デフォルトは最適な一致です(文字列、省略可能)
シールドロック シークレット保護
  • get_secret_scanning_alert - シークレットスキャンアラートを取得

    • 必須の OAuth スコープ: security_events
    • 受け入れ可能な OAuth スコープ: repo、security_events
    • alertNumber: アラート番号。(number、必須)
    • owner: リポジトリのオーナー。(string、必須)
    • repo: リポジトリ名。(string、必須)
  • list_secret_scanning_alerts - シークレットスキャンアラートの一覧を取得

    • 必須の OAuth スコープ: security_events
    • 受け入れ可能な OAuth スコープ: repo、security_events
    • owner: リポジトリのオーナー。(string、必須)
    • page: ページネーションのページ番号(最小値 1)(number、任意)
    • perPage: ページネーションの1ページあたりの結果数(最小値 1、最大値 100)(number、任意)
    • repo: リポジトリ名。(string、必須)
    • resolution: 解決方法で絞り込み(string、任意)
    • secret_type: 返すシークレットの種類をカンマ区切りで指定します。デフォルトでは、すべてのシークレットパターンが返されます。汎用パターンを返すには、パラメーターにトークン名を指定します。(string、任意)
    • state: 状態で絞り込み(string、任意)
シールド セキュリティアドバイザリ
  • get_global_security_advisory - グローバルセキュリティアドバイザリを取得

    • 必須の OAuth スコープ: security_events
    • 受け入れ可能な OAuth スコープ: repo、security_events
    • ghsaId: GitHub セキュリティアドバイザリ ID(形式: GHSA-xxxx-xxxx-xxxx)。(string、必須)
  • list_global_security_advisories - グローバルセキュリティアドバイザリの一覧を取得

    • 必須の OAuth スコープ: security_events
    • 受け入れ可能な OAuth スコープ: repo、security_events
    • affects: 影響を受けるパッケージまたはバージョンでアドバイザリを絞り込みます(例: "package1,[email protected]")。(string、任意)
    • cveId: CVE ID で絞り込みます。(string、任意)
    • cwes: Common Weakness Enumeration ID で絞り込みます(例: ["79", "284", "22"])。(string[]、任意)
    • ecosystem: パッケージエコシステムで絞り込みます。(string、任意)
    • ghsaId: GitHub セキュリティアドバイザリ ID で絞り込みます(形式: GHSA-xxxx-xxxx-xxxx)。(string、任意)
    • isWithdrawn: 取り下げられたアドバイザリのみを返すかどうか。(boolean、任意)
    • modified: 公開日または更新日、あるいは日付範囲で絞り込みます(ISO 8601 の日付または範囲)。(string、任意)
    • published: 公開日または日付範囲で絞り込みます(ISO 8601 の日付または範囲)。(string、任意)
    • severity: 深刻度で絞り込みます。(string、任意)
    • type: アドバイザリの種類。(string、任意)
    • updated: 更新日または日付範囲で絞り込みます(ISO 8601 の日付または範囲)。(string、任意)
  • list_org_repository_security_advisories - 組織のリポジトリセキュリティアドバイザリの一覧を取得

    • 必須の OAuth スコープ: security_events
    • 受け入れ可能な OAuth スコープ: repo、security_events
    • direction: 並べ替え順。(string、任意)
    • org: 組織のログイン名。(string、必須)
    • sort: 並べ替えフィールド。(string、任意)
    • state: アドバイザリの状態で絞り込みます。(string、任意)
  • list_repository_security_advisories - リポジトリのセキュリティアドバイザリを一覧表示

    • 必須の OAuth スコープ: security_events
    • 受け入れ可能な OAuth スコープ: repo、security_events
    • direction: 並べ替え方向です。(string、任意)
    • owner: リポジトリの所有者です。(string、必須)
    • repo: リポジトリ名です。(string、必須)
    • sort: 並べ替えフィールドです。(string、任意)
    • state: アドバイザリの状態で絞り込みます。(string、任意)
star スターを付けたユーザー
  • list_starred_repositories - スターを付けたリポジトリを一覧表示

    • 必須の OAuth スコープ: repo
    • direction: 結果の並べ替え方向です。(string、任意)
    • page: ページネーションのページ番号(最小値 1)(number、任意)
    • perPage: ページネーションの1ページあたりの結果数(最小値 1、最大値 100)(number、任意)
    • sort: 結果の並べ替え方法です。'created'(リポジトリにスターが付けられた日時)または 'updated'(リポジトリへの最後のプッシュ日時)を指定できます。(string、任意)
    • username: スターを付けたリポジトリを一覧表示するユーザー名です。デフォルトは認証済みユーザーです。(string、任意)
  • star_repository - リポジトリにスターを付ける

    • 必須の OAuth スコープ: repo
    • owner: リポジトリの所有者(string、必須)
    • repo: リポジトリ名(string、必須)
  • unstar_repository - リポジトリのスターを解除する

    • 必須の OAuth スコープ: repo
    • owner: リポジトリの所有者(string、必須)
    • repo: リポジトリ名(string、必須)
people ユーザー
  • search_users - ユーザーを検索
    • 必須の OAuth スコープ: repo
    • order: 並べ替え順です。(string、任意)
    • page: ページネーションのページ番号(最小値 1)(number、任意)
    • perPage: ページネーションの1ページあたりの結果数(最小値 1、最大値 100)(number、任意)
    • query: ユーザー検索クエリです。例:'john smith'、'location:seattle'、'followers:>100'。検索対象は自動的に type:user に限定されます。(string、必須)
    • sort: フォロワー数、リポジトリ数、または GitHub に参加した日時でユーザーを並べ替えます。(string、任意)
### リモート GitHub MCP サーバーの追加ツール
Copilot
  • create_pull_request_with_copilot - GitHub Copilot コーディングエージェントを使ってタスクを実行します
    • owner: リポジトリの所有者です。所有者を推測できますが、先にユーザーに確認してください。(string、必須)
    • repo: リポジトリ名です。リポジトリ名を推測できますが、先にユーザーに確認してください。(string、必須)
    • problem_statement: 実行するタスクの詳細な説明です(例:「X を実現する機能を実装する」、「Y のバグを修正する」など)。(string、必須)
    • title: 作成するプルリクエストのタイトルです。(string、必須)
    • base_ref: エージェントが作業を開始する Git 参照(ブランチなど)です。指定しない場合は、リポジトリのデフォルトブランチが使われます。(string、任意)
Copilot Spaces
  • 認証に関する注意

    • 細粒度 PAT は従来型 PAT のスコープフィルタリングでは非表示にならないため、トークンがこれらのツールを使用できない場合でも、ツールが表示されることがあります。
    • 組織が所有するスペースの場合、細粒度 PAT を所有組織にインストールし、organization_copilot_spaces: read を含める必要があります。
    • 組織が所有するスペースにリポジトリを参照するリソースが含まれている場合、トークンには参照先のすべてのリポジトリへのアクセス権も必要です。そうでない場合、スペースが見つからないものとして扱われることがあります。
  • get_copilot_space - Copilot Space を取得します

    • owner: スペースの所有者です。(string、必須)
    • name: スペースの名前です。(string、必須)
  • list_copilot_spaces - Copilot Spaces を一覧表示します

GitHub サポートドキュメント検索
  • github_support_docs_search - GitHub の製品やサポートに関する質問への回答に役立つドキュメントを取得します。サポート対象のトピックには、GitHub Actions ワークフロー、認証、GitHub サポートへの問い合わせ、プルリクエストの実践、リポジトリのメンテナンス、GitHub Pages、GitHub Packages、GitHub Discussions、Copilot Spaces が含まれます。
    • query: 回答が必要な質問についてユーザーが入力した内容です。これは編集されていない最新のユーザーメッセージです。ユーザーメッセージは必ずそのまま使用し、変更しないでください。(string、必須)

読み取り専用モード

サーバーを読み取り専用モードで実行するには、--read-only フラグを使用します。これにより読み取り専用のツールのみが提供され、リポジトリ、イシュー、プルリクエストなどへの変更が防止されます。

./omnigit-mcp --read-only

Docker を使用する場合は、環境変数で読み取り専用モードを指定できます。

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_READ_ONLY=1 \
  ghcr.io/aifity/omnigit-mcp

ロックダウンモード

ロックダウンモードを有効にすると、サーバーが公開リポジトリから提示するコンテンツが制限されます。有効にすると、サーバーは各項目の作成者がそのリポジトリへのプッシュ権限を持っているかどうかを確認します。プライベートリポジトリには影響せず、コラボレーターは自身のコンテンツに引き続きフルアクセスできます。

./omnigit-mcp --lockdown-mode

Docker で実行する場合は、対応する環境変数を設定します。

docker run -i --rm \
  -e GITHUB_PERSONAL_ACCESS_TOKEN=<your-token> \
  -e GITHUB_LOCKDOWN_MODE=1 \
  ghcr.io/aifity/omnigit-mcp

ロックダウンモードの動作は、呼び出すツールによって異なります。

作成者がプッシュ権限を持たない場合、次のツールはエラーを返します。

  • issue_read:get
  • pull_request_read:get

作成者がプッシュ権限を持たないユーザーのコンテンツを除外するツールは次のとおりです。

  • issue_read:get_comments
  • issue_read:get_sub_issues
  • pull_request_read:get_comments
  • pull_request_read:get_review_comments
  • pull_request_read:get_reviews

i18n / 説明の上書き

バイナリと同じディレクトリに omnigit-mcp-config.json ファイルを作成すると、ツールの説明を上書きできます。

このファイルには、ツール名をキー、新しい説明を値とする JSON オブジェクトを記述します。例:

{
  "TOOL_ADD_ISSUE_COMMENT_DESCRIPTION": "an alternative description",
  "TOOL_CREATE_BRANCH_DESCRIPTION": "Create a new branch in a GitHub repository"
}

バイナリを --export-translations フラグ付きで実行すると、現在の翻訳をエクスポートできます。

このフラグを使うと、作成済みの翻訳や上書き内容を保持したまま、前回のエクスポート以降にバイナリに追加された新しい翻訳も追加されます。

./omnigit-mcp --export-translations
cat omnigit-mcp-config.json

環境変数を使って説明を上書きすることもできます。環境変数名は JSON ファイルのキーと同じで、GITHUB_MCP_ を先頭に付け、すべて大文字にします。

たとえば、TOOL_ADD_ISSUE_COMMENT_DESCRIPTION ツールの説明を上書きするには、次の環境変数を設定します。

export GITHUB_MCP_TOOL_ADD_ISSUE_COMMENT_DESCRIPTION="an alternative description"
サーバー名とタイトルの上書き

同じ上書き方法を使って、初期化レスポンスの MCP サーバーの name フィールドと title フィールドをカスタマイズすることもできます。これは、複数の GitHub MCP Server インスタンス(たとえば、github.com 用と GitHub Enterprise Server 用)を実行する場合に便利です。エージェントがそれぞれを区別できるようになります。

キー環境変数デフォルト
SERVER_NAMEGITHUB_MCP_SERVER_NAMEomnigit-mcp
SERVER_TITLEGITHUB_MCP_SERVER_TITLEGitHub MCP Server

たとえば、GitHub Enterprise Server 用のサーバーインスタンスを設定するには、次のようにします。

{
  "SERVER_NAME": "ghes-mcp-server",
  "SERVER_TITLE": "GHES MCP Server"
}

または、環境変数を使います。

export GITHUB_MCP_SERVER_NAME="ghes-mcp-server"
export GITHUB_MCP_SERVER_TITLE="GHES MCP Server"

ライブラリの使用方法

このモジュールが公開する Go API は、現時点では不安定であり、破壊的変更が行われる可能性があります。将来的には安定性を提供する可能性があります。その有用性が見込めるユースケースがある場合は、issue を作成してください。

コントリビューション

コントリビューションを歓迎します。プルリクエストを作成する前に、セットアップ、テスト、リンティング、ドキュメント生成の手順について、コントリビューションガイドをお読みください。

サポート

GitHub MCP Server の使用方法については、サポートガイドをご覧ください。バグを見つけた場合や機能をリクエストする場合は、新しい issue を作成する前に、既存の issue を検索してください。

セキュリティ

セキュリティ上の脆弱性を公開 issue で報告しないでください。脆弱性を責任ある方法で報告するには、セキュリティポリシーの手順に従ってください。

ライセンス

このプロジェクトは、MIT オープンソースライセンスの条項に基づいてライセンスされています。詳細な条項については、MITをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。