使用说明

项目简介

Pulumi MCP 服务器是一个使用 Model Context Protocol (MCP) 构建的后端服务,旨在为大型语言模型 (LLM) 提供与 Pulumi 基础设施交互的能力。通过此服务器,LLM 可以获取 Pulumi 组织和 Stack 的信息,并能调用工具创建新的 Pulumi Stack。

主要功能点

  • 资源管理: 将 Pulumi Stacks 作为资源暴露给 LLM 客户端,客户端可以读取指定 Pulumi 组织下的 Stacks 列表。
  • 工具执行: 提供 'create-stack' 工具,允许 LLM 客户端在指定的 Pulumi 组织和项目中创建新的 Stack。
  • 标准 MCP 协议: 遵循 MCP 协议标准,使用 JSON-RPC 通信,并支持 Stdio 传输协议。

安装步骤

  1. 克隆仓库

    git clone https://github.com/dogukanakkaya/pulumi-mcp-server.git
    cd pulumi-mcp-server
  2. 安装依赖 确保已安装 Node.js 和 npm,然后运行:

    npm install
  3. 配置环境变量 在项目根目录下创建 '.env' 文件,并添加 Pulumi 访问令牌。您需要从您的 Pulumi 账户获取访问令牌。

    PULUMI_ACCESS_TOKEN=YOUR_PULUMI_ACCESS_TOKEN

    请替换 'YOUR_PULUMI_ACCESS_TOKEN' 为您的 Pulumi 访问令牌。

  4. 构建项目 运行以下命令编译 TypeScript 代码到 'dist' 目录:

    npm run build

服务器配置

以下 JSON 配置信息用于 MCP 客户端连接 Pulumi MCP 服务器。客户端需要配置 'command' 和 'args' 以启动服务器。

{
  "serverName": "Pulumi MCP Server",
  "command": "node",
  "args": ["dist/index.js"]
}
  • 'serverName': MCP 服务器的名称,可以自定义。
  • 'command': 启动服务器的命令,这里使用 'node' 运行 JavaScript 代码。
  • 'args': 命令参数,'dist/index.js' 是编译后的服务器入口文件路径。

基本使用方法

  1. 启动服务器 在项目根目录下,运行以下命令启动服务器:

    npm run start

    或者直接使用 Node.js 运行编译后的文件:

    node dist/index.js

    服务器将通过 Stdio 等待 MCP 客户端的连接和请求。

  2. 配置 MCP 客户端 在您的 MCP 客户端应用中,配置服务器连接信息,使用上面提供的 JSON 配置。确保客户端能够通过 Stdio 与服务器进行通信。

  3. 使用客户端与 Pulumi 交互 客户端连接成功后,即可向 Pulumi MCP 服务器发送 MCP 请求,例如:

    • 列出 Pulumi Stacks 资源: 客户端可以请求读取 'pulumi://<organization>' 格式的资源 URI,服务器将返回指定 Pulumi 组织下的 Stacks 列表。
    • 调用 'create-stack' 工具: 客户端可以调用 'create-stack' 工具,并提供 'organization', 'project', 'stackName' 等参数,以在 Pulumi 中创建新的 Stack。

请参考 Model Context Protocol (MCP) 协议文档和您的 MCP 客户端的具体使用方法,进行更详细的操作和功能探索。

信息

分类

开发者工具