GitHub Action Trigger MCP Server

Integrations

  • Provides tools for interacting with GitHub repositories, fetching the latest releases, and accessing repository information.

  • Enables fetching available GitHub Actions workflows from repositories, getting detailed information about specific actions, and triggering workflow dispatch events with custom inputs.

Servidor MCP del activador de acciones de GitHub

Un servidor de protocolo de contexto de modelo para la integración de acciones de GitHub.

Descripción general

Este es un servidor MCP basado en TypeScript, diseñado para la integración con GitHub Actions. Ofrece las siguientes características:

  • Herramienta para obtener acciones de GitHub disponibles desde un repositorio
  • Herramienta para obtener información detallada sobre una acción específica de GitHub
  • Herramienta para activar eventos de envío del flujo de trabajo de GitHub
  • Herramienta para obtener las últimas versiones de un repositorio de GitHub

Características

Herramientas

  • get_github_actions : obtener las acciones de GitHub disponibles para un repositorio
    • Parámetros obligatorios: owner (propietario del repositorio, nombre de usuario u organización) y repo (nombre del repositorio)
    • Parámetros opcionales: token (token de acceso personal de GitHub, para acceder a repositorios privados o aumentar los límites de velocidad de la API)
    • Devuelve datos JSON con ID de flujo de trabajo, nombre, ruta, estado, URL y contenido
  • get_github_action : obtenga información detallada sobre una acción de GitHub específica, incluidas las entradas y sus requisitos
    • Parámetros obligatorios: owner (propietario de la acción, nombre de usuario u organización) y repo (nombre del repositorio de la acción)
    • Parámetros opcionales:
      • path : Ruta al archivo de definición de acción (predeterminado: 'action.yml')
      • ref : referencia de Git (rama, etiqueta o confirmación SHA, predeterminado: 'principal')
      • token : token de acceso personal de GitHub (opcional)
    • Devuelve información detallada sobre la Acción, incluido el nombre, la descripción, el autor, las entradas (y si son obligatorias), etc.
  • trigger_github_action : activa un flujo de trabajo de GitHub y pasa parámetros relevantes
    • Parámetros requeridos:
      • owner : Propietario del repositorio (nombre de usuario u organización)
      • repo : Nombre del repositorio
      • workflow_id : El ID o nombre de archivo del flujo de trabajo que se activará
    • Parámetros opcionales:
      • ref : La referencia git para activar el flujo de trabajo (predeterminado: 'principal')
      • inputs : Entradas que se pasarán al flujo de trabajo (deben coincidir con las entradas definidas del flujo de trabajo)
      • token : token de acceso personal de GitHub (debe tener el alcance del flujo de trabajo)
    • Devuelve información de ejecución del flujo de trabajo, incluido el estado, la URL, etc.
  • get_github_release : obtenga las 2 últimas versiones de un repositorio de GitHub
    • Parámetros obligatorios: owner (propietario del repositorio, nombre de usuario u organización) y repo (nombre del repositorio)
    • Parámetros opcionales: token (token de acceso personal de GitHub, opcional)
    • Devuelve información sobre los 2 últimos lanzamientos

Instalación

Instalación recomendada: usando npx

La forma más sencilla de instalarlo y usarlo es a través del comando npx en el archivo de configuración de Claude Desktop sin instalación local manual:

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

Beneficios de este método:

  • No se requiere instalación de paquetes locales
  • Utiliza automáticamente la última versión
  • Configúrelo una vez y listo para usar
  • Configuración de token de GitHub integrada

Instalación local

Si prefiere instalarlo manualmente, siga estos pasos:

  1. Instalar el paquete:
npm install -g @nextdrive/github-action-trigger-mcp
  1. Uso en la configuración de Claude Desktop:

En MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json En 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" } } } }

Configuración del token de GitHub

Para acceder a la API de GitHub, especialmente para repositorios privados o activadores de flujo de trabajo, necesitas configurar un token de acceso personal de GitHub. Hay varias maneras de hacerlo:

Método 1 (recomendado): Configuración directa en Claude Desktop

Establezca el token directamente en el archivo de configuración de Claude Desktop a través del campo env :

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

Método 2: Variable ambiental global

Establezca la variable de entorno GITHUB_TOKEN :

# On Linux/MacOS export GITHUB_TOKEN=your_github_token # On Windows set GITHUB_TOKEN=your_github_token

Método 3: Archivo de configuración local

Editar el archivo de configuración:

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

Establezca su token de GitHub:

{ "githubToken": "your_github_token" }

Se crea automáticamente una plantilla para este archivo de configuración la primera vez que se inicia el servidor.

Desarrollo

Instalar dependencias:

npm install

Construir el servidor:

npm run build

Para la reconstrucción automática durante el desarrollo:

npm run watch

Depuración

Utilice MCP Inspector para depurar:

npm run inspector

El Inspector proporcionará una URL para acceder a las herramientas de depuración en su navegador.

Publicación en npm

Si desea publicar este paquete en npm, siga estos pasos:

  1. Asegúrate de haber iniciado sesión en npm y de tener permisos para publicar en la organización @nextdrive :
    npm login
  2. Construir el proyecto:
    npm run build
  3. Publicar en npm (los paquetes con alcance de organización son privados de manera predeterminada, use --access public para hacerlos públicos):
    npm publish --access public

Después de publicar, cualquiera puede ejecutar esta herramienta usando el comando npx @nextdrive/github-action-trigger-mcp o usarla en su configuración de Claude Desktop.

Ejemplos de uso

Obtener una lista de acciones de GitHub

Utilice la herramienta get_github_actions para obtener acciones de GitHub para un repositorio:

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

Si se configura un token predeterminado, se utilizará automáticamente al acceder a repositorios privados.

Ejemplo de respuesta:

[ { "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" } ]

Obtener información detallada sobre las acciones de GitHub

Utilice la herramienta get_github_action para obtener información detallada sobre una acción específica:

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

Ejemplo de respuesta:

{ "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" } }

Cómo iniciar un flujo de trabajo de GitHub

Utilice la herramienta trigger_github_action para activar un flujo de trabajo de GitHub:

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

Ejemplo de respuesta:

{ "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" } }

Nota: Para activar flujos de trabajo se requiere lo siguiente:

  1. El flujo de trabajo debe estar configurado para admitir el evento workflow_dispatch
  2. El token de GitHub debe tener el permiso de alcance workflow
  3. Los parámetros de entrada pasados deben coincidir con los definidos en el flujo de trabajo

Obtener los últimos lanzamientos

Utilice la herramienta get_github_release para obtener las 2 últimas versiones de un repositorio:

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

Ejemplo de respuesta:

{ "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" } } ] }

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

Un servidor de protocolo de contexto de modelo que permite la integración con GitHub Actions, lo que permite a los usuarios buscar acciones disponibles, obtener información detallada sobre acciones específicas, activar eventos de despacho de flujo de trabajo y buscar versiones del repositorio.

  1. Overview
    1. Features
      1. Tools
    2. Installation
      1. Recommended Installation: Using npx
      2. Local Installation
      3. GitHub Token Configuration
    3. Development
      1. Debugging
    4. Publishing to npm
      1. Usage Examples
        1. Getting a List of GitHub Actions
        2. Getting Detailed GitHub Action Information
        3. Triggering a GitHub Workflow
        4. Getting Latest Releases
      ID: 6ufwxw61ny