Сервер 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 logs
https://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:
- Докер - Узнать больше
Установка
Курсор
Использование 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
- Использование Project Slug и Branch (рекомендуемый рабочий процесс):
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
- Пример: «Найти ненадёжные тесты в моём текущем проекте»
- Работает из вашего локального рабочего пространства, предоставляя:
Инструмент возвращает подробную информацию о ненадежных тестах, включая:
- Тестовые имена и местоположения файлов
- Сообщения об ошибках и контексты
Это поможет вам:
- Определите ненадежные тесты в вашем тестовом наборе
- Получите подробный контекст о неудачных тестах
- Принимайте решения об улучшении тестов на основе данных
- Использование Project Slug (рекомендуемый рабочий процесс):
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
- Название филиала
- Пример: «Получить статус последнего конвейера для моего текущего проекта»
- Работает из вашего локального рабочего пространства, предоставляя:
Инструмент возвращает отформатированный статус последнего конвейера:
- Названия рабочих процессов и их текущий статус
- Продолжительность каждого рабочего процесса
- Временные метки создания и завершения
- Общее состояние трубопровода
Пример вывода:
Это особенно полезно для:
- Проверка статуса последнего трубопровода
- Получение статуса последнего конвейера для определенной ветки
- Быстрая проверка статуса последнего конвейера, не выходя из IDE
- Использование Project Slug и Branch (рекомендуемый рабочий процесс):
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-адрес CircleCI в любом из следующих форматов:
- Использование локального контекста проекта:
- Работает из вашего локального рабочего пространства, предоставляя:
- Корневой путь к рабочему пространству
- Удаленный URL-адрес Git
- Название филиала
- Пример: «Получить результаты тестирования моего текущего проекта в основной ветке»
- Работает из вашего локального рабочего пространства, предоставляя:
Инструмент возвращает подробную информацию о результатах теста:
- Сводка всех тестов (всего, успешных, неудачных)
- Подробная информация о неудачных тестах, включая:
- Название и класс теста
- Расположение файла
- Сообщения об ошибках
- Продолжительность выполнения
- Список успешных испытаний с указанием времени
- Фильтр по результатам тестов
Это особенно полезно для:
- Быстрый анализ сбоев тестирования без посещения веб-интерфейса CircleCI
- Выявление закономерностей в неудачных тестах
- Поиск медленных тестов, которые могут нуждаться в оптимизации
- Проверка тестового покрытия вашего проекта
- Устранение неполадок в нестабильных тестах
Примечание: инструмент требует, чтобы тестовые метаданные были правильно настроены в вашей конфигурации CircleCI. Для получения дополнительной информации о настройке сбора тестовых метаданных см.: https://circleci.com/docs/collect-test-data/
- Использование Project Slug и Branch (рекомендуемый рабочий процесс):
config_helper
Помогает с задачами конфигурации CircleCI, предоставляя руководство и проверку. Этот инструмент помогает вам:- Проверьте конфигурацию CircleCI:
- Проверяет ваш .circleci/config.yml на наличие синтаксических и семантических ошибок
- Пример: «Проверьте мою конфигурацию CircleCI»
Инструмент обеспечивает:
- Подробные результаты проверки
- Рекомендации по конфигурации
Это поможет вам:
- Отслеживайте ошибки конфигурации перед отправкой
- Изучите передовой опыт конфигурации CircleCI
- Устранение неполадок конфигурации
- Правильно реализуйте функции CircleCI
- Проверьте конфигурацию CircleCI:
create_prompt_template
Помогает генерировать структурированные шаблоны подсказок для приложений с поддержкой ИИ на основе требований к функциям. Этот инструмент:- Преобразует требования к функциям в структурированные подсказки:
- Преобразует требования пользователя в оптимизированные шаблоны подсказок
- Пример: «Создать шаблон подсказок для создания сказок на ночь по возрасту и теме»
Инструмент обеспечивает:
- Структурированный шаблон подсказки
- Контекстная схема, определяющая требуемые входные параметры
Это поможет вам:
- Создавайте эффективные подсказки для приложений ИИ
- Стандартизируйте входные параметры для получения единообразных результатов
- Создавайте надежные функции на базе искусственного интеллекта
- Преобразует требования к функциям в структурированные подсказки:
recommend_prompt_template_tests
Создает тестовые случаи для шаблонов подсказок, чтобы убедиться, что они дают ожидаемые результаты. Этот инструмент:- Предоставляет тестовые примеры для шаблонов подсказок:
- Создает разнообразные тестовые сценарии на основе вашего шаблона подсказки и контекстной схемы.
- Пример: «Создать тесты для моего шаблона подсказок для чтения сказки на ночь»
Инструмент обеспечивает:
- Массив рекомендуемых тестовых случаев
- Различные комбинации параметров для проверки надежности шаблона
Это поможет вам:
- Проверить функциональность шаблона подсказки
- Обеспечьте единообразие ответов ИИ на все входные данные
- Определите пограничные случаи и потенциальные проблемы
- Улучшить общее качество приложений ИИ
- Предоставляет тестовые примеры для шаблонов подсказок:
list_followed_projects
Список всех проектов, за которыми пользователь следит на CircleCI. Этот инструмент:- Извлекает и отображает проекты:
- Показывает все проекты, к которым пользователь имеет доступ и за которыми следит
- Предоставляет название проекта и projectSlug для каждой записи
- Пример: «Список моих проектов CircleCI»
Инструмент возвращает отформатированный список проектов, пример вывода:
Это особенно полезно для:
- Определение доступных вам проектов 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-адрес CircleCI в любом из следующих форматов:
- Использование локального контекста проекта:
- Работает из вашего локального рабочего пространства, предоставляя:
- Корневой путь к рабочему пространству
- Удаленный URL-адрес Git
- Название филиала
- Пример: «Запустить конвейер для моего текущего проекта на основной ветке»
- Работает из вашего локального рабочего пространства, предоставляя:
Инструмент возвращает ссылку для мониторинга выполнения конвейера.
Это особенно полезно для:
- Быстрый запуск конвейеров без посещения веб-интерфейса CircleCI
- Прокладка трубопроводов из определенной ветки
- Использование Project Slug и Branch (рекомендуемый рабочий процесс):
Разработка
Начиная
- Клонируйте репозиторий:
- Установить зависимости:
- Создайте проект:
Создание Docker-контейнера
Вы можете создать Docker-контейнер локально, используя:
Это создаст образ Docker с тегом circleci:mcp-server-circleci
, который можно использовать с любым клиентом MCP.
Чтобы запустить контейнер:
Разработка с помощью MCP Inspector
Самый простой способ итерации на сервере MCP — использовать инспектор MCP. Узнать больше об инспекторе MCP можно по ссылке https://modelcontextprotocol.io/docs/tools/inspector
- Запустите сервер разработки:
- В отдельном терминале запустите инспектор:
- Настройте среду:
- Добавьте свой
CIRCLECI_TOKEN
в раздел «Переменные среды» в пользовательском интерфейсе инспектора. - Токену необходим доступ на чтение к вашим проектам CircleCI.
- При желании вы можете задать свой базовый URL CircleCI. По умолчанию
https//circleci.com
- Добавьте свой
Тестирование
- Запустите тестовый набор:
- Запустите тесты в режиме наблюдения во время разработки:
Более подробные правила по внесению взносов см. на сайте CONTRIBUTING.md
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Этот сервер MCP позволяет использовать Cursor IDE или любой агент с поддержкой MCP Client, чтобы использовать естественный язык для выполнения задач с CircleCI, например: найти последний неисправный конвейер в моей ветке и получить журналы.
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualitySimple MCP Server to enable a human-in-the-loop workflow in tools like Cline and Cursor. This is especially useful for developing desktop applications that require complex user interactions to test.Last updated -113PythonMIT License
Fastn Serverofficial
-securityAlicense-qualityAn MCP server that enables dynamic tool registration and execution based on API definitions, providing seamless integration with services like Claude.ai and Cursor.ai.Last updated -7PythonMIT License- AsecurityFlicenseAqualityAn MCP server that supercharges AI assistants with powerful tools for software development, enabling research, planning, code generation, and project scaffolding through natural language interaction.Last updated -1140TypeScript
- AsecurityAlicenseAqualityAn advanced MCP server that provides interactive feedback mechanisms with support for various feedback types, multi-language capabilities, and team collaboration features for AI tools like Cursor, Cline, and Windsurf.Last updated -4PythonMIT License