Sponsored by Deepsite.site

GitHub Actions MCP Server

Created By
Since1206 months ago
Content

MseeP.ai Security Assessment Badge

GitHub Actions MCP Server

smithery badge

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

  1. list_workflows

    • List workflows in a GitHub repository
    • Inputs:
      • owner (string): Repository owner (username or organization)
      • repo (string): Repository name
      • page (optional number): Page number for pagination
      • perPage (optional number): Results per page (max 100)
    • Returns: List of workflows in the repository
  2. get_workflow

    • Get details of a specific workflow
    • Inputs:
      • owner (string): Repository owner (username or organization)
      • repo (string): Repository name
      • workflowId (string or number): The ID of the workflow or filename
    • Returns: Detailed information about the workflow
  3. get_workflow_usage

    • Get usage statistics of a workflow
    • Inputs:
      • owner (string): Repository owner (username or organization)
      • repo (string): Repository name
      • workflowId (string or number): The ID of the workflow or filename
    • Returns: Usage statistics including billable minutes
  4. 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 name
      • workflowId (optional string or number): The ID of the workflow or filename
      • actor (optional string): Filter by user who triggered the workflow
      • branch (optional string): Filter by branch
      • event (optional string): Filter by event type
      • status (optional string): Filter by status
      • created (optional string): Filter by creation date (YYYY-MM-DD)
      • excludePullRequests (optional boolean): Exclude PR-triggered runs
      • checkSuiteId (optional number): Filter by check suite ID
      • page (optional number): Page number for pagination
      • perPage (optional number): Results per page (max 100)
    • Returns: List of workflow runs matching the criteria
  5. get_workflow_run

    • Get details of a specific workflow run
    • Inputs:
      • owner (string): Repository owner (username or organization)
      • repo (string): Repository name
      • runId (number): The ID of the workflow run
    • Returns: Detailed information about the specific workflow run
  6. get_workflow_run_jobs

    • Get jobs for a specific workflow run
    • Inputs:
      • owner (string): Repository owner (username or organization)
      • repo (string): Repository name
      • runId (number): The ID of the workflow run
      • filter (optional string): Filter jobs by completion status ('latest', 'all')
      • page (optional number): Page number for pagination
      • perPage (optional number): Results per page (max 100)
    • Returns: List of jobs in the workflow run
  7. trigger_workflow

    • Trigger a workflow run
    • Inputs:
      • owner (string): Repository owner (username or organization)
      • repo (string): Repository name
      • workflowId (string or number): The ID of the workflow or filename
      • ref (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
  8. cancel_workflow_run

    • Cancel a workflow run
    • Inputs:
      • owner (string): Repository owner (username or organization)
      • repo (string): Repository name
      • runId (number): The ID of the workflow run
    • Returns: Status of the cancellation operation
  9. rerun_workflow

    • Re-run a workflow run
    • Inputs:
      • owner (string): Repository owner (username or organization)
      • repo (string): Repository name
      • runId (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:

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

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):

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

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:

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

Windows

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.

Windows-Specific Instructions

Prerequisites

  • Node.js (v14 or higher)
  • npm (v6 or higher)

Running the Server on Windows

  1. 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.

  2. 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:

  1. Pass it as a parameter to the batch file:

    run-server.bat your_github_token_here
    
  2. 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:

  1. Build errors: Make sure TypeScript is installed correctly.

    npm install -g typescript
    
  2. Permission issues: Ensure you're running the commands in a command prompt with appropriate permissions.

  3. Node.js errors: Verify you're using a compatible Node.js version.

    node --version
    

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

  1. Authentication Errors:

    • Ensure your GitHub token has the correct permissions
    • Check that the token is correctly set as an environment variable
  2. Rate Limiting:

    • The server implements rate limiting to avoid hitting GitHub API limits
    • If you encounter rate limit errors, reduce the frequency of requests
  3. 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.

Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
WindsurfThe new purpose-built IDE to harness magic
Tavily Mcp
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
DeepChatYour AI Partner on Desktop
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
ChatWiseThe second fastest AI chatbot™
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
CursorThe AI Code Editor
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Amap Maps高德地图官方 MCP Server
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Serper MCP ServerA Serper MCP Server
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
Playwright McpPlaywright MCP server
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.