Argo CD MCP Server
Argo CD MCP Server
Реализация сервера Model Context Protocol (MCP) для Argo CD, позволяющая ИИ-ассистентам взаимодействовать с вашими приложениями Argo CD с помощью естественного языка. Этот сервер обеспечивает бесшовную интеграцию с Visual Studio Code и другими MCP-клиентами через протоколы передачи stdio и HTTP stream.
Функциональные возможности
Транспортные протоколы: Поддерживает режимы передачи stdio и HTTP stream для гибкой интеграции с различными клиентами
Полная интеграция с API Argo CD: Предоставляет всесторонний доступ к ресурсам и операциям Argo CD
Готовность к работе с ИИ-ассистентами: Предварительно настроенные инструменты для взаимодействия ИИ-ассистентов с Argo CD на естественном языке
Доступные инструменты
Сервер предоставляет следующие инструменты управления ArgoCD:
Управление кластерами
list_clusters: Список всех кластеров, зарегистрированных в ArgoCD
Управление приложениями
list_applications: Список и фильтрация всех приложенийget_application: Получение подробной информации о конкретном приложенииcreate_application: Создание нового приложенияupdate_application: Обновление существующего приложенияdelete_application: Удаление приложенияsync_application: Запуск операции синхронизации приложения
Управление ресурсами
get_application_resource_tree: Получение дерева ресурсов для конкретного приложенияget_application_managed_resources: Получение управляемых ресурсов для конкретного приложенияget_application_workload_logs: Получение логов рабочих нагрузок приложения (подов, развертываний и т.д.)get_resource_events: Получение событий для ресурсов, управляемых приложениемget_resource_actions: Получение доступных действий для ресурсовrun_resource_action: Выполнение действия над ресурсом
Установка
Предварительные требования
Node.js (рекомендуется v18 или выше)
Менеджер пакетов pnpm (для разработки)
Экземпляр Argo CD с доступом к API
Токен API Argo CD (см. инструкции в документации)
Использование с Cursor
Следуйте документации Cursor по поддержке MCP и создайте файл
.cursor/mcp.jsonв вашем проекте:
{
"mcpServers": {
"argocd-mcp": {
"command": "npx",
"args": [
"argocd-mcp@latest",
"stdio"
],
"env": {
"ARGOCD_BASE_URL": "<argocd_url>",
"ARGOCD_API_TOKEN": "<argocd_token>"
}
}
}
}Начните диалог в режиме Agent, чтобы использовать MCP.
Использование с VSCode
Следуйте документации по использованию MCP-серверов в VS Code и создайте файл
.vscode/mcp.jsonв вашем проекте:
{
"servers": {
"argocd-mcp-stdio": {
"type": "stdio",
"command": "npx",
"args": [
"argocd-mcp@latest",
"stdio"
],
"env": {
"ARGOCD_BASE_URL": "<argocd_url>",
"ARGOCD_API_TOKEN": "<argocd_token>"
}
}
}
}Начните диалог с ИИ-ассистентом в VS Code, который поддерживает MCP.
Использование с Claude Desktop
Следуйте документации по MCP в Claude Desktop и создайте файл конфигурации
claude_desktop_config.json:
{
"mcpServers": {
"argocd-mcp": {
"command": "npx",
"args": [
"argocd-mcp@latest",
"stdio"
],
"env": {
"ARGOCD_BASE_URL": "<argocd_url>",
"ARGOCD_API_TOKEN": "<argocd_token>"
}
}
}
}Настройте Claude Desktop на использование этого файла конфигурации в настройках.
Самоподписанные сертификаты
Если ваш экземпляр Argo CD использует самоподписанные сертификаты или сертификаты от частного центра сертификации (CA), вам может потребоваться добавить следующую переменную окружения в вашу конфигурацию:
"NODE_TLS_REJECT_UNAUTHORIZED": "0"Это отключает проверку TLS-сертификатов для Node.js при подключении к экземплярам Argo CD, использующим самоподписанные сертификаты или сертификаты от частных CA, которые не доверены хранилищем сертификатов вашей системы.
Внимание: Отключение проверки SSL снижает безопасность. Используйте эту настройку только в средах разработки или если вы понимаете последствия для безопасности.
Режим «Только чтение» (Read Only)
Если вы хотите запустить MCP-сервер в режиме «Только чтение», чтобы избежать изменения ресурсов или приложений, вам следует установить переменную окружения:
"MCP_READ_ONLY": "true"Это отключит следующие инструменты:
create_applicationupdate_applicationdelete_applicationsync_applicationrun_resource_action
По умолчанию все инструменты будут доступны.
Stateless-режим
По умолчанию HTTP-транспорт назначает идентификатор сессии каждому клиентскому подключению и хранит карту активных сессий в памяти. Это хорошо работает для развертываний с одним экземпляром, но вызывает ошибки 400, когда запущено несколько реплик без «липких» сессий (sticky sessions), так как запрос, направленный на другой под, не найдет сессию, созданную на исходном поде.
Чтобы запустить сервер без требований к аффинити сессий, используйте флаг --stateless:
node dist/index.js http --statelessИли с помощью Docker:
docker run -e ARGOCD_BASE_URL=<argocd_url> -e ARGOCD_API_TOKEN=<argocd_token> \
argoprojlabs/mcp-for-argocd http --statelessВ stateless-режиме:
Идентификатор
Mcp-Session-Idне возвращается и не требуется — любая реплика может обработать любой запросУчетные данные ArgoCD должны предоставляться с каждым запросом через переменные окружения или заголовки
x-argocd-base-url/x-argocd-api-tokenGET /mcpиDELETE /mcpвозвращают405 Method Not Allowed(SSE на уровне сессии и завершение сессии не поддерживаются)
Этот режим рекомендуется для развертываний в Kubernetes с горизонтальным автомасштабированием подов (HPA), где «липкие» сессии на сетевом уровне недоступны.
Для разработки
Клонируйте репозиторий:
git clone https://github.com/argoproj-labs/mcp-for-argocd.git
cd mcp-for-argocdУстановите зависимости проекта:
pnpm installЗапустите сервер разработки с включенной горячей перезагрузкой:
pnpm run devКак только сервер запущен, вы можете использовать MCP-сервер в Visual Studio Code или другом MCP-клиенте.
Обновление типов ArgoCD
Чтобы обновить определения типов TypeScript на основе последней спецификации API Argo CD:
Скачайте файл
swagger.jsonсо страницы релизов ArgoCD, например, вот ссылка на swagger.json для ArgoCD v2.14.11.Поместите скачанный файл
swagger.jsonв корневой каталог проектаargocd-mcp.Сгенерируйте типы TypeScript из определения Swagger, выполнив следующую команду. Это создаст или перезапишет файл
src/types/argocd.d.ts:pnpm run generate-typesОбновите файл
src/types/argocd-types.ts, чтобы экспортировать необходимые типы из только что созданногоsrc/types/argocd.d.ts. Этот шаг часто требует ручной проверки, чтобы убедиться, что экспортируются только необходимые типы.
Авторы
Проект был первоначально создан и передан сообществу @jiachengxu, @imwithye, @hwwn и @alexmt из Akuity.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/argoproj-labs/mcp-for-argocd'
If you have feedback or need assistance with the MCP directory API, please join our Discord server