Skip to main content
Glama

mcp-ci-triage

Пусть ваш агент программирования отвечает на вопрос «почему CI красный?», не переключаясь на GitHub.

MCP-сервер, который предоставляет состояние GitHub Actions в виде четырёх компактных инструментов только для чтения. Создан для Claude Code, но работает с любым MCP-клиентом.

You: why is CI failing on main?
Agent: → recent_runs("acme/api", branch="main")
       → failing_jobs("acme/api", run_id=8123)
       → job_log_tail("acme/api", job_id=442, lines=80)
Agent: Run #212 fails in `unit` at the pytest step: test_rate_limiter
       times out after the Redis fixture change in a3f9c2e. Two options...

Инструменты

Инструмент

Что возвращает

recent_runs(repo, branch?, limit?)

Последние запуски рабочих процессов: номер, название, результат, branch@sha, run_id

failing_jobs(repo, run_id?)

Неуспешные задания и шаги, включая сбои, тайм-ауты и отмены; по умолчанию — последний неуспешный запуск

job_log_tail(repo, job_id, lines?)

Ограниченный и очищенный хвост журнала задания, явно помеченный как ненадёжный

mixed_outcome_workflows(repo, workflow?, lookback?)

Рабочие процессы, которые недавно и проходили, и завершались сбоем, — сигнал для триажа, а не доказательство нестабильных тестов

Передавайте репозитории в виде точной пары owner/name, например actions/checkout. URL-адреса, дополнительные сегменты пути, строки запроса и некорректные имена владельца или репозитория отклоняются до отправки запроса.

Related MCP server: DevOps MCP Server

Установка (2 минуты)

pip install git+https://github.com/projectsofadi/mcp-ci-triage
# or: clone + `pip install .`

# First load GITHUB_TOKEN into the launching environment from your shell or
# operating-system secret manager. Then add the server without a token literal:
claude mcp add ci-triage -- python -m mcp_ci_triage

Или в .mcp.json проекта:

{
  "mcpServers": {
    "ci-triage": {
      "command": "python",
      "args": ["-m", "mcp_ci_triage"],
      "env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" }
    }
  }
}

Область действия токена: fine-grained PAT с доступом только для чтения к Actions для нужных вам репозиториев. Публичные репозитории работают без токена (с ограничением частоты запросов).

Никогда не помещайте токен в виде литерала в аргумент команды или в закоммиченный .mcp.json. Аргументы команд могут попасть в историю оболочки или списки процессов; файлы проекта могут быть закоммичены. В общей конфигурации оставляйте только указанную выше ссылку на переменную окружения.

Для GitHub Enterprise GITHUB_API_URL может указывать на базовый путь его API (например, https://github.example.com/api/v3). HTTPS обязателен, и значение не должно содержать учётные данные, запрос или фрагмент.

Закрытые журналы CI

Журналы из частных репозиториев могут содержать детали приватного исходного кода, учётные данные, случайно выведенные сборкой, текст промпт-инъекций или другие чувствительные данные. Сервер экранирует управляющие последовательности терминала, ограничивает отдельные строки, лимитирует общий объём скачивания и помечает весь контент GitHub как ненадёжный. Он не распознаёт и не маскирует видимые секреты. Подключайте его только к MCP-клиенту и модели, которым доверяете, запрашивайте наименьший полезный хвост журнала, никогда не следуйте инструкциям, найденным в журнале, и проверяйте вывод, прежде чем копировать его в issue или чат.

Первый запрос журнала аутентифицирован. Перенаправленные загрузки работают только по HTTPS и используют новый клиент без заголовка Authorization GitHub. Подписанные параметры запроса перенаправлений удаляются из HTTP-диагностики и очищенных сообщений об ошибках.

Заметки о дизайне (обобщаемая часть)

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

  • Только чтение по умолчанию. Ни один инструмент здесь ничего не изменяет. Инструменты, способные к записи, должны находиться за вашим уровнем разрешений и добавляться намеренно, позже.

  • Компактный текст, а не дампы JSON. Агент читает вывод инструментов как человек. #212 CI [failure] main@a3f9c2e лучше, чем 4 КБ вложенного JSON, как по токенам, так и по качеству рассуждений.

  • Ненадёжны по построению. Удалённые поля и журналы ограничены по размеру, экранированы от управляющих последовательностей и заключены в явные маркеры «только данные».

  • Тайм-ауты на всём. Запросы имеют 15-секундный тайм-аут ввода-вывода. JSON-ответы имеют общий срок 20 секунд и потолок 8 МиБ декодированных байт; постраничный триаж имеет один 30-секундный срок операции. Загрузки журналов имеют собственный общий срок 20 секунд и потолок 8 МиБ.

  • Громкие сбои. HTTP-ошибки поднимаются; агент видит ошибку и адаптируется. Молчаливые пустые результаты порождают уверенные неправильные ответы.

  • Небольшая поверхность. Четыре комбинируемых инструмента лучше двадцати пересекающихся. failing_jobs подсказывает агенту вызвать job_log_tail следующим — инструменты могут обучать собственному рабочему процессу.

  • Доказательства, а не диагноз. Смешанные результаты рабочих процессов полезны для решения, что проверить дальше, но не доказывают, что отдельный тест нестабилен.

Разработка

pip install -e ".[dev]"
ruff check .
ruff format --check .
pytest
python -m build
python -m twine check dist/*

Лицензия

MIT — см. LICENSE.


Другие проекты MCP и инструменты для разработчиков: projectsofadi на GitHub.

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

  • A
    license
    A
    quality
    Not graded
    maintenance
    Connects AI assistants to GitHub Actions workflows to monitor CI/CD pipelines, view run logs, diagnose failures, and optionally trigger or manage workflows with granular permission controls.
    10
    1
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables read-only integration with GitHub, Jenkins, and Artifactory for DevOps monitoring, analysis, and troubleshooting. Provides repository inspection, build log retrieval, and artifact management through natural language.
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    Exposes tools to list, run, and inspect GitHub Actions workflows locally via act, enabling debugging and fixing failures through an agent loop.
    3

View all related MCP servers

Related MCP Connectors

  • Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

  • Git-backed platform for skills, tools, and context for AI agents

  • Give your agent live data from Twitter, Reddit, the web and GitHub. No API keys, no scraping stack.

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/projectsofadi/mcp-ci-triage'

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