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) andrepo(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
- Required parameters:
get_github_action- Get detailed information about a specific GitHub Action, including inputs and their requirements- Required parameters:
owner(Action owner, username or organization) andrepo(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.
- Required parameters:
trigger_github_action- Trigger a GitHub workflow and pass relevant parameters- Required parameters:
owner: Repository owner (username or organization)repo: Repository nameworkflow_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.
- Required parameters:
get_github_release- Get the latest 2 releases from a GitHub repository- Required parameters:
owner(repository owner, username or organization) andrepo(repository name) - Optional parameters:
token(GitHub personal access token, optional) - Returns information about the latest 2 releases
- Required parameters:
Installation
Recommended Installation: Using npx
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:
- Install the package:
npm install -g @nextdrive/github-action-trigger-mcp
- 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:
Method 1 (Recommended): Direct Configuration in Claude Desktop
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:
Make sure you’re logged in to npm and have permissions to publish to the
@nextdriveorganization:npm loginBuild the project:
npm run buildPublish to npm (organization-scoped packages are private by default, use
--access publicto 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: CInnon:n push:n branches: [ main ]n pull_request:n branches: [ main ]nnjobs:n build:n runs-on: ubuntu-latestn steps:n - uses: actions/checkout@v2n - name: Setup Node.jsn uses: actions/setup-node@v2n with:n node-version: 16.xn - name: Install dependenciesn run: npm cin - name: Buildn run: npm run buildn - name: Testn run: npm testn"
}
]
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:
- The workflow must be configured to support the
workflow_dispatchevent - The GitHub token must have the
workflowscope permission - 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"
}
}
]
}
GitHub Action Trigger MCP Server
Project Details
- nextDriveIoE/github-action-trigger-mcp
- @nextdrive/github-action-trigger-mcp
- Last Updated: 3/28/2025
Recomended MCP Servers
kakao map mcp server
Not just another MCP filesystem. Optimized file operations with smart context management and token-efficient partial reading/editing. Process massive...
Audiense Insights MCP Server is a server based on the Model Context Protocol (MCP) that allows Claude and...
MCP server for accessing prompts stored in MLflow Prompt Registry
🧠 An adaptation of the MCP Sequential Thinking Server to guide tool usage. This server provides recommendations for...
MCP server that enables Roo Code to make OpenAI API calls, with full support for DALL-E image generation
LnExchange MCP Node Service





