GitHub Webhooks MCP Server
Un servidor MCP simple que gestiona webhooks de GitHub y permite que LLMs compatibles con MCP interactúen con la API de GitHub.
GitHubPrueba este MCPPatrocinado
Documentación
Servidor MCP de Webhooks de GitHub
Un servidor de Model Context Protocol (MCP) para gestionar webhooks de GitHub tanto a nivel de organización como de repositorio.
Características
Webhooks a nivel de organización
- create_org_webhook - Crear webhooks que se aplican a todos los repositorios de una organización
- list_org_webhooks - Listar todos los webhooks a nivel de organización
- update_org_webhook - Modificar webhooks de organización existentes
- delete_org_webhook - Eliminar webhooks de organización
Webhooks a nivel de repositorio
- create_repo_webhook - Crear webhooks para un repositorio específico
- list_repo_webhooks - Listar todos los webhooks de un repositorio
- update_repo_webhook - Modificar webhooks de repositorio existentes
- delete_repo_webhook - Eliminar webhooks de repositorio
Instalación
npm install
npm run build
Configuración
El servidor requiere un token de acceso personal de GitHub con los permisos adecuados:
- Para webhooks de organización: alcance
admin:org_hook - Para webhooks de repositorio: alcance
admin:repo_hook
Establezca el token como variable de entorno:
export GITHUB_TOKEN=your_github_token_here
Uso
Ejecutar el servidor
node dist/index.js
Configuración del cliente MCP
Agregue a la configuración de su cliente MCP (por ejemplo, Claude Desktop):
{
"mcpServers": {
"github-webhooks": {
"command": "node",
"args": ["/path/to/github-webhooks-mcp-server/dist/index.js"],
"env": {
"GITHUB_TOKEN": "your_github_token_here"
}
}
}
}
Ejemplos de herramientas
Crear webhook de organización
{
"org": "my-org",
"config": {
"url": "https://example.com/webhook",
"content_type": "json",
"secret": "my-secret"
},
"events": ["push", "pull_request"],
"active": true
}
Listar webhooks de organización
{
"org": "my-org",
"per_page": 30,
"page": 1
}
Actualizar webhook de organización
{
"org": "my-org",
"hook_id": 12345,
"config": {
"url": "https://example.com/new-webhook"
},
"active": false
}
Eliminar webhook de organización
{
"org": "my-org",
"hook_id": 12345
}
Crear webhook de repositorio
{
"owner": "username",
"repo": "repository-name",
"config": {
"url": "https://example.com/webhook",
"content_type": "json"
},
"events": ["push", "issues"],
"active": true
}
Listar webhooks de repositorio
{
"owner": "username",
"repo": "repository-name"
}
Actualizar webhook de repositorio
{
"owner": "username",
"repo": "repository-name",
"hook_id": 12345,
"events": ["push", "pull_request", "issues"]
}
Eliminar webhook de repositorio
{
"owner": "username",
"repo": "repository-name",
"hook_id": 12345
}
Eventos de webhook
Los eventos de webhook comunes incluyen:
push- Push de Git a un repositoriopull_request- Actividad de pull requestsissues- Actividad de issuesissue_comment- Actividad de comentarios en issuesrelease- Actividad de releasescreate- Rama o etiqueta creadadelete- Rama o etiqueta eliminadafork- Repositorio bifurcadostar- Repositorio marcado con estrellawatch- Repositorio observado
Para obtener una lista completa de eventos, consulte la Documentación de eventos de webhook de GitHub.
Desarrollo
Compilación
npm run build
Estructura del proyecto
github-webhooks-mcp-server/
├── src/
│ └── index.ts # Main server implementation
├── dist/ # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
└── README.md
Requisitos
- Node.js 18 o superior
- Token de acceso personal de GitHub con permisos de webhook adecuados
Licencia
MIT