Integrations
Supports running the MCP server in a Docker container, with the ability to mount local Pulumi project directories to perform operations on containerized Pulumi projects.
Allows retrieving information about Git-hosted Pulumi component resources from GitHub repositories, accessible through the get-resource and list-resources commands.
Enables programmatic interaction with Pulumi infrastructure as code, allowing operations like retrieving package information, previewing infrastructure changes, deploying stack updates, and retrieving stack outputs without requiring the Pulumi CLI in the client environment.
Servidor Pulumi MCP
Nota: Este servidor MCP se encuentra actualmente en desarrollo. Su API (incluidos los comandos disponibles y sus argumentos) es experimental y podría introducir cambios importantes sin previo aviso. Si encuentra algún error o necesita ayuda con otros comandos de Pulumi, por favor, informe un problema en GitHub .
Un servidor que implementa el Protocolo de contexto de modelo (MCP) para interactuar con Pulumi CLI utilizando la API de automatización de Pulumi y la API de nube de Pulumi.
Este paquete permite a los clientes MCP realizar operaciones de Pulumi como recuperar información de paquetes, obtener una vista previa de los cambios, implementar actualizaciones y recuperar salidas de la pila mediante programación sin necesidad de tener la CLI de Pulumi instalada directamente en el entorno del cliente.
Uso
La CLI de Pulumi debe estar instalada en su máquina.
Este paquete está diseñado principalmente para integrarse en aplicaciones que pueden usar servidores MCP como herramientas de IA. Por ejemplo, así es como se puede incluir el servidor MCP de Pulumi en el archivo de configuración MCP del escritorio Claude:
Contenedor Docker
También puede ejecutar el servidor MCP de Pulumi como un contenedor Docker. Este enfoque elimina la necesidad de instalar Node.js y las dependencias de los paquetes directamente en su equipo host.
Construyendo el contenedor
Para construir el contenedor:
Uso con clientes MCP
Para usar el servidor contenedorizado con clientes MCP, deberá configurar el cliente para que use el contenedor Docker. Por ejemplo, en la configuración MCP del escritorio Claude:
Para las operaciones de Pulumi que requieren acceso a proyectos locales de Pulumi, deberá montar los directorios correspondientes. Por ejemplo, si su proyecto de Pulumi está en ~/projects/my-pulumi-app
:
Luego, cuando utilice las herramientas MCP, deberá hacer referencia al directorio del proyecto como /app/project
en sus solicitudes.
Comandos disponibles
El servidor expone controladores para las siguientes operaciones de Pulumi, que se pueden llamar mediante solicitudes MCP:
preview
: ejecutapulumi preview
en una pila específica.workDir
(cadena, obligatoria): el directorio de trabajo que contiene el archivo de proyectoPulumi.yaml
.stackName
(cadena, opcional): el nombre de la pila en la que operar (predeterminado a 'dev').
up
: ejecutapulumi up
para implementar cambios para una pila específica.workDir
(cadena, obligatoria): el directorio de trabajo que contiene el archivo de proyectoPulumi.yaml
.stackName
(cadena, opcional): el nombre de la pila en la que operar (predeterminado a 'dev').
stack-output
: recupera salidas de una pila especificada después de una implementación exitosa.workDir
(cadena, obligatoria): el directorio de trabajo que contiene el archivo de proyectoPulumi.yaml
.stackName
(cadena, opcional): el nombre de la pila desde la cual recuperar las salidas (el valor predeterminado es 'dev').outputName
(cadena, opcional): El nombre de la salida de la pila que se recuperará. Si se omite, se devuelven todas las salidas de la pila.
get-resource
: devuelve información sobre un recurso específico de Pulumi Registry, incluidas sus entradas y salidas.provider
(cadena, obligatoria): el proveedor de la nube (por ejemplo, 'aws', 'azure', 'gcp', 'random') ogithub.com/org/repo
para componentes alojados en Git.module
(cadena, opcional): el módulo a consultar (por ejemplo, 's3', 'ec2', 'lambda').resource
(cadena, obligatorio): el nombre del tipo de recurso (por ejemplo, 'Bucket', 'Función', 'Instancia').
list-resources
: enumera los recursos disponibles dentro de un paquete de proveedor Pulumi, opcionalmente filtrados por módulo.provider
(cadena, obligatoria): el proveedor de la nube (por ejemplo, 'aws', 'azure', 'gcp', 'random') ogithub.com/org/repo
para componentes alojados en Git.module
(cadena, opcional): el módulo por el cual filtrar (por ejemplo, 's3', 'ec2', 'lambda').
Desarrollo
- Clonar el repositorio.
- Instalar dependencias:
make ensure
- Construir el proyecto:
make build
- Probar el proyecto:
make test
Licencia
Este proyecto está licenciado bajo la licencia Apache-2.0. Consulte el archivo de licencia para más detalles.
Related MCP Servers
- Python
- Python
- JavaScriptMIT License
- PythonMIT License