GitHub Webhooks MCP Server
A simple MCP server that manages GitHub webhooks and lets MCP compatible LLMs interact with the GitHub API.
GitHub Webhooks MCP Server
A Model Context Protocol (MCP) server for managing GitHub webhooks at both organization and repository levels.
Features
Organization-level Webhooks
- create_org_webhook - Create webhooks that apply to all repositories in an organization
- list_org_webhooks - List all organization-level webhooks
- update_org_webhook - Modify existing organization webhooks
- delete_org_webhook - Remove organization webhooks
Repository-level Webhooks
- create_repo_webhook - Create webhooks for a specific repository
- list_repo_webhooks - List all webhooks for a repository
- update_repo_webhook - Modify existing repository webhooks
- delete_repo_webhook - Remove repository webhooks
Installation
npm install
npm run build
Configuration
The server requires a GitHub personal access token with appropriate permissions:
- For organization webhooks:
admin:org_hookscope - For repository webhooks:
admin:repo_hookscope
Set the token as an environment variable:
export GITHUB_TOKEN=your_github_token_here
Usage
Running the Server
node dist/index.js
MCP Client Configuration
Add to your MCP client configuration (e.g., Claude Desktop):
{
"mcpServers": {
"github-webhooks": {
"command": "node",
"args": ["/path/to/github-webhooks-mcp-server/dist/index.js"],
"env": {
"GITHUB_TOKEN": "your_github_token_here"
}
}
}
}
Tool Examples
Create Organization Webhook
{
"org": "my-org",
"config": {
"url": "https://example.com/webhook",
"content_type": "json",
"secret": "my-secret"
},
"events": ["push", "pull_request"],
"active": true
}
List Organization Webhooks
{
"org": "my-org",
"per_page": 30,
"page": 1
}
Update Organization Webhook
{
"org": "my-org",
"hook_id": 12345,
"config": {
"url": "https://example.com/new-webhook"
},
"active": false
}
Delete Organization Webhook
{
"org": "my-org",
"hook_id": 12345
}
Create Repository Webhook
{
"owner": "username",
"repo": "repository-name",
"config": {
"url": "https://example.com/webhook",
"content_type": "json"
},
"events": ["push", "issues"],
"active": true
}
List Repository Webhooks
{
"owner": "username",
"repo": "repository-name"
}
Update Repository Webhook
{
"owner": "username",
"repo": "repository-name",
"hook_id": 12345,
"events": ["push", "pull_request", "issues"]
}
Delete Repository Webhook
{
"owner": "username",
"repo": "repository-name",
"hook_id": 12345
}
Webhook Events
Common webhook events include:
push- Git push to a repositorypull_request- Pull request activityissues- Issue activityissue_comment- Issue comment activityrelease- Release activitycreate- Branch or tag createddelete- Branch or tag deletedfork- Repository forkedstar- Repository starredwatch- Repository watched
For a complete list of events, see GitHub Webhook Events Documentation.
Development
Build
npm run build
Project Structure
github-webhooks-mcp-server/
├── src/
│ └── index.ts # Main server implementation
├── dist/ # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
└── README.md
Requirements
- Node.js 18 or higher
- GitHub personal access token with appropriate webhook permissions
License
MIT
İlgili Sunucular
Memoria
Prevents your AI from breaking code by revealing hidden file dependencies through git forensics.
GitHub
Interact with GitHub repositories, including issues, pull requests, commits, releases, and actions.
Git Mob
Integrates with the git-mob CLI to manage Git co-authors.
Personal Bitbucket MCP Server
Bitbucket MCP Server Build on Top of Quarkus Framework
GitHub MCP Server
Interact with the GitHub API for file operations, repository management, and search.
MCP GitHub Project Manager
Manage GitHub projects with requirements traceability and advanced workflows.
MCP PR Messages Generator
Generates Pull Request messages based on Git commits and changes.
Aira MCP Server
Creates commit messages from staged files in a local git repository.
Git TS MCP
Execute Git commands safely through AI assistants like Claude.
GitHub MCP Lightweight
A lightweight server for analyzing GitHub issues and pull requests using a Personal Access Token.