Этот пет-проект я начинал делать с единственной целью “понять а как это работает на самом деле”, но он уже оброс кое-какими mcp-тулзами и, кажется, пришло время им поделиться. Если у вас есть TeamCity и количество билд конфигураций в нем такое, что чёрт ногу сломит - то скорее всего данный MCP Server вам будет полезен. В данный момент в нем реализованы следующие тулзы:
### Поиск и анализ
1. `search_builds` — Поиск билдов по статусу, ветке, дате, тегам, пользователю
2. `search_build_configurations` — Поиск конфигураций по параметрам, шагам, VCS
3. `fetch_build_log` — Получение логов билда для диагностики
### Управление билдами
1. `trigger_build` — Запуск нового билда с параметрами и указанием ветки
2. `cancel_build` — Отмена запущенного или ожидающего билда
3. `pin_build` — Закрепление/открепление билда для предотвращения автоудаления
### Управление метаданными и артефактами
1. `set_build_tag` — Добавление/удаление тегов к билдам
2. `download_artifact` — Скачивание артефактов из билда
Примеры использования
"Покажи все FAILURE билды за сегодня"
"Найди самые медленные билды в проекте shitcode"
"Почему свалилась сборка #2321 и как это исправить"
"Запусти билд MyProject_Deploy на ветке main"
"Закрепи билд #1234 с тегом v.1.0.7"
Настроить очень просто - создаем токен в Teamcity (я рекомендую придерживаться принципа PoLP) и задаем конфигурацию MCP.
# Пример подключения в Cursor
{
"mcpServers": {
"teamcity": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"TC_URL",
"-e",
"TC_TOKEN",
"itcaat/teamcity-mcp:v1.0.7",
"--transport",
"stdio"
],
"env": {
"TC_URL": "https://teamcity.example.com",
"TC_TOKEN": "YOUR_TOKEN_HERE"
}
}
}
}
В дальнейшем в нем появятся тулы для создания билд конфигураций. А сами исходники доступны тут https://github.com/itcaat/teamcity-mcp (буду очень благодарен за ⭐). На этом у меня всё - всем пока и приятного пользования.
#cicd #ai