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.
Pulumi MCP 服务器
**注意:**此 MCP 服务器目前正在积极开发中。其 API(包括可用命令及其参数)尚处于实验阶段,可能会引入重大变更,恕不另行通知。如果您遇到错误或需要其他 Pulumi 命令的支持,请在GitHub上提交问题。
实现模型上下文协议(MCP) 的服务器,用于使用 Pulumi 自动化 API 和 Pulumi 云 API 与 Pulumi CLI 进行交互。
该软件包允许 MCP 客户端执行 Pulumi 操作,例如检索包信息、预览更改、部署更新和以编程方式检索堆栈输出,而无需在客户端环境中直接安装 Pulumi CLI。
用法
您的机器上必须安装 Pulumi CLI。
此软件包主要用于集成到可以使用 MCP 服务器作为 AI 工具的应用程序中。例如,以下是如何将 Pulumi MCP 服务器添加到 Claude 桌面的 MCP 配置文件中:
Docker容器
您还可以将 Pulumi MCP 服务器作为 Docker 容器运行。这种方法无需直接在主机上安装 Node.js 及其依赖包。
构建容器
构建容器:
与 MCP 客户端一起使用
要将容器化服务器与 MCP 客户端一起使用,您需要将客户端配置为使用 Docker 容器。例如,在 Claude 桌面的 MCP 配置中:
对于需要访问本地 Pulumi 项目的 Pulumi 操作,您需要挂载相应的目录。例如,如果您的 Pulumi 项目位于~/projects/my-pulumi-app
中:
然后,当使用 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 Registry 资源的信息,包括其输入和输出。provider
(字符串,必需):Git 托管组件的云提供商(例如“aws”、“azure”、“gcp”、“random”)或github.com/org/repo
。module
(字符串,可选):要查询的模块(例如,“s3”,“ec2”,“lambda”)。resource
(字符串,必需):资源类型名称(例如,“Bucket”,“Function”,“Instance”)。
list-resources
:列出 Pulumi 提供程序包中的可用资源,可选择按模块进行过滤。provider
(字符串,必需):Git 托管组件的云提供商(例如“aws”、“azure”、“gcp”、“random”)或github.com/org/repo
。module
(字符串,可选):要过滤的模块(例如,“s3”,“ec2”,“lambda”)。
发展
- 克隆存储库。
- 安装依赖项:
make ensure
- 构建项目:
make build
- 测试项目:
make test
执照
本项目遵循 Apache-2.0 许可证。详情请参阅许可证文件。
Related MCP Servers
- Python
- Python
- JavaScriptMIT License
- PythonMIT License