GitHub Actions MCP Server

by ko1ynnky
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides access to GitHub repository data, allowing interaction with repositories to manage GitHub Actions workflows and analyze their execution.

  • Enables complete workflow management including listing, viewing, triggering, canceling, and rerunning workflows, as well as analyzing workflow runs and their jobs in GitHub repositories.

Servidor MCP de Acciones de GitHub

Servidor MCP para la API de GitHub Actions, que permite a los asistentes de IA administrar y operar flujos de trabajo de GitHub Actions.

Características

  • Gestión completa del flujo de trabajo : enumerar, visualizar, activar, cancelar y volver a ejecutar flujos de trabajo
  • Análisis de ejecución del flujo de trabajo : obtenga información detallada sobre las ejecuciones del flujo de trabajo y sus trabajos
  • Manejo integral de errores : mensajes de error claros con detalles mejorados
  • Validación de tipos flexible : verificación de tipos robusta con manejo elegante de variaciones de API
  • Diseño centrado en la seguridad : gestión del tiempo de espera, limitación de velocidad y validación estricta de URL

Herramientas

  1. list_workflows
    • Enumerar flujos de trabajo en un repositorio de GitHub
    • Entradas:
      • owner (cadena): propietario del repositorio (nombre de usuario u organización)
      • repo (cadena): nombre del repositorio
      • page (número opcional): Número de página para paginación
      • perPage (número opcional): Resultados por página (máximo 100)
    • Devuelve: Lista de flujos de trabajo en el repositorio
  2. get_workflow
    • Obtener detalles de un flujo de trabajo específico
    • Entradas:
      • owner (cadena): propietario del repositorio (nombre de usuario u organización)
      • repo (cadena): nombre del repositorio
      • workflowId (cadena o número): el ID del flujo de trabajo o nombre de archivo
    • Devoluciones: Información detallada sobre el flujo de trabajo
  3. get_workflow_usage
    • Obtener estadísticas de uso de un flujo de trabajo
    • Entradas:
      • owner (cadena): propietario del repositorio (nombre de usuario u organización)
      • repo (cadena): nombre del repositorio
      • workflowId (cadena o número): el ID del flujo de trabajo o nombre de archivo
    • Devoluciones: Estadísticas de uso, incluidos los minutos facturables
  4. list_workflow_runs
    • Enumere todas las ejecuciones de flujo de trabajo para un repositorio o un flujo de trabajo específico
    • Entradas:
      • owner (cadena): propietario del repositorio (nombre de usuario u organización)
      • repo (cadena): nombre del repositorio
      • workflowId (cadena o número opcional): el ID del flujo de trabajo o el nombre del archivo
      • actor (cadena opcional): Filtrar por usuario que activó el flujo de trabajo
      • branch (cadena opcional): Filtrar por rama
      • event (cadena opcional): Filtrar por tipo de evento
      • status (cadena opcional): Filtrar por estado
      • created (cadena opcional): Filtrar por fecha de creación (AAAA-MM-DD)
      • excludePullRequests (booleano opcional): Excluye ejecuciones activadas por PR
      • checkSuiteId (número opcional): Filtrar por ID de suite de verificación
      • page (número opcional): Número de página para paginación
      • perPage (número opcional): Resultados por página (máximo 100)
    • Devoluciones: Lista de ejecuciones de flujo de trabajo que coinciden con los criterios
  5. get_workflow_run
    • Obtener detalles de una ejecución de flujo de trabajo específica
    • Entradas:
      • owner (cadena): propietario del repositorio (nombre de usuario u organización)
      • repo (cadena): nombre del repositorio
      • runId (número): El ID de la ejecución del flujo de trabajo
    • Devoluciones: Información detallada sobre la ejecución del flujo de trabajo específico
  6. get_workflow_run_jobs
    • Obtener trabajos para una ejecución de flujo de trabajo específica
    • Entradas:
      • owner (cadena): propietario del repositorio (nombre de usuario u organización)
      • repo (cadena): nombre del repositorio
      • runId (número): El ID de la ejecución del flujo de trabajo
      • filter (cadena opcional): filtrar trabajos por estado de finalización ('más reciente', 'todos')
      • page (número opcional): Número de página para paginación
      • perPage (número opcional): Resultados por página (máximo 100)
    • Devuelve: Lista de trabajos en la ejecución del flujo de trabajo
  7. trigger_workflow
    • Activar una ejecución de flujo de trabajo
    • Entradas:
      • owner (cadena): propietario del repositorio (nombre de usuario u organización)
      • repo (cadena): nombre del repositorio
      • workflowId (cadena o número): el ID del flujo de trabajo o nombre de archivo
      • ref (cadena): La referencia para ejecutar el flujo de trabajo (rama, etiqueta o SHA)
      • inputs (objeto opcional): parámetros de entrada para el flujo de trabajo
    • Devoluciones: Información sobre la ejecución del flujo de trabajo activado
  8. cancel_workflow_run
    • Cancelar una ejecución de flujo de trabajo
    • Entradas:
      • owner (cadena): propietario del repositorio (nombre de usuario u organización)
      • repo (cadena): nombre del repositorio
      • runId (número): El ID de la ejecución del flujo de trabajo
    • Devoluciones: Estado de la operación de cancelación
  9. rerun_workflow
    • Volver a ejecutar una ejecución de flujo de trabajo
    • Entradas:
      • owner (cadena): propietario del repositorio (nombre de usuario u organización)
      • repo (cadena): nombre del repositorio
      • runId (número): El ID de la ejecución del flujo de trabajo
    • Devuelve: Estado de la operación de re-ejecución

Uso con Claude Desktop

Primero, asegúrese de haber compilado el proyecto (consulte la sección "Compilación" más abajo). Luego, agregue lo siguiente a su claude_desktop_config.json :

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

Construir

Clonar el repositorio y compilar:

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

Esto creará los archivos necesarios en el directorio dist que necesitará para ejecutar el servidor MCP.

Ejemplos de uso

Enumerar flujos de trabajo en un repositorio:

const result = await listWorkflows({ owner: "your-username", repo: "your-repository" });

Activar un flujo de trabajo:

const result = await triggerWorkflow({ owner: "your-username", repo: "your-repository", workflowId: "ci.yml", ref: "main", inputs: { environment: "production" } });

Solución de problemas

Problemas comunes

  1. Errores de autenticación :
    • Asegúrese de que su token de GitHub tenga los permisos correctos
    • Compruebe que el token esté configurado correctamente como variable de entorno
  2. Limitación de velocidad :
    • El servidor implementa una limitación de velocidad para evitar alcanzar los límites de la API de GitHub
    • Si encuentra errores de límite de velocidad, reduzca la frecuencia de las solicitudes
  3. Errores de validación de tipo :
    • Las respuestas de la API de GitHub a veces pueden diferir de los esquemas esperados
    • El servidor implementa una validación flexible para manejar la mayoría de las variaciones
    • Si encuentra errores persistentes, abra un problema.

Licencia

Este servidor MCP tiene licencia MIT.

You must be authenticated.

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

Un servidor MCP que permite a los asistentes de IA administrar flujos de trabajo de GitHub Actions al proporcionar herramientas para enumerar, ver, activar, cancelar y volver a ejecutar flujos de trabajo a través de la API de GitHub.

  1. Features
    1. Tools
      1. Usage with Claude Desktop
    2. Build
      1. Usage Examples
        1. Troubleshooting
          1. Common Issues
        2. License
          ID: ydaumkc8kn