Skip to main content
Glama

@pulumi/mcp-server

Official

Пулуми MCP Сервер

Примечание: Этот сервер MCP в настоящее время находится в стадии активной разработки. Его API (включая доступные команды и их аргументы) является экспериментальным и может вносить критические изменения без уведомления. Пожалуйста, отправьте запрос на GitHub , если вы столкнулись с ошибками или вам нужна поддержка для дополнительных команд Pulumi.

Сервер, реализующий протокол контекста модели (MCP) для взаимодействия с Pulumi CLI с использованием Pulumi Automation API и Pulumi Cloud API.

Этот пакет позволяет клиентам MCP выполнять операции Pulumi, такие как получение информации о пакете, предварительный просмотр изменений, развертывание обновлений и получение выходных данных стека программным способом, без необходимости установки Pulumi CLI непосредственно в клиентской среде.

Использование

На вашем компьютере должен быть установлен Pulumi CLI.

Этот пакет в первую очередь предназначен для интеграции в приложения, которые могут использовать серверы MCP в качестве инструментов AI. Например, вот как можно включить сервер Pulumi MCP в файл конфигурации MCP рабочего стола Claude:

{ "mcpServers": { "pulumi": { "command": "npx", "args": ["@pulumi/mcp-server@latest","stdio"] } } }

Или, если вы предпочитаете HTTP с событиями, отправленными сервером (SSE), вместо stdio :

{ "mcpServers": { "pulumi": { "command": "npx", "args": ["@pulumi/mcp-server@latest","sse"] } } }

Контейнер Docker

Вы также можете запустить Pulumi MCP Server как контейнер Docker. Такой подход устраняет необходимость установки Node.js и зависимостей пакетов непосредственно на хост-машине.

Строительство контейнера

Чтобы построить контейнер:

docker build -t pulumi/mcp-server:latest .

Использование с клиентами MCP

Чтобы использовать контейнерный сервер с клиентами MCP, вам нужно настроить клиент на использование контейнера Docker. Например, в конфигурации MCP рабочего стола Claude:

{ "mcpServers": { "pulumi": { "command": "docker", "args": ["run", "-i", "--rm", "pulumi/mcp-server:latest", "stdio"] } } }

Использование с клиентами MCP по HTTP (SSE)

Чтобы использовать контейнерный сервер с клиентами MCP по HTTP (SSE), вы можете запустить контейнер с помощью следующей команды:

{ "mcpServers": { "pulumi": { "command": "docker", "args": ["run", "-i", "--rm", "-p", "3000:3000", "pulumi/mcp-server:latest", "sse"] } } }

Для операций Pulumi, требующих доступа к локальным проектам Pulumi, вам нужно будет смонтировать соответствующие каталоги. Например, если ваш проект Pulumi находится в ~/projects/my-pulumi-app :

{ "mcpServers": { "pulumi": { "command": "docker", "args": ["run", "-i", "--rm", "-v", "~/projects/my-pulumi-app:/app/project", "pulumi/mcp-server:latest"] } } }

Затем при использовании инструментов MCP в запросах следует указывать каталог проекта как /app/project .

Доступные команды

Сервер предоставляет обработчики для следующих операций Pulumi, вызываемых через запросы MCP:

  • preview : запускает pulumi preview для указанного стека.
    • workDir (строка, обязательно): рабочий каталог, содержащий файл проекта Pulumi.yaml .
    • stackName (строка, необязательно): имя стека для работы (по умолчанию «dev»).
  • up : запускает pulumi up для развертывания изменений для указанного стека.
    • workDir (строка, обязательно): рабочий каталог, содержащий файл проекта Pulumi.yaml .
    • stackName (строка, необязательно): имя стека для работы (по умолчанию «dev»).
  • stack-output : Извлекает выходные данные из указанного стека после успешного развертывания.
    • workDir (строка, обязательно): рабочий каталог, содержащий файл проекта Pulumi.yaml .
    • stackName (строка, необязательно): имя стека, из которого извлекаются выходные данные (по умолчанию «dev»).
    • outputName (строка, необязательно): Конкретное имя вывода стека для извлечения. Если пропущено, возвращаются все выводы для стека.
  • get-resource : возвращает информацию о конкретном ресурсе реестра Pulumi, включая его входные и выходные данные.
    • provider (строка, обязательно): поставщик облачных услуг (например, «aws», «azure», «gcp», «random») или github.com/org/repo для компонентов, размещенных на Git.
    • module (строка, необязательно): модуль для запроса (например, «s3», «ec2», «lambda»).
    • resource (строка, обязательно): Имя типа ресурса (например, «Корзина», «Функция», «Экземпляр»).
  • list-resources : список доступных ресурсов в пакете поставщика Pulumi, опционально отфильтрованный по модулю.
    • provider (строка, обязательно): поставщик облачных услуг (например, «aws», «azure», «gcp», «random») или github.com/org/repo для компонентов, размещенных на Git.
    • module (строка, необязательно): модуль для фильтрации (например, «s3», «ec2», «lambda»).

Разработка

  1. Клонируйте репозиторий.
  2. Установите зависимости: make ensure
  3. Собрать проект: make build
  4. Протестируйте проект: make test

Лицензия

Этот проект лицензирован по лицензии Apache-2.0. Подробности смотрите в файле LICENSE .

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    Easily find MCP servers using our MCP registry. Search with natural language.
    Last updated -
    1
    3
    JavaScript
    MIT License
  • -
    security
    A
    license
    -
    quality
    MCP Server for the Perplexity API.
    Last updated -
    50
    Python
    MIT License
    • Linux
    • Apple
  • A
    security
    A
    license
    A
    quality
    MCP Server for the ClickUp API,
    Last updated -
    4
    7
    1
    TypeScript
    MIT License

View all related MCP servers

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/pulumi/mcp-server'

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