Github Action Trigger Mcp について
GitHub Action Trigger MCP Serverは、AIクライアントからGitHub Actionsやリポジトリを調べ、ワークフローを実行し、リリースを取得し、プルリクエストの自動マージを有効にするTypeScript製サーバーです。
主な機能
- 01リポジトリのワークフロー一覧
- 02Actionの詳細と入力項目の確認
- 03ワークフローのディスパッチ
- 04最近のリリース取得
- 05プルリクエストの自動マージ有効化
活用シーン
- 01リポジトリで利用可能なワークフローの確認
- 02指定した入力でワークフローを開始
- 03更新前に最近のリリースを確認
- 04プルリクエストの自動マージを有効化
MCP 対応
MCPクライアントに、ワークフローの検索と実行、リリース取得、プルリクエストの自動マージなどのGitHub Actions・リポジトリツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| owner | string | はい | リポジトリの所有者(ユーザー名または組織) |
| repo | string | はい | リポジトリ名 |
| token | string | いいえ | GitHub のパーソナルアクセストークン(任意) |
詳細
GitHub Action Trigger MCP サーバー
GitHub Actions と連携する Model Context Protocol サーバーです。
概要
GitHub Actions との連携を目的に設計された TypeScript ベースの MCP サーバーです。以下の機能を提供します。
- リポジトリから利用可能な GitHub Actions を取得するツール
- 特定の GitHub Action の詳細情報を取得するツール
- GitHub ワークフローのディスパッチイベントをトリガーするツール
- GitHub リポジトリから最新のリリースを取得するツール
- プルリクエストで自動マージを有効にするツール
機能
ツール
-
get_github_actions- リポジトリで利用可能な GitHub Actions を取得します- 必須パラメーター:
owner(リポジトリのオーナーであるユーザー名または組織名)とrepo(リポジトリ名) - オプションのパラメーター:
token(GitHub 個人アクセストークン。プライベートリポジトリへのアクセスや API レート制限の引き上げに使用します) - ワークフロー ID、名前、パス、状態、URL、コンテンツを含む JSON データを返します
- 必須パラメーター:
-
get_github_action- 特定の GitHub Action の詳細情報(入力項目とその要件を含む)を取得します- 必須パラメーター:
owner(Action のオーナーであるユーザー名または組織名)とrepo(Action のリポジトリ名) - オプションのパラメーター:
path:Action 定義ファイルへのパス(デフォルト:'action.yml')ref:Git リファレンス(ブランチ、タグ、またはコミット SHA。デフォルト:'main')token:GitHub 個人アクセストークン(任意)
- 名前、説明、作成者、入力項目(必須かどうかを含む)など、Action の詳細情報を返します
- 必須パラメーター:
-
trigger_github_action- GitHub ワークフローをトリガーし、関連するパラメーターを渡します- 必須パラメーター:
owner:リポジトリのオーナーであるユーザー名または組織名repo:リポジトリ名workflow_id:トリガーするワークフローの ID またはファイル名
- オプションのパラメーター:
ref:ワークフローをトリガーする Git リファレンス(デフォルト:'main')inputs:ワークフローに渡す入力値(ワークフローで定義された入力値と一致する必要があります)token:GitHub 個人アクセストークン(workflow スコープが必要です)
- ステータスや URL など、ワークフロー実行の情報を返します
- 必須パラメーター:
-
get_github_release- GitHub リポジトリから最新の 2 件のリリースを取得します- 必須パラメーター:
owner(リポジトリのオーナーであるユーザー名または組織名)とrepo(リポジトリ名) - オプションのパラメーター:
token(GitHub 個人アクセストークン。任意) - 最新の 2 件のリリースに関する情報を返します
- 必須パラメーター:
-
enable_pull_request_automerge- 特定のプルリクエストで自動マージを有効にします- 必須パラメーター:
owner:リポジトリのオーナーであるユーザー名または組織名repo:リポジトリ名pull_number:プルリクエスト番号
- オプションのパラメーター:
merge_method:使用するマージ方法(MERGE、SQUASH、または REBASE。デフォルト:MERGE)token:GitHub 個人アクセストークン(任意)
- 成功ステータスとプルリクエストの情報を返します
- 注:必要なチェックがすべて通過し、承認が得られると、PR は自動的にマージされます
- 必須パラメーター:
インストール
推奨インストール方法:npx を使用
最も簡単な方法は、ローカルに手動でインストールせずに、Claude Desktop の設定ファイルでnpxコマンドを使用してインストールし、利用することです。
{
"mcpServers": {
"github-action-trigger-mcp": {
"command": "npx",
"args": [
"-y",
"@nextdrive/github-action-trigger-mcp"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_github_token_here"
}
}
}
}
この方法のメリット:
- ローカルへのパッケージインストールは不要です
- 最新バージョンが自動的に使用されます
- 一度設定すれば、すぐに利用できます
- GitHub トークンの設定機能が組み込まれています
ローカルインストール
手動でインストールする場合は、以下の手順に従ってください。
- パッケージをインストールします:
npm install -g @nextdrive/github-action-trigger-mcp
- Claude Desktop の設定で使用します:
MacOS の場合:~/Library/Application Support/Claude/claude_desktop_config.json
Windows の場合:%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"github-action-trigger-mcp": {
"command": "@nextdrive/github-action-trigger-mcp",
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_github_token_here"
}
}
}
}
GitHub トークンの設定
GitHub API にアクセスするには、特にプライベートリポジトリへのアクセスやワークフローのトリガーで、GitHub 個人アクセストークンを設定する必要があります。設定方法はいくつかあります。
方法 1(推奨):Claude Desktop での直接設定
env フィールドを使用して、トークンを Claude Desktop の設定ファイルに直接設定します。
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "your_github_token_here"
}
方法 2:グローバル環境変数
GITHUB_TOKEN 環境変数を設定します。
# On Linux/MacOS
export GITHUB_TOKEN=your_github_token
# On Windows
set GITHUB_TOKEN=your_github_token
方法 3:ローカル設定ファイル
設定ファイルを編集します。
~/.nextdrive-github-action-trigger-mcp/config.json
GitHub トークンを設定します。
{
"githubToken": "your_github_token"
}
この設定ファイルのテンプレートは、サーバーの初回起動時に自動的に作成されます。
開発
依存関係をインストールします。
npm install
サーバーをビルドします。
npm run build
開発中に自動で再ビルドするには、次のコマンドを実行します。
npm run watch
デバッグ
デバッグには MCP Inspector を使用します。
npm run inspector
Inspector から、ブラウザーでデバッグツールにアクセスするための URL が提供されます。
npm への公開
このパッケージを npm に公開する場合は、次の手順に従ってください。
-
npm にログインし、
@nextdrive組織への公開権限があることを確認します。npm login -
プロジェクトをビルドします。
npm run build -
npm に公開します(組織スコープのパッケージはデフォルトで非公開です。公開するには
--access publicを使用します)。npm publish --access public
公開後は、誰でも npx @nextdrive/github-action-trigger-mcp コマンドを使用してこのツールを実行するか、Claude Desktop の設定で使用できます。
使用例
GitHub Actions の一覧を取得する
get_github_actions ツールを使用して、リポジトリの GitHub Actions を取得します。
{
"owner": "username-or-org",
"repo": "repository-name"
}
デフォルトのトークンが設定されている場合、プライベートリポジトリへのアクセス時に自動的に使用されます。
レスポンス例:
[
{
"id": 12345678,
"name": "CI",
"path": ".github/workflows/ci.yml",
"state": "active",
"url": "https://github.com/owner/repo/actions/workflows/ci.yml",
"content": "name: CI\n\non:\n push:\n branches: [ main ]\n pull_request:\n branches: [ main ]\n\njobs:\n build:\n runs-on: ubuntu-latest\n steps:\n - uses: actions/checkout@v2\n - name: Setup Node.js\n uses: actions/setup-node@v2\n with:\n node-version: 16.x\n - name: Install dependencies\n run: npm ci\n - name: Build\n run: npm run build\n - name: Test\n run: npm test\n"
}
]
GitHub Action の詳細情報を取得する
get_github_action ツールを使用して、特定の Action の詳細情報を取得します。
{
"owner": "actions",
"repo": "checkout",
"ref": "v4"
}
レスポンス例:
{
"name": "Checkout",
"description": "Check out a Git repository at a particular version",
"author": "GitHub",
"inputs": [
{
"name": "repository",
"description": "Repository name with owner. For example, actions/checkout",
"default": "",
"required": false
},
{
"name": "ref",
"description": "The branch, tag or SHA to checkout.",
"default": "",
"required": false
}
],
"runs": {
"using": "node20",
"main": "dist/index.js"
}
}
GitHub ワークフローをトリガーする
trigger_github_action ツールを使用して、GitHub ワークフローをトリガーします。
{
"owner": "username-or-org",
"repo": "repository-name",
"workflow_id": "ci.yml",
"inputs": {
"deploy_environment": "production",
"debug_enabled": "true"
}
}
レスポンス例:
{
"success": true,
"message": "Workflow dispatch event triggered successfully",
"run": {
"id": 12345678,
"url": "https://github.com/owner/repo/actions/runs/12345678",
"status": "queued",
"conclusion": null,
"created_at": "2025-03-19T06:45:12Z",
"triggered_by": "API"
}
}
注意:ワークフローをトリガーするには、次の条件が必要です。
- ワークフローが
workflow_dispatchイベントに対応するよう設定されていること - GitHub トークンに
workflowスコープの権限があること - 渡す入力パラメーターが、ワークフローで定義されているものと一致すること
最新リリースを取得する
get_github_release ツールを使用して、リポジトリの最新 2 件のリリースを取得します。
{
"owner": "username-or-org",
"repo": "repository-name"
}
レスポンス例:
{
"count": 2,
"releases": [
{
"id": 12345678,
"name": "v1.0.0",
"tag_name": "v1.0.0",
"published_at": "2025-03-15T10:00:00Z",
"draft": false,
"prerelease": false,
"html_url": "https://github.com/owner/repo/releases/tag/v1.0.0",
"body": "Release notes for version 1.0.0",
"assets": [
{
"name": "app-v1.0.0.zip",
"size": 1234567,
"download_count": 42,
"browser_download_url": "https://github.com/owner/repo/releases/download/v1.0.0/app-v1.0.0.zip",
"created_at": "2025-03-15T10:05:00Z",
"updated_at": "2025-03-15T10:05:00Z"
}
],
"author": {
"login": "username",
"html_url": "https://github.com/username"
}
},
{
"id": 87654321,
"name": "v0.9.0",
"tag_name": "v0.9.0",
"published_at": "2025-03-01T10:00:00Z",
"draft": false,
"prerelease": true,
"html_url": "https://github.com/owner/repo/releases/tag/v0.9.0",
"body": "Pre-release notes for version 0.9.0",
"assets": [],
"author": {
"login": "username",
"html_url": "https://github.com/username"
}
}
]
}
プルリクエストの自動マージを有効にする
enable_pull_request_automerge ツールを使用して、特定のプルリクエストの自動マージを有効にします。
{
"owner": "username-or-org",
"repo": "repository-name",
"pull_number": 123,
"merge_method": "SQUASH"
}
レスポンス例:
{
"success": true,
"message": "Auto-merge enabled successfully",
"pullRequest": {
"id": "PR_kwDOABCD123_456",
"title": "Add new feature",
"number": 123,
"autoMergeEnabled": true,
"enabledAt": "2025-08-21T03:00:00Z",
"mergeMethod": "SQUASH"
}
}
注意:自動マージを有効にするには、次の条件が必要です。
- リポジトリの設定で自動マージが有効になっていること
- GitHub トークンにリポジトリへの書き込み権限があること
- プルリクエストがオープンで、自動マージがまだ有効になっていないこと
- 有効にすると、必要なステータスチェックがすべて通過し、承認が得られた時点で PR が自動的にマージされます
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。