Labsco
ajaychinthapalli logo

GitHub Webhooks MCP Server

from ajaychinthapalli

A simple MCP server that manages GitHub webhooks and lets MCP compatible LLMs interact with the GitHub API.

๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeAdvanced setup

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

Tool Examples

Create Organization Webhook

Copy & paste โ€” that's it
{
  "org": "my-org",
  "config": {
    "url": "https://example.com/webhook",
    "content_type": "json",
    "secret": "my-secret"
  },
  "events": ["push", "pull_request"],
  "active": true
}

List Organization Webhooks

Copy & paste โ€” that's it
{
  "org": "my-org",
  "per_page": 30,
  "page": 1
}

Update Organization Webhook

Copy & paste โ€” that's it
{
  "org": "my-org",
  "hook_id": 12345,
  "config": {
    "url": "https://example.com/new-webhook"
  },
  "active": false
}

Delete Organization Webhook

Copy & paste โ€” that's it
{
  "org": "my-org",
  "hook_id": 12345
}

Create Repository Webhook

Copy & paste โ€” that's it
{
  "owner": "username",
  "repo": "repository-name",
  "config": {
    "url": "https://example.com/webhook",
    "content_type": "json"
  },
  "events": ["push", "issues"],
  "active": true
}

List Repository Webhooks

Copy & paste โ€” that's it
{
  "owner": "username",
  "repo": "repository-name"
}

Update Repository Webhook

Copy & paste โ€” that's it
{
  "owner": "username",
  "repo": "repository-name",
  "hook_id": 12345,
  "events": ["push", "pull_request", "issues"]
}

Delete Repository Webhook

Copy & paste โ€” that's it
{
  "owner": "username",
  "repo": "repository-name",
  "hook_id": 12345
}

Webhook Events

Common webhook events include:

  • push - Git push to a repository
  • pull_request - Pull request activity
  • issues - Issue activity
  • issue_comment - Issue comment activity
  • release - Release activity
  • create - Branch or tag created
  • delete - Branch or tag deleted
  • fork - Repository forked
  • star - Repository starred
  • watch - Repository watched

For a complete list of events, see GitHub Webhook Events Documentation.

Development

Build

Copy & paste โ€” that's it
npm run build

Project Structure

Copy & paste โ€” that's it
github-webhooks-mcp-server/
โ”œโ”€โ”€ src/
โ”‚   โ””โ”€โ”€ index.ts          # Main server implementation
โ”œโ”€โ”€ dist/                 # Compiled JavaScript (generated)
โ”œโ”€โ”€ package.json
โ”œโ”€โ”€ tsconfig.json
โ””โ”€โ”€ README.md

License

MIT