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
関連サーバー
GitHub
Interact with the GitHub API for repository management, file operations, and search.
GitHub Project Manager with Resource System
A server for GitHub project management with advanced resource management, capacity planning, and workload optimization capabilities.
Gitea MCP Server
Manage Gitea repositories and execute commands directly from your MCP-compatible chat interface.
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.
GitLab MR MCP
An MCP server for interacting with GitLab merge requests and issues.
MCP Git Ingest
Reads the structure and important files of a GitHub repository.
GitHub MCP Server
Seamlessly integrate with GitHub APIs for development automation and interaction.
GitHub Projects V2
Manage GitHub Projects V2 using the GitHub GraphQL API.
Repomix
Packs repository contents into a single file for AI consumption.