github-webhook-mcp

github-webhook-mcp

Liplus-ProjectApache-2.0
GitHub Webhook MCP — сервер, который связывает вебхуки GitHub с AI-ассистентами. Он работает через Cloudflare Worker: принимает события от GitHub, проверяет их подпись, хранит в Durable Object с SQLite и отдаёт к ним доступ через инструменты MCP или потоковые уведомления через WebSocket. Разработчикам не нужно настраивать локальный вебхук-приемник или туннель. Сервер работает в облаке, на компьютере запускается только лёгкий мост (.mcpb). Это упрощает интеграцию событий GitHub в Claude Desktop, Claude Code CLI или Codex.

Установка

npx -y github-webhook-mcp

Характеристики

Общее

  • СтатусСообщество
  • РазработчикLiplus-Project
  • ЛицензияApache-2.0

Технологии

  • Языки
    TypeScript
  • Транспорт
    stdio

Описание

Возможности

  • Приём вебхуков GitHub с проверкой цифровой подписи
  • Хранение событий в Durable Object на базе SQLite
  • Просмотр количества ожидающих событий через инструмент get_pending_status
  • Получение списка всех ожидающих событий с метаданными через list_pending_events
  • Извлечение полной полезной нагрузки конкретного события через get_event
  • Потоковая передача уведомлений в реальном времени через WebSocket
  • Работа без локального вебхук-сервера или туннеля
  • Поддержка нескольких MCP-клиентов: Claude Desktop, Claude Code CLI и Codex
  • Интеграция через GitHub App — не нужно создавать отдельные вебхуки на репозитории

Как подключить

Для работы с сервером нужно выполнить два шага: установить GitHub-приложение и настроить локальный MCP-мост.

Установка GitHub-приложения

  • Перейдите на страницу установки GitHub App.
  • Выберите аккаунт или организацию для установки.
  • Укажите репозитории, к которым приложение получит доступ (можно все).
  • Подтвердите запрошенные разрешения.

Запуск локального моста

Выполните команду в терминале:

npx -y github-webhook-mcp

Эта команда запустит локальный MCP-сервер, который соединится с облачным Worker.

Настройка Claude Desktop

Откройте файл конфигурации MCP (обычно ~/Library/Application Support/Claude/claude_desktop_config.json на macOS) и добавьте:

{ "mcpServers": { "github-webhook-mcp": { "command": "npx", "args": ["-y", "github-webhook-mcp"] } } }

Для Claude Code CLI и Codex настройка аналогична. Полную инструкцию смотрите в вики проекта.

Перезапустите клиент

Закройте и снова откройте Claude Desktop (или перезагрузите терминал для CLI).

Примеры запросов

  • «Есть ли новые уведомления от GitHub?» — AI вызовет get_pending_status и вернёт сводку: «У вас 3 ожидающих события: 2 push, 1 pull request.»
  • «Покажи детали последнего pull request.» — AI получит список событий, найдёт PR и загрузит полную информацию через get_event.
  • «Подпиши меня на потоковые уведомления о новых коммитах.» — AI установит WebSocket-соединение и начнёт отправлять уведомления в реальном времени (требуется поддержка клиентом).
  • «Найди все push-события за последний час.» — AI отфильтрует список событий по типу и временной метке.

Технические детали

  • Язык: TypeScript
  • Транспорт: stdio
  • Лицензия: Apache-2.0
  • Совместимые клиенты: Claude Desktop, Claude Code CLI, Codex
  • Бэкенд: Cloudflare Worker + Durable Object (SQLite)
  • Подпись вебхуков проверяется с использованием секрета GitHub App

Поделиться