The GitHub Actions MCP Server enables AI assistants to manage and operate GitHub Actions workflows through GitHub API interactions, with these capabilities:
List workflows in a repository with pagination support
Get workflow details and usage statistics, including billable minutes
List workflow runs with comprehensive filtering options (actor, branch, event, status, creation date, check suite ID, excluding pull requests)
Get details of specific workflow runs and their associated jobs
Trigger workflow runs with specified inputs and reference (branch, tag, or SHA)
Cancel ongoing workflow runs
Re-run completed or failed workflow runs
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 Server
MCP Server for the GitHub Actions API, enabling AI assistants to manage and operate GitHub Actions workflows. Compatible with multiple AI coding assistants including Claude Desktop, Codeium, and Windsurf.
Features
Complete Workflow Management: List, view, trigger, cancel, and rerun workflows
Workflow Run Analysis: Get detailed information about workflow runs and their jobs
Comprehensive Error Handling: Clear error messages with enhanced details
Flexible Type Validation: Robust type checking with graceful handling of API variations
Security-Focused Design: Timeout handling, rate limiting, and strict URL validation
Tools
list_workflows
List workflows in a GitHub repository
Inputs:
owner
(string): Repository owner (username or organization)repo
(string): Repository namepage
(optional number): Page number for paginationperPage
(optional number): Results per page (max 100)
Returns: List of workflows in the repository
get_workflow
Get details of a specific workflow
Inputs:
owner
(string): Repository owner (username or organization)repo
(string): Repository nameworkflowId
(string or number): The ID of the workflow or filename
Returns: Detailed information about the workflow
get_workflow_usage
Get usage statistics of a workflow
Inputs:
owner
(string): Repository owner (username or organization)repo
(string): Repository nameworkflowId
(string or number): The ID of the workflow or filename
Returns: Usage statistics including billable minutes
list_workflow_runs
List all workflow runs for a repository or a specific workflow
Inputs:
owner
(string): Repository owner (username or organization)repo
(string): Repository nameworkflowId
(optional string or number): The ID of the workflow or filenameactor
(optional string): Filter by user who triggered the workflowbranch
(optional string): Filter by branchevent
(optional string): Filter by event typestatus
(optional string): Filter by statuscreated
(optional string): Filter by creation date (YYYY-MM-DD)excludePullRequests
(optional boolean): Exclude PR-triggered runscheckSuiteId
(optional number): Filter by check suite IDpage
(optional number): Page number for paginationperPage
(optional number): Results per page (max 100)
Returns: List of workflow runs matching the criteria
get_workflow_run
Get details of a specific workflow run
Inputs:
owner
(string): Repository owner (username or organization)repo
(string): Repository namerunId
(number): The ID of the workflow run
Returns: Detailed information about the specific workflow run
get_workflow_run_jobs
Get jobs for a specific workflow run
Inputs:
owner
(string): Repository owner (username or organization)repo
(string): Repository namerunId
(number): The ID of the workflow runfilter
(optional string): Filter jobs by completion status ('latest', 'all')page
(optional number): Page number for paginationperPage
(optional number): Results per page (max 100)
Returns: List of jobs in the workflow run
trigger_workflow
Trigger a workflow run
Inputs:
owner
(string): Repository owner (username or organization)repo
(string): Repository nameworkflowId
(string or number): The ID of the workflow or filenameref
(string): The reference to run the workflow on (branch, tag, or SHA)inputs
(optional object): Input parameters for the workflow
Returns: Information about the triggered workflow run
cancel_workflow_run
Cancel a workflow run
Inputs:
owner
(string): Repository owner (username or organization)repo
(string): Repository namerunId
(number): The ID of the workflow run
Returns: Status of the cancellation operation
rerun_workflow
Re-run a workflow run
Inputs:
owner
(string): Repository owner (username or organization)repo
(string): Repository namerunId
(number): The ID of the workflow run
Returns: Status of the re-run operation
Usage with AI Coding Assistants
This MCP server is compatible with multiple AI coding assistants including Claude Desktop, Codeium, and Windsurf.
Claude Desktop
First, make sure you have built the project (see Build section below). Then, add the following to your claude_desktop_config.json
:
Codeium
Add the following configuration to your Codeium MCP config file (typically at ~/.codeium/windsurf/mcp_config.json
on Unix-based systems or %USERPROFILE%\.codeium\windsurf\mcp_config.json
on Windows):
Windsurf
Windsurf uses the same configuration format as Codeium. Add the server to your Windsurf MCP configuration as shown above for Codeium.
Build
Unix/Linux/macOS
Clone the repository and build:
Windows
For Windows systems, use the Windows-specific build command:
Alternatively, you can use the included batch file:
This will create the necessary files in the dist
directory that you'll need to run the MCP server.
Windows-Specific Instructions
Prerequisites
Node.js (v14 or higher)
npm (v6 or higher)
Running the Server on Windows
Using the batch file (simplest method):
run-server.bat [optional-github-token]This will check if the build exists, build if needed, and start the server.
Using npm directly:
npm run start
Setting GitHub Personal Access Token on Windows
For full functionality and to avoid rate limiting, you need to set your GitHub Personal Access Token.
Options:
Pass it as a parameter to the batch file:
run-server.bat your_github_token_hereSet it as an environment variable:
set GITHUB_PERSONAL_ACCESS_TOKEN=your_github_token_here npm run start
Troubleshooting Windows Issues
If you encounter issues:
Build errors: Make sure TypeScript is installed correctly.
npm install -g typescriptPermission issues: Ensure you're running the commands in a command prompt with appropriate permissions.
Node.js errors: Verify you're using a compatible Node.js version.
node --version
Usage Examples
List workflows in a repository:
Trigger a workflow:
Troubleshooting
Common Issues
Authentication Errors:
Ensure your GitHub token has the correct permissions
Check that the token is correctly set as an environment variable
Rate Limiting:
The server implements rate limiting to avoid hitting GitHub API limits
If you encounter rate limit errors, reduce the frequency of requests
Type Validation Errors:
GitHub API responses might sometimes differ from expected schemas
The server implements flexible validation to handle most variations
If you encounter persistent errors, please open an issue
License
This MCP server is licensed under the MIT License.
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.
Tools
An MCP server that enables AI assistants to manage GitHub Actions workflows by providing tools for listing, viewing, triggering, canceling, and rerunning workflows through the GitHub API.
Related MCP Servers
- AsecurityAlicenseAqualityMCP Server for the GitHub API, enabling file operations, repository management, search functionality, and more.Last updated -22,57369,726MIT License
- AsecurityFlicenseAqualityMCP Server for the GitHub API, providing features for file operations, repository management, and advanced search, with automatic branch creation and comprehensive error handling.Last updated -1804
- AsecurityFlicenseAqualityThe Git MCP Server allows AI assistants to perform enhanced Git operations via the Model Context Protocol, supporting core Git functions, branch and tag management, GitHub integration, and more.Last updated -21386
- -securityAlicense-qualityAn MCP server that enables AI assistants like Claude to help users manage their GitHub notifications through natural language commands.Last updated -016MIT License