by ko1ynnky
Enables AI assistants to list, view, trigger, cancel, and rerun GitHub Actions workflows through a Model Context Protocol server.
The server implements a set of tools that expose the GitHub Actions API to AI coding assistants (e.g., Claude Desktop, Codeium, Windsurf). By running the MCP server, assistants can perform complete workflow management—listing workflows, inspecting runs, triggering new runs, and handling cancellations or re‑runs—directly from the chat or code‑generation interface.
git clone https://github.com/ko1ynnky/github-actions-mcp-server.git
cd github-actions-mcp-server
npm install
npm run build # or npm run build:win on Windows
node dist/index.js
(Windows users can run run-server.bat
or npm run start
).{
"mcpServers": {
"github-actions": {
"command": "node",
"args": ["<path-to-mcp-server>/dist/index.js"],
"env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>" }
}
}
}
GITHUB_PERSONAL_ACCESS_TOKEN
environment variable.Q: Do I need a GitHub token?
A: Yes, a personal access token with repo
scope (or appropriate fine‑grained permissions) is required to avoid unauthenticated rate limits.
Q: Can I run the server without building it?
A: The repository provides a batch file (run-server.bat
) that builds if necessary, but the server must be compiled to JavaScript before it can run.
Q: How does rate limiting work? A: The server includes internal rate‑limiting logic to stay within GitHub API limits; exceeding the limit will return a clear error message.
Q: Is this server still maintained? A: The repo is slated for archiving because the official GitHub MCP server now supports Actions. It remains functional for existing setups.
Q: Which assistants are supported? A: Claude Desktop, Codeium, and Windsurf are explicitly documented, but any MCP‑compatible assistant can use the server.
⚠️ Archive Notice: This repository will be archived soon as the official GitHub MCP server is adding Actions support. See github/github-mcp-server#491 for details on the official implementation.
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.
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)get_workflow
owner
(string): Repository owner (username or organization)repo
(string): Repository nameworkflowId
(string or number): The ID of the workflow or filenameget_workflow_usage
owner
(string): Repository owner (username or organization)repo
(string): Repository nameworkflowId
(string or number): The ID of the workflow or filenamelist_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)get_workflow_run
owner
(string): Repository owner (username or organization)repo
(string): Repository namerunId
(number): The ID of the workflow runget_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)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 workflowcancel_workflow_run
owner
(string): Repository owner (username or organization)repo
(string): Repository namerunId
(number): The ID of the workflow runrerun_workflow
owner
(string): Repository owner (username or organization)repo
(string): Repository namerunId
(number): The ID of the workflow runThis MCP server is compatible with multiple AI coding assistants including Claude Desktop, Codeium, and Windsurf.
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>"
}
}
}
}
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):
{
"mcpServers": {
"github-actions": {
"command": "node",
"args": [
"<path-to-mcp-server>/dist/index.js"
],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
}
}
}
}
Windsurf uses the same configuration format as Codeium. Add the server to your Windsurf MCP configuration as shown above for Codeium.
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
For Windows systems, use the Windows-specific build command:
git clone https://github.com/ko1ynnky/github-actions-mcp-server.git
cd github-actions-mcp-server
npm install
npm run build:win
Alternatively, you can use the included batch file:
run-server.bat [optional-github-token]
This will create the necessary files in the dist
directory that you'll need to run the MCP server.
Prerequisites
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_here
Set 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 typescript
Permission 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
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"
}
});
Authentication Errors:
Rate Limiting:
Type Validation Errors:
This MCP server is licensed under the MIT License.
Please log in to share your review and rating for this MCP.
Explore related MCPs that share similar capabilities and solve comparable challenges
by Skyvern-AI
Automates browser‑based workflows by leveraging large language models and computer‑vision techniques, turning natural‑language prompts into fully functional web interactions without writing custom scripts.
by ahujasid
Enables Claude AI to control Blender for prompt‑assisted 3D modeling, scene creation, and manipulation via a socket‑based Model Context Protocol server.
by PipedreamHQ
Connect APIs quickly with a free, hosted integration platform that enables event‑driven automations across 1,000+ services and supports custom code in Node.js, Python, Go, or Bash.
by elie222
Organizes email inbox, drafts replies in the user's tone, tracks follow‑ups, and provides analytics to achieve inbox zero quickly.
by grab
Enables Cursor AI to read and programmatically modify Figma designs through a Model Context Protocol integration.
by ahujasid
Enables Claude AI to control Ableton Live in real time, allowing AI‑driven creation, editing, and playback of tracks, clips, instruments, and effects through a socket‑based server.
by leonardsellem
Provides tools and resources to enable AI assistants to manage and execute n8n workflows via natural language commands.
by GongRzhe
Provides a Model Context Protocol server that enables AI assistants to send, read, search, and organize Gmail messages, supporting attachments, label and filter management, and automatic OAuth2 authentication.
by mario-andreschak
A unified platform that manages AI models, MCP servers, and complex workflows, offering secure key storage, visual flow building, and an interactive chat UI.