GitHub Actions MCP Server

by ko1ynnky
Verified

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 access to GitHub repository data, allowing interaction with repositories to manage GitHub Actions workflows and analyze their execution.

  • Enables complete workflow management including listing, viewing, triggering, canceling, and rerunning workflows, as well as analyzing workflow runs and their jobs in GitHub repositories.

GitHub Actions MCP サーバー

GitHub Actions API 用の MCP サーバー。AI アシスタントが GitHub Actions ワークフローを管理および操作できるようになります。

特徴

  • 完全なワークフロー管理: ワークフローの一覧表示、トリガー、キャンセル、再実行
  • ワークフロー実行分析: ワークフロー実行とそのジョブに関する詳細情報を取得します。
  • 包括的なエラー処理: 詳細な情報を備えた明確なエラーメッセージ
  • 柔軟な型検証: APIのバリエーションを適切に処理する堅牢な型チェック
  • セキュリティ重視の設計: タイムアウト処理、レート制限、厳格な URL 検証

ツール

  1. list_workflows
    • GitHub リポジトリ内のワークフローを一覧表示する
    • 入力:
      • owner (文字列): リポジトリの所有者(ユーザー名または組織)
      • repo (文字列): リポジトリ名
      • page (オプションの数値):ページ番号
      • perPage (オプションの数値):1ページあたりの結果数(最大100件)
    • 戻り値: リポジトリ内のワークフローのリスト
  2. get_workflow
    • 特定のワークフローの詳細を取得する
    • 入力:
      • owner (文字列): リポジトリの所有者(ユーザー名または組織)
      • repo (文字列): リポジトリ名
      • workflowId (文字列または数値): ワークフローまたはファイル名のID
    • 戻り値: ワークフローに関する詳細情報
  3. get_workflow_usage
    • ワークフローの使用状況統計を取得する
    • 入力:
      • owner (文字列): リポジトリの所有者(ユーザー名または組織)
      • repo (文字列): リポジトリ名
      • workflowId (文字列または数値): ワークフローまたはファイル名のID
    • 戻り値: 課金対象時間を含む使用統計
  4. list_workflow_runs
    • リポジトリまたは特定のワークフローのすべてのワークフロー実行を一覧表示する
    • 入力:
      • owner (文字列): リポジトリの所有者(ユーザー名または組織)
      • repo (文字列): リポジトリ名
      • workflowId (オプションの文字列または数値): ワークフローまたはファイル名のID
      • actor (オプションの文字列): ワークフローをトリガーしたユーザーでフィルタリングします
      • branch (オプションの文字列):ブランチでフィルタリング
      • event (オプションの文字列):イベントの種類でフィルタリング
      • status (オプションの文字列): ステータスでフィルタリング
      • created (オプションの文字列): 作成日 (YYYY-MM-DD) でフィルタリング
      • excludePullRequests (オプションのブール値): PR によってトリガーされた実行を除外する
      • checkSuiteId (オプションの数値): チェックスイートIDでフィルタリング
      • page (オプションの数値):ページ番号
      • perPage (オプションの数値):1ページあたりの結果数(最大100件)
    • 戻り値: 条件に一致するワークフロー実行のリスト
  5. get_workflow_run
    • 特定のワークフロー実行の詳細を取得する
    • 入力:
      • owner (文字列): リポジトリの所有者(ユーザー名または組織)
      • repo (文字列): リポジトリ名
      • runId (数値): ワークフロー実行のID
    • 戻り値: 特定のワークフロー実行に関する詳細情報
  6. get_workflow_run_jobs
    • 特定のワークフロー実行のジョブを取得する
    • 入力:
      • owner (文字列): リポジトリの所有者(ユーザー名または組織)
      • repo (文字列): リポジトリ名
      • runId (数値): ワークフロー実行のID
      • filter (オプションの文字列):完了ステータス(「最新」、「すべて」)でジョブをフィルタリングします
      • page (オプションの数値):ページ番号
      • perPage (オプションの数値):1ページあたりの結果数(最大100件)
    • 戻り値: ワークフロー実行中のジョブのリスト
  7. trigger_workflow
    • ワークフローの実行をトリガーする
    • 入力:
      • owner (文字列): リポジトリの所有者(ユーザー名または組織)
      • repo (文字列): リポジトリ名
      • workflowId (文字列または数値): ワークフローまたはファイル名のID
      • ref (文字列): ワークフローを実行する参照 (ブランチ、タグ、または SHA)
      • inputs (オプションオブジェクト): ワークフローの入力パラメータ
    • 戻り値: トリガーされたワークフロー実行に関する情報
  8. cancel_workflow_run
    • ワークフローの実行をキャンセルする
    • 入力:
      • owner (文字列): リポジトリの所有者(ユーザー名または組織)
      • repo (文字列): リポジトリ名
      • runId (数値): ワークフロー実行のID
    • 戻り値: キャンセル操作のステータス
  9. rerun_workflow
    • ワークフロー実行を再実行する
    • 入力:
      • owner (文字列): リポジトリの所有者(ユーザー名または組織)
      • repo (文字列): リポジトリ名
      • runId (数値): ワークフロー実行のID
    • 戻り値: 再実行操作のステータス

Claude Desktopでの使用

まず、プロジェクトがビルドされていることを確認してください(以下のビルドセクションを参照)。次に、 claude_desktop_config.jsonに以下のコードを追加してください。

{ "mcpServers": { "github-actions": { "command": "node", "args": [ "<path-to-mcp-server>/dist/index.js" ], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>" } } } }

建てる

リポジトリをクローンしてビルドします。

git clone https://github.com/ko1ynnky/github-actions-mcp-server.git cd github-actions-mcp-server npm install npm run build

これにより、MCP サーバーを実行するために必要なファイルがdistディレクトリに作成されます。

使用例

リポジトリ内のワークフローを一覧表示します。

const result = await listWorkflows({ owner: "your-username", repo: "your-repository" });

ワークフローをトリガーします。

const result = await triggerWorkflow({ owner: "your-username", repo: "your-repository", workflowId: "ci.yml", ref: "main", inputs: { environment: "production" } });

トラブルシューティング

よくある問題

  1. 認証エラー:
    • GitHubトークンに適切な権限があることを確認する
    • トークンが環境変数として正しく設定されていることを確認します
  2. レート制限:
    • サーバーはGitHub APIの制限を回避するためにレート制限を実装しています
    • レート制限エラーが発生した場合は、リクエストの頻度を減らしてください。
  3. 型検証エラー:
    • GitHub APIのレスポンスは、期待されるスキーマと異なる場合がある
    • サーバーは、ほとんどのバリエーションに対応できる柔軟な検証を実装しています。
    • 継続的なエラーが発生した場合は、問題を報告してください。

ライセンス

この MCP サーバーは MIT ライセンスに基づいてライセンスされます。

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

GitHub API を通じてワークフローを一覧表示、表示、トリガー、キャンセル、再実行するためのツールを提供することで、AI アシスタントが GitHub Actions ワークフローを管理できるようにする MCP サーバー。

  1. Features
    1. Tools
      1. Usage with Claude Desktop
    2. Build
      1. Usage Examples
        1. Troubleshooting
          1. Common Issues
        2. License
          ID: ydaumkc8kn