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.
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.
MCP Server for the GitHub Actions API, enabling AI assistants to manage and operate GitHub Actions workflows.
list_workflows
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
owner
(string): Repository owner (username or organization)repo
(string): Repository nameworkflowId
(string or number): The ID of the workflow or filenameReturns: Detailed information about the workflow
get_workflow_usage
owner
(string): Repository owner (username or organization)repo
(string): Repository nameworkflowId
(string or number): The ID of the workflow or filenameReturns: Usage statistics including billable minutes
list_workflow_runs
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
owner
(string): Repository owner (username or organization)repo
(string): Repository namerunId
(number): The ID of the workflow runReturns: Detailed information about the specific workflow run
get_workflow_run_jobs
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
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 workflowReturns: Information about the triggered workflow run
cancel_workflow_run
owner
(string): Repository owner (username or organization)repo
(string): Repository namerunId
(number): The ID of the workflow runReturns: Status of the cancellation operation
rerun_workflow
owner
(string): Repository owner (username or organization)repo
(string): Repository namerunId
(number): The ID of the workflow runFirst, 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>"
}
}
}
}
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.
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"
}
});
Check that the token is correctly set as an environment variable
Rate Limiting:
If you encounter rate limit errors, reduce the frequency of requests
Type Validation Errors:
This MCP server is licensed under the MIT License.