Sponsored by Deepsite.site

Github Action Trigger Mcp

Created By
nextDriveIoE9 months ago
Content

GitHub Action Trigger MCP Server

A Model Context Protocol server for GitHub Actions integration.

Overview

This is a TypeScript-based MCP server designed for GitHub Actions integration. It provides the following features:

  • Tool for fetching available GitHub Actions from a repository
  • Tool for getting detailed information about a specific GitHub Action
  • Tool for triggering GitHub workflow dispatch events
  • Tool for fetching the latest releases from a GitHub repository

Features

Tools

  • get_github_actions - Get available GitHub Actions for a repository

    • Required parameters: owner (repository owner, username or organization) and repo (repository name)
    • Optional parameters: token (GitHub personal access token, for accessing private repositories or increasing API rate limits)
    • Returns JSON data with workflow ID, name, path, state, URL, and content
  • get_github_action - Get detailed information about a specific GitHub Action, including inputs and their requirements

    • Required parameters: owner (Action owner, username or organization) and repo (repository name of the action)
    • Optional parameters:
      • path: Path to the action definition file (default: 'action.yml')
      • ref: Git reference (branch, tag, or commit SHA, default: 'main')
      • token: GitHub personal access token (optional)
    • Returns detailed information about the Action, including name, description, author, inputs (and whether they're required), etc.
  • trigger_github_action - Trigger a GitHub workflow and pass relevant parameters

    • Required parameters:
      • owner: Repository owner (username or organization)
      • repo: Repository name
      • workflow_id: The ID or filename of the workflow to trigger
    • Optional parameters:
      • ref: The git reference to trigger the workflow on (default: 'main')
      • inputs: Inputs to pass to the workflow (must match the workflow's defined inputs)
      • token: GitHub personal access token (must have the workflow scope)
    • Returns workflow run information, including status, URL, etc.
  • get_github_release - Get the latest 2 releases from a GitHub repository

    • Required parameters: owner (repository owner, username or organization) and repo (repository name)
    • Optional parameters: token (GitHub personal access token, optional)
    • Returns information about the latest 2 releases

Installation

The simplest way to install and use is via the npx command in your Claude Desktop configuration file without manual local installation:

{
  "mcpServers": {
    "github-action-trigger-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@nextdrive/github-action-trigger-mcp"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your_github_token_here"
      }
    }
  }
}

Benefits of this method:

  • No local package installation required
  • Automatically uses the latest version
  • Set up once and ready to use
  • Built-in GitHub token configuration

Local Installation

If you prefer to install manually, follow these steps:

  1. Install the package:
npm install -g @nextdrive/github-action-trigger-mcp
  1. Use in Claude Desktop configuration:

On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json On Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "github-action-trigger-mcp": {
      "command": "@nextdrive/github-action-trigger-mcp",
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your_github_token_here"
      }
    }
  }
}

GitHub Token Configuration

To access the GitHub API, especially for private repositories or workflow triggers, you need to configure a GitHub personal access token. There are several ways to do this:

Set the token directly in the Claude Desktop configuration file via the env field:

"env": {
  "GITHUB_PERSONAL_ACCESS_TOKEN": "your_github_token_here"
}

Method 2: Global Environment Variable

Set the GITHUB_TOKEN environment variable:

# On Linux/MacOS
export GITHUB_TOKEN=your_github_token

# On Windows
set GITHUB_TOKEN=your_github_token

Method 3: Local Configuration File

Edit the configuration file:

~/.nextdrive-github-action-trigger-mcp/config.json

Set your GitHub token:

{
  "githubToken": "your_github_token"
}

A template for this configuration file is automatically created the first time the server starts.

Development

Install dependencies:

npm install

Build the server:

npm run build

For automatic rebuilding during development:

npm run watch

Debugging

Use MCP Inspector for debugging:

npm run inspector

The Inspector will provide a URL to access the debugging tools in your browser.

Publishing to npm

If you want to publish this package to npm, follow these steps:

  1. Make sure you're logged in to npm and have permissions to publish to the @nextdrive organization:

    npm login
    
  2. Build the project:

    npm run build
    
  3. Publish to npm (organization-scoped packages are private by default, use --access public to make it public):

    npm publish --access public
    

After publishing, anyone can run this tool using the npx @nextdrive/github-action-trigger-mcp command or use it in their Claude Desktop configuration.

Usage Examples

Getting a List of GitHub Actions

Use the get_github_actions tool to get GitHub Actions for a repository:

{
  "owner": "username-or-org",
  "repo": "repository-name"
}

If a default token is configured, it will be used automatically when accessing private repositories.

Example response:

[
  {
    "id": 12345678,
    "name": "CI",
    "path": ".github/workflows/ci.yml",
    "state": "active",
    "url": "https://github.com/owner/repo/actions/workflows/ci.yml",
    "content": "name: CI\n\non:\n  push:\n    branches: [ main ]\n  pull_request:\n    branches: [ main ]\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@v2\n    - name: Setup Node.js\n      uses: actions/setup-node@v2\n      with:\n        node-version: 16.x\n    - name: Install dependencies\n      run: npm ci\n    - name: Build\n      run: npm run build\n    - name: Test\n      run: npm test\n"
  }
]

Getting Detailed GitHub Action Information

Use the get_github_action tool to get detailed information about a specific Action:

{
  "owner": "actions",
  "repo": "checkout",
  "ref": "v4"
}

Example response:

{
  "name": "Checkout",
  "description": "Check out a Git repository at a particular version",
  "author": "GitHub",
  "inputs": [
    {
      "name": "repository",
      "description": "Repository name with owner. For example, actions/checkout",
      "default": "",
      "required": false
    },
    {
      "name": "ref",
      "description": "The branch, tag or SHA to checkout.",
      "default": "",
      "required": false
    }
  ],
  "runs": {
    "using": "node20",
    "main": "dist/index.js"
  }
}

Triggering a GitHub Workflow

Use the trigger_github_action tool to trigger a GitHub workflow:

{
  "owner": "username-or-org",
  "repo": "repository-name",
  "workflow_id": "ci.yml",
  "inputs": {
    "deploy_environment": "production",
    "debug_enabled": "true"
  }
}

Example response:

{
  "success": true,
  "message": "Workflow dispatch event triggered successfully",
  "run": {
    "id": 12345678,
    "url": "https://github.com/owner/repo/actions/runs/12345678",
    "status": "queued",
    "conclusion": null,
    "created_at": "2025-03-19T06:45:12Z",
    "triggered_by": "API"
  }
}

Note: Triggering workflows requires:

  1. The workflow must be configured to support the workflow_dispatch event
  2. The GitHub token must have the workflow scope permission
  3. Input parameters passed must match those defined in the workflow

Getting Latest Releases

Use the get_github_release tool to get the latest 2 releases from a repository:

{
  "owner": "username-or-org",
  "repo": "repository-name"
}

Example response:

{
  "count": 2,
  "releases": [
    {
      "id": 12345678,
      "name": "v1.0.0",
      "tag_name": "v1.0.0",
      "published_at": "2025-03-15T10:00:00Z",
      "draft": false,
      "prerelease": false,
      "html_url": "https://github.com/owner/repo/releases/tag/v1.0.0",
      "body": "Release notes for version 1.0.0",
      "assets": [
        {
          "name": "app-v1.0.0.zip",
          "size": 1234567,
          "download_count": 42,
          "browser_download_url": "https://github.com/owner/repo/releases/download/v1.0.0/app-v1.0.0.zip",
          "created_at": "2025-03-15T10:05:00Z",
          "updated_at": "2025-03-15T10:05:00Z"
        }
      ],
      "author": {
        "login": "username",
        "html_url": "https://github.com/username"
      }
    },
    {
      "id": 87654321,
      "name": "v0.9.0",
      "tag_name": "v0.9.0",
      "published_at": "2025-03-01T10:00:00Z",
      "draft": false,
      "prerelease": true,
      "html_url": "https://github.com/owner/repo/releases/tag/v0.9.0",
      "body": "Pre-release notes for version 0.9.0",
      "assets": [],
      "author": {
        "login": "username",
        "html_url": "https://github.com/username"
      }
    }
  ]
}

Server Config

{
  "mcpServers": {
    "github-action-trigger-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@nextdrive/github-action-trigger-mcp"
      ],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your_github_token_here"
      }
    }
  }
}
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Playwright McpPlaywright MCP server
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Amap Maps高德地图官方 MCP Server
CursorThe AI Code Editor
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
WindsurfThe new purpose-built IDE to harness magic
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.
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
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.
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™
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
Tavily Mcp
DeepChatYour AI Partner on Desktop
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
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.
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
Serper MCP ServerA Serper MCP Server