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
Related Servers
AtomGit
An MCP server for interacting with the AtomGit API for version control and code hosting.
Feather Code MCP
A portable MCP server for performing various GitHub operations on any repository.
GitLab MR MCP
An MCP server for interacting with GitLab merge requests and issues.
Git Mob
Integrates with the git-mob CLI to manage Git co-authors.
GitMCP
Transforms any GitHub project into a documentation hub, enabling AI tools to access up-to-date documentation and code.
GitHub MCP Server
Integrates with the GitHub API for automation and interaction with repositories.
GitHub MCP Lightweight
A lightweight server for analyzing GitHub issues and pull requests using a Personal Access Token.
Gitingest
Analyze Git repositories and provide content optimized for large language models.
PyGithub MCP Server
Interact with the GitHub API using PyGithub to manage repositories, issues, and pull requests.
Radicle + GitHub
Interact with Radicle (peer-to-peer code collaboration) and GitHub through a unified interface.