项目简介
Pulumi MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器,旨在为大型语言模型(LLM)应用提供与 Pulumi 基础设施即代码平台集成的能力。它允许 LLM 客户端通过标准化的 MCP 协议,安全、可扩展地执行 Pulumi 命令,查询云资源信息,无需在客户端环境中直接安装 Pulumi CLI。
主要功能点
- Pulumi CLI 命令执行: 支持 LLM 客户端通过 MCP 调用 Pulumi CLI 的核心命令,如 'preview'(预览变更)、'up'(部署更新)、'stack-output'(获取堆栈输出)。
- Pulumi 资源信息查询: 允许 LLM 客户端查询 Pulumi Registry 中托管的云资源信息,包括资源的输入和输出属性,以及详细描述。
- 标准化 MCP 协议: 遵循 MCP 协议标准,易于集成到任何支持 MCP 协议的 LLM 客户端。
- Stdio 传输: 使用标准输入/输出 (stdio) 作为默认的传输协议,简化部署和集成。
安装步骤
- 前提条件: 确保已安装 Node.js 和 npm 包管理器。同时,您的机器上需要预先安装并配置好 Pulumi CLI,并完成 Pulumi 账号的登录和云 provider 的配置。
- 克隆仓库: 使用 Git 克隆 'mcp-server' 仓库到本地:
git clone https://github.com/pulumi/mcp-server.git - 进入目录: 导航到克隆下来的仓库目录:
cd mcp-server - 安装依赖: 使用 npm 安装项目依赖:
npm install - 构建项目: 构建 TypeScript 项目:
npm run build
服务器配置
要将 Pulumi MCP Server 集成到 MCP 客户端(例如 Claude desktop),您需要在客户端的 MCP 服务器配置中添加以下 JSON 配置。这告诉客户端如何启动和连接到 Pulumi MCP Server。
{ "mcpServers": { "pulumi": { "command": "npx", "args": ["@pulumi/mcp-server"] } } }
配置参数说明:
- 'server name': 'pulumi' (服务器名称,可以自定义,用于在客户端中标识该服务器)
- 'command': 'npx' (Node Package Execute 命令,用于执行 npm 包)
- 'args': '["@pulumi/mcp-server"]' (参数列表,'@pulumi/mcp-server' 将会执行项目根目录下的 'dist/index.js' 文件,即编译后的服务器入口文件。请确保在配置前已执行 'npm run build' 完成项目构建。)
基本使用方法
配置完成后,您的 MCP 客户端应该能够发现并连接到 Pulumi MCP Server。您可以通过客户端提供的界面或指令来调用 Pulumi MCP Server 提供的工具 (Tools)。
可用的工具包括(工具名以 'pulumi-cli-' 或 'pulumi-registry-' 开头):
- 'pulumi-cli-preview': 执行 'pulumi preview' 命令,预览基础设施变更。需要 'workDir' (Pulumi 项目工作目录) 和可选的 'stackName' (Pulumi 堆栈名称) 参数。
- 'pulumi-cli-up': 执行 'pulumi up' 命令,部署基础设施变更。需要 'workDir' 和可选的 'stackName' 参数。
- 'pulumi-cli-stack-output': 获取 Pulumi 堆栈的输出信息。需要 'workDir' 和可选的 'stackName' 及 'outputName' (指定的输出名称) 参数。
- 'pulumi-registry-getResource': 查询 Pulumi Registry 中特定资源的信息。需要 'provider' (云 provider 名称), 可选的 'module' (模块名) 和 'resource' (资源类型名) 参数。
- 'pulumi-registry-listResources': 列出 Pulumi Registry 中指定 provider 和模块下的可用资源。需要 'provider' 和可选的 'module' 参数。
具体工具的使用方法和参数,请参考客户端的文档或工具描述。
信息
分类
开发者工具