Сервер CircleCI MCP
Model Context Protocol (MCP) — это новый стандартизированный протокол для управления контекстом между большими языковыми моделями (LLM) и внешними системами. В этом репозитории мы предоставляем MCP Server для CircleCI .
Это позволяет использовать Cursor IDE, Windsurf, Copilot или любой клиент с поддержкой MCP, чтобы использовать естественный язык для выполнения задач с CircleCI, например:
Find the latest failed pipeline on my branch and get logshttps://github.com/CircleCI-Public/mcp-server-circleci/wiki#circleci-mcp-server-with-cursor-ide
https://github.com/user-attachments/assets/3c765985-8827-442a-a8dc-5069e01edb74
Требования
Токен API CircleCI — вы можете сгенерировать его через CircleCI. Узнайте больше или нажмите здесь для быстрого доступа.
Для установки NPX:
Менеджер пакетов pnpm - Узнать больше
Node.js >= v18.0.0
Для установки Docker:
Докер - Узнать больше
Related MCP server: Enhanced Interactive Feedback MCP Server
Установка
Курсор
Использование NPX
Добавьте следующее в конфигурацию MCP курсора:
Использование Докера
Добавьте следующее в конфигурацию MCP курсора:
Код VS
Использование NPX
Чтобы установить CircleCI MCP Server для VS Code в .vscode/mcp.json :
Использование Докера
Чтобы установить CircleCI MCP Server для VS Code в .vscode/mcp.json с помощью Docker:
Клод Десктоп
Использование NPX
Добавьте следующее в ваш claude_desktop_config.json:
Использование Докера
Добавьте следующее в ваш claude_desktop_config.json:
Чтобы найти/создать этот файл, сначала откройте настройки рабочего стола claude. Затем нажмите «Разработчик» в левой панели панели настроек, а затем нажмите «Изменить конфигурацию»
Это создаст файл конфигурации по адресу:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Дополнительную информацию об использовании серверов MCP с Claude Desktop см. в руководстве ниже: https://modelcontextprotocol.io/quickstart/user
Клод Код
Использование NPX
После установки Claude Code выполните следующую команду:
Использование Докера
После установки Claude Code выполните следующую команду:
Дополнительную информацию об использовании серверов MCP с Claude Code см. в руководстве ниже: https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/tutorials#set-up-model-context-protocol-mcp
Виндсерфинг
Использование NPX
Добавьте следующее в ваш mcp_config.json windsurf:
Использование Докера
Добавьте следующее в ваш mcp_config.json windsurf:
Дополнительную информацию об использовании серверов MCP с Windsurf смотрите в руководстве ниже: https://docs.windsurf.com/windsurf/mcp
Установка через Smithery
Чтобы автоматически установить CircleCI MCP Server для Claude Desktop через Smithery :
Функции
Поддерживаемые инструменты
get_build_failure_logsИзвлекает подробные журналы сбоев из сборок CircleCI. Этот инструмент можно использовать тремя способами:
Использование Project Slug и Branch (рекомендуемый рабочий процесс):
Сначала перечислите доступные вам проекты:
Используйте инструмент list_followed_projects для получения ваших проектов
Пример: «Список моих проектов CircleCI»
Затем выберите проект, с которым связан projectSlug.
Пример: «Давайте использовать мой проект»
Затем попросите извлечь журналы сбоев сборки для определенной ветки:
Пример: «Получить сведения об ошибках сборки для моего проекта в основной ветке»
Использование URL-адресов CircleCI:
Укажите URL-адрес невыполненного задания или URL-адрес конвейера напрямую
Пример: «Получить логи с https://app.circleci.com/pipelines/github/org/repo/123 »
Использование локального контекста проекта:
Работает из вашего локального рабочего пространства, предоставляя:
Корневой путь к рабочему пространству
Удаленный URL-адрес Git
Название филиала
Пример: «Найти последний неисправный конвейер в моей текущей ветке»
Инструмент возвращает отформатированные журналы, включая:
Названия должностей
Пошаговые детали выполнения
Сообщения об ошибках и контекст
Это особенно полезно для:
Отладка неудачных сборок
Анализ неудачных тестов
Исследование проблем развертывания
Быстрый доступ к журналам сборки, не выходя из IDE
find_flaky_testsВыявляет нестабильные тесты в вашем проекте CircleCI, анализируя историю выполнения тестов. Это использует функцию обнаружения нестабильных тестов, описанную здесь: https://circleci.com/blog/introducing-test-insights-with-flaky-test-detection/#flaky-test-detection
Этот инструмент можно использовать тремя способами:
Использование Project Slug (рекомендуемый рабочий процесс):
Сначала перечислите доступные вам проекты:
Используйте инструмент list_followed_projects для получения ваших проектов
Пример: «Список моих проектов CircleCI»
Затем выберите проект, с которым связан projectSlug.
Пример: «Давайте использовать мой проект»
Затем попросите восстановить нестабильные тесты:
Пример: «Получить нестабильные тесты для моего проекта»
Используя URL-адрес проекта CircleCI:
Предоставьте URL-адрес проекта напрямую из CircleCI
Пример: «Найдите нестабильные тесты в https://app.circleci.com/pipelines/github/org/repo »
Использование локального контекста проекта:
Работает из вашего локального рабочего пространства, предоставляя:
Корневой путь к рабочему пространству
Удаленный URL-адрес Git
Пример: «Найти ненадёжные тесты в моём текущем проекте»
Инструмент возвращает подробную информацию о ненадежных тестах, включая:
Тестовые имена и местоположения файлов
Сообщения об ошибках и контексты
Это поможет вам:
Определите ненадежные тесты в вашем тестовом наборе
Получите подробный контекст о неудачных тестах
Принимайте решения об улучшении тестов на основе данных
get_latest_pipeline_statusИзвлекает статус последнего конвейера для заданной ветки. Этот инструмент можно использовать тремя способами:
Использование Project Slug и Branch (рекомендуемый рабочий процесс):
Сначала перечислите доступные вам проекты:
Используйте инструмент list_followed_projects для получения ваших проектов
Пример: «Список моих проектов CircleCI»
Затем выберите проект, с которым связан projectSlug.
Пример: «Давайте использовать мой проект»
Затем попросите получить последний статус конвейера для определенной ветки:
Пример: «Получить статус последнего конвейера для моего проекта на основной ветке»
Используя URL-адрес проекта CircleCI:
Предоставьте URL-адрес проекта напрямую из CircleCI
Пример: «Получить статус последнего конвейера для https://app.circleci.com/pipelines/github/org/repo »
Использование локального контекста проекта:
Работает из вашего локального рабочего пространства, предоставляя:
Корневой путь к рабочему пространству
Удаленный URL-адрес Git
Название филиала
Пример: «Получить статус последнего конвейера для моего текущего проекта»
Инструмент возвращает отформатированный статус последнего конвейера:
Названия рабочих процессов и их текущий статус
Продолжительность каждого рабочего процесса
Временные метки создания и завершения
Общее состояние трубопровода
Пример вывода:
--- Workflow: build Status: success Duration: 5 minutes Created: 4/20/2025, 10:15:30 AM Stopped: 4/20/2025, 10:20:45 AM --- Workflow: test Status: running Duration: unknown Created: 4/20/2025, 10:21:00 AM Stopped: in progressЭто особенно полезно для:
Проверка статуса последнего трубопровода
Получение статуса последнего конвейера для определенной ветки
Быстрая проверка статуса последнего конвейера, не выходя из IDE
get_job_test_resultsИзвлекает метаданные теста для заданий CircleCI, позволяя вам анализировать результаты теста, не покидая IDE. Этот инструмент можно использовать тремя способами:
Использование Project Slug и Branch (рекомендуемый рабочий процесс):
Сначала перечислите доступные вам проекты:
Используйте инструмент list_followed_projects для получения ваших проектов
Пример: «Список моих проектов CircleCI»
Затем выберите проект, с которым связан projectSlug.
Пример: «Давайте использовать мой проект»
Затем попросите выслать результаты теста по определенному филиалу:
Пример: «Получить результаты тестирования для моего проекта на основной ветке»
Используя URL-адрес CircleCI:
Укажите URL-адрес CircleCI в любом из следующих форматов:
URL-адрес задания: " https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def/jobs/789 "
URL рабочего процесса: " https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def "
URL-адрес конвейера: " https://app.circleci.com/pipelines/github/org/repo/123 "
Пример: «Получить результаты теста для https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def »
Использование локального контекста проекта:
Работает из вашего локального рабочего пространства, предоставляя:
Корневой путь к рабочему пространству
Удаленный URL-адрес Git
Название филиала
Пример: «Получить результаты тестирования моего текущего проекта в основной ветке»
Инструмент возвращает подробную информацию о результатах теста:
Сводка всех тестов (всего, успешных, неудачных)
Подробная информация о неудачных тестах, включая:
Название и класс теста
Расположение файла
Сообщения об ошибках
Продолжительность выполнения
Список успешных испытаний с указанием времени
Фильтр по результатам тестов
Это особенно полезно для:
Быстрый анализ сбоев тестирования без посещения веб-интерфейса CircleCI
Выявление закономерностей в неудачных тестах
Поиск медленных тестов, которые могут нуждаться в оптимизации
Проверка тестового покрытия вашего проекта
Устранение неполадок в нестабильных тестах
Примечание: инструмент требует, чтобы тестовые метаданные были правильно настроены в вашей конфигурации CircleCI. Для получения дополнительной информации о настройке сбора тестовых метаданных см.: https://circleci.com/docs/collect-test-data/
config_helperПомогает с задачами конфигурации CircleCI, предоставляя руководство и проверку. Этот инструмент помогает вам:
Проверьте конфигурацию CircleCI:
Проверяет ваш .circleci/config.yml на наличие синтаксических и семантических ошибок
Пример: «Проверьте мою конфигурацию CircleCI»
Инструмент обеспечивает:
Подробные результаты проверки
Рекомендации по конфигурации
Это поможет вам:
Отслеживайте ошибки конфигурации перед отправкой
Изучите передовой опыт конфигурации CircleCI
Устранение неполадок конфигурации
Правильно реализуйте функции CircleCI
create_prompt_templateПомогает генерировать структурированные шаблоны подсказок для приложений с поддержкой ИИ на основе требований к функциям. Этот инструмент:
Преобразует требования к функциям в структурированные подсказки:
Преобразует требования пользователя в оптимизированные шаблоны подсказок
Пример: «Создать шаблон подсказок для создания сказок на ночь по возрасту и теме»
Инструмент обеспечивает:
Структурированный шаблон подсказки
Контекстная схема, определяющая требуемые входные параметры
Это поможет вам:
Создавайте эффективные подсказки для приложений ИИ
Стандартизируйте входные параметры для получения единообразных результатов
Создавайте надежные функции на базе искусственного интеллекта
recommend_prompt_template_testsСоздает тестовые случаи для шаблонов подсказок, чтобы убедиться, что они дают ожидаемые результаты. Этот инструмент:
Предоставляет тестовые примеры для шаблонов подсказок:
Создает разнообразные тестовые сценарии на основе вашего шаблона подсказки и контекстной схемы.
Пример: «Создать тесты для моего шаблона подсказок для чтения сказки на ночь»
Инструмент обеспечивает:
Массив рекомендуемых тестовых случаев
Различные комбинации параметров для проверки надежности шаблона
Это поможет вам:
Проверить функциональность шаблона подсказки
Обеспечьте единообразие ответов ИИ на все входные данные
Определите пограничные случаи и потенциальные проблемы
Улучшить общее качество приложений ИИ
list_followed_projectsСписок всех проектов, за которыми пользователь следит на CircleCI. Этот инструмент:
Извлекает и отображает проекты:
Показывает все проекты, к которым пользователь имеет доступ и за которыми следит
Предоставляет название проекта и projectSlug для каждой записи
Пример: «Список моих проектов CircleCI»
Инструмент возвращает отформатированный список проектов, пример вывода:
Projects followed: 1. my-project (projectSlug: gh/organization/my-project) 2. another-project (projectSlug: gh/organization/another-project)Это особенно полезно для:
Определение доступных вам проектов CircleCI
Получение projectSlug, необходимого для других инструментов CircleCI
Выбор проекта для последующих операций
Примечание: projectSlug (не имя проекта) требуется для многих других инструментов CircleCI и будет использоваться для вызовов этих инструментов после выбора проекта.
run_pipelineЗапускает конвейер. Этот инструмент можно использовать тремя способами:
Использование Project Slug и Branch (рекомендуемый рабочий процесс):
Сначала перечислите доступные вам проекты:
Используйте инструмент list_followed_projects для получения ваших проектов
Пример: «Список моих проектов CircleCI»
Затем выберите проект, с которым связан projectSlug.
Пример: «Давайте использовать мой проект»
Затем попросите запустить конвейер для определенной ветки:
Пример: «Запустить конвейер для моего проекта на основной ветке»
Используя URL-адрес CircleCI:
Укажите URL-адрес CircleCI в любом из следующих форматов:
URL-адрес задания: " https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def/jobs/789 "
URL рабочего процесса: " https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def "
URL-адрес конвейера: " https://app.circleci.com/pipelines/github/org/repo/123 "
URL проекта с веткой: " https://app.circleci.com/projects/github/org/repo?branch=main "
Пример: «Запустить конвейер для https://app.circleci.com/pipelines/github/org/repo/123/workflows/abc-def »
Использование локального контекста проекта:
Работает из вашего локального рабочего пространства, предоставляя:
Корневой путь к рабочему пространству
Удаленный URL-адрес Git
Название филиала
Пример: «Запустить конвейер для моего текущего проекта на основной ветке»
Инструмент возвращает ссылку для мониторинга выполнения конвейера.
Это особенно полезно для:
Быстрый запуск конвейеров без посещения веб-интерфейса CircleCI
Прокладка трубопроводов из определенной ветки
Разработка
Начиная
Клонируйте репозиторий:
git clone https://github.com/CircleCI-Public/mcp-server-circleci.git cd mcp-server-circleciУстановить зависимости:
pnpm installСоздайте проект:
pnpm build
Создание Docker-контейнера
Вы можете создать Docker-контейнер локально, используя:
Это создаст образ Docker с тегом circleci:mcp-server-circleci , который можно использовать с любым клиентом MCP.
Чтобы запустить контейнер:
Разработка с помощью MCP Inspector
Самый простой способ итерации на сервере MCP — использовать инспектор MCP. Узнать больше об инспекторе MCP можно по ссылке https://modelcontextprotocol.io/docs/tools/inspector
Запустите сервер разработки:
pnpm watch # Keep this running in one terminalВ отдельном терминале запустите инспектор:
pnpm inspectorНастройте среду:
Добавьте свой
CIRCLECI_TOKENв раздел «Переменные среды» в пользовательском интерфейсе инспектора.Токену необходим доступ на чтение к вашим проектам CircleCI.
При желании вы можете задать свой базовый URL CircleCI. По умолчанию
https//circleci.com
Тестирование
Запустите тестовый набор:
pnpm testЗапустите тесты в режиме наблюдения во время разработки:
pnpm test:watch
Более подробные правила по внесению взносов см. на сайте CONTRIBUTING.md