Skip to main content
Glama
fers4t

bugsink-mcp

by fers4t

bugsink-mcp

Полноценный MCP-сервер для чтения и записи MCP для Bugsink (self-hosted, совместимый с Sentry-протоколом трекинг ошибок), построенный напрямую на основе OpenAPI-схемы /api/canonical/0/.

Он появился потому, что существующий пакет bugsink-mcp на npm оборачивает только часть для чтения API (list/get). Этот же покрывает всю каноническую поверхность API: закрытие, заглушение, переоткрытие и удаление проблем, комментирование, а также создание/обновление команд, проектов и релизов — плюс несколько исправлений по сравнению с оригиналом (см. Исправления по сравнению с оригиналом).

Настройка

Требуется Node.js 18.17+.

  1. В Bugsink перейдите в Account Settings → Auth Tokens и создайте токен.

  2. Добавьте сервер в ваш MCP-клиент.

Claude Code

Однострочник через claude mcp CLI:

claude mcp add bugsink \
  -e BUGSINK_URL=https://bugs.example.com \
  -e BUGSINK_TOKEN=<your token> \
  -- npx -y github:fers4t/bugsink-mcp

Это записывает эквивалент следующего в ~/.claude.json (или передайте --scope project, чтобы записать общий .mcp.json вместо локального пользовательского конфига):

{
  "mcpServers": {
    "bugsink": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "github:fers4t/bugsink-mcp"],
      "env": {
        "BUGSINK_URL": "https://bugs.example.com",
        "BUGSINK_TOKEN": "<your token>"
      }
    }
  }
}

После этого перезапустите Claude Code (или начните новую сессию) — списки MCP-инструментов загружаются при старте сессии и не подхватят изменение конфига в середине разговора.

Другие MCP-клиенты

Любой клиент, читающий карту mcpServers (Cursor, Windsurf и т.д.), может использовать ту же JSON-форму, что показана выше: укажите command: npx, args: ["-y", "github:fers4t/bugsink-mcp"] и две обязательные переменные окружения.

npx устанавливает напрямую из GitHub (без публикации в npm) и запускает скрипт prepare для компиляции TypeScript при первом использовании, а при последующих запусках использует свой локальный кэш.

Переменные окружения

Переменная

Обязательна

Описание

BUGSINK_URL

да

Базовый URL вашего экземпляра Bugsink, например https://bugs.example.com

BUGSINK_TOKEN

да

Личный API-токен (Bearer authorization)

BUGSINK_TIMEOUT_MS

нет

Тайм-аут запроса в мс (по умолчанию 15000, ограничено 1000–120000)

См. .env.example. Никогда не коммитьте реальный токен — сервер читает его только из окружения.

Related MCP server: Sierra Navigator Cloud

Инструменты

Подключение

Инструмент

Описание

test_connection

Проверяет работу URL/токена и сообщает, сколько команд видно

Команды

Инструмент

Описание

list_teams

Получить список всех команд

get_team

Получить команду по uuid

create_team

Создать команду

update_team

Переименовать команду или изменить её видимость

Проекты

Инструмент

Описание

list_projects

Список проектов, опционально отфильтрованный по команде

get_project

Получить проект (включая его DSN), опционально раскрывая команду

create_project

Создать проект в команде

update_project

Обновить имя/видимость/флаги оповещений/срок хранения/команду

Проблемы

Инструмент

Описание

list_issues

Список проблем проекта (сортировка по digest_order, digested_event_count или last_seen)

get_issue

Получить проблему по UUID или дружественному ID (например, PROJ-123)

delete_issue

Необратимо удалить проблему и её события

resolve_issue

Закрыть свою

resolve_issue_in_next_release

Закрыть, с регрессией, если более поздний релиз сообщит о ней снова

resolve_issue_in_latest_release

Закрыть начиная с текущего последнего релиза

reopen_issue

Переоткрыть закрытую проблему

mute_issue

Заглушить на неопределённый срок

mute_issue_for

Заглушить на N периодов (например, 3 дня)

mute_issue_until

Заглушить до пересечения порога количества событий в период

unmute_issue

Снять заглушку

add_issue_comment

Добавить комментарий к проблеме

События

Инструмент

Описание

list_events

Список событий (включений) проблемы

get_event

Получить полную информацию о событии, включая теги/контексты/исходный payload

get_stacktrace

Отобразить Markdown-стектрейс для события

Релизы

Инструмент

Описание

list_releases

Список релизов проекта

get_release

Получить релиз по UUID

create_release

Создать релиз (необходим для корректного регресса resolve_issue_in_next_release)

Исправления по сравнению с оригиналом

  • get_stacktrace на самом деле работает. Эндпоинт Bugsink возвращает text/markdown, а не JSON. Оригинальный пакет безусловно вызывал res.json() и выбрасывал Unexpected token '#', "# TypeError"... is not valid JSON при каждом вызове. Этот сервер читает этот эндпоинт как текст.

  • Поддержка записи: закрытие/заглушение/переоткрытие/удаление проблем, комментирование и создание/обновление команд, проектов и релизов — ничего из этого read-only оригинал не предоставлял.

  • Ограниченные тайм-ауты (AbortSignal.timeout, по умолчанию 15с) на каждый запрос, поэтому зависший upstream не сможет бесконечно повесить MCP-процесс.

  • Безопасные повторы: идемпотентные GET-запросы получают ограниченный retry с экспоненциальной задержкой и джиттером на 502/503/504 или сетевой сбой. Мутирующие запросы (POST/PATCH/DELETE) никогда не повторяются автоматически, так как повтор записи, у которой просто потерялся ответ, может привести к дублированию побочных эффектов (например, второго такого же комментария).

  • Валидация входных данных через Zod на каждом аргументе инструмента (числовые ID, UUID, перечисление), поэтому некорректные данные отклоняются локально с понятным сообщением, а не долетают до API.

  • Без секретов в выводе. В ошибках содержатся HTTP-статус и усечённое тело ответа; значение заголовка Authorization никогда не попадает ни в логи, ни в выбрасываемые ошибки.

Замечания по безопасности

  • Это локальный процесс stdio — он не открывает сетевой слушатель. Управление доступом определяется тем, что даёт ваш MCP-клиент, а также владением BUGSINK_TOKEN.

  • Вся диагностика уходит только в stderr; stdout зарезервирован для потока протокола JSON-RPC.

  • BUGSINK_URL должен быть http: или https:; обычный HTTP на нелокальный хост печатает предупреждение (ваш токен будет отправлен без шифрования), но не блокируется — для поддержки внутренних сетей.

  • Относитесь к BUGSINK_TOKEN как к любому другому секрету: держите его вне системы контроля версий, перевыпускайте его в Bugsink при утечке и ограничивайте до минимально привилегированного пользователя.

Разработка

npm install     # installs deps and runs the TypeScript build (prepare script)
npm run typecheck
npm run build   # compile src/ -> dist/
npm run dev     # watch mode

Лицензия

MIT

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    B
    maintenance
    Hosted, OAuth-secured MCP server that drives the Sierra Interactive real-estate admin backend, enabling reads, guarded writes, and identity-locked deletes over HTTP without a browser.
  • A
    license
    Not graded
    quality
    B
    maintenance
    Hosted MCP server that exposes your self-hosted Bugsink error tracker as tools for LLMs, enabling issue management, release tracking, and stacktrace retrieval via chat prompts.
    877
    MIT
  • F
    license
    A
    quality
    B
    maintenance
    A lightweight MCP server for tracking bugs and tasks across coding sessions, providing persistent SQLite-backed storage and six tools for logging, inspecting, updating, resolving, and deleting bugs.
    6
    1

View all related MCP servers

Related MCP Connectors

  • MCP server for InsForge BaaS — database, storage, edge functions, and deployments

  • A MCP server built for developers enabling Git based project management with project and personal…

  • MCP server for interacting with the Supabase platform

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/fers4t/bugsink-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server