GitHub Actions MCP Server
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.
ko1ynnky
Tools
list_workflows
List workflows in a GitHub repository
get_workflow
Get details of a specific workflow
get_workflow_usage
Get usage statistics of a workflow
list_workflow_runs
List all workflow runs for a repository or a specific workflow
get_workflow_run
Get details of a specific workflow run
get_workflow_run_jobs
Get jobs for a specific workflow run
trigger_workflow
Trigger a workflow run
cancel_workflow_run
Cancel a workflow run
rerun_workflow
Re-run a workflow run
README
GitHub Actions MCP Server
MCP Server for the GitHub Actions API, enabling AI assistants to manage and operate GitHub Actions workflows.
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 Claude Desktop
First, make sure you have built the project (see Build section below). Then, add the following to your claude_desktop_config.json
:
{
"mcpServers": {
"github-actions": {
"command": "node",
"args": [
"<path-to-mcp-server>/dist/index.js"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
Build
Clone the repository and build:
git clone https://github.com/ko1ynnky/github-actions-mcp-server.git
cd github-actions-mcp-server
npm install
npm run build
This will create the necessary files in the dist
directory that you'll need to run the MCP server.
Usage Examples
List workflows in a repository:
const result = await listWorkflows({
owner: "your-username",
repo: "your-repository"
});
Trigger a workflow:
const result = await triggerWorkflow({
owner: "your-username",
repo: "your-repository",
workflowId: "ci.yml",
ref: "main",
inputs: {
environment: "production"
}
});
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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
MCP Package Docs Server
Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.
Claude Code MCP
An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.
@kazuph/mcp-taskmanager
Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.
Linear MCP Server
Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.
mermaid-mcp-server
A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.
Jira-Context-MCP
MCP server to provide Jira Tickets information to AI coding agents like Cursor

Linear MCP Server
A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Sequential Thinking MCP Server
This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.