Pulumi自动化服务接口

TigerData Pulumi MCP Server是一个通过Pulumi自动化管理TigerData云服务的服务器接口,适用于需要自动化基础设施管理的开发场景。

  • by TheSurfingCoder
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 thesurfingcoder/tigerdata-pulumi-mcp-server

使用说明

TigerData Pulumi MCP服务器

注: 如果您通过MCP客户端(如Cursor)使用此MCP服务器,您可以 不 需要手动运行或管理服务器进程。客户端将为您处理与MCP服务器的所有通信。

该项目提供了一个服务器接口,用于使用Pulumi自动化管理TigerData Cloud服务。

MCP客户端的快速设置(例如,游标)

  1. 在您的主要项目中 .env 文件,添加:
    PULUMI_PROJECT_PATH=/absolute/path/to/your/project/infra
    
  2. 设置 DOTENV_PATH shell配置文件中的环境变量:
    export DOTENV_PATH=/absolute/path/to/your/project/.env
    

    这确保了MCP服务器始终可以找到并使用您的项目的 .env 无论MCP服务器安装或运行在何处。在shell配置文件中设置它,使其在每个终端会话中都可用。

  3. 根据需要配置您的MCP客户端(例如Cursor)(例如 mcp.json).

就是这样!现在,您可以在客户端中使用所有MCP功能,MCP服务器将自动使用您的配置。

MCP配置设置

用于游标IDE

在以下位置创建或更新MCP配置文件 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "tigerdata-pulumi": {
      "command": "node",
      "args": [
        "/absolute/path/to/tigerdata-pulumi-mcp-server/dist/index.js"
      ],
      "env": {
        "PULUMI_PROJECT_PATH": "/absolute/path/to/your/project/infra"
      }
    }
  }
}

示例路径:

  • 如果您的服务器位于: /Users/username/projects/tigerdata-pulumi-mcp-server/
  • 您的Pulumi基础设施位于: /Users/username/projects/my-project/infra/
  • 您的配置将是:
{
  "mcpServers": {
    "tigerdata-pulumi": {
      "command": "node",
      "args": [
        "/Users/username/projects/tigerdata-pulumi-mcp-server/dist/index.js"
      ],
      "env": {
        "PULUMI_PROJECT_PATH": "/Users/username/projects/my-project/infra"
      }
    }
  }
}

对于其他MCP客户端

克劳德桌面

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "tigerdata-pulumi": {
      "command": "node",
      "args": ["/path/to/tigerdata-pulumi-mcp-server/dist/index.js"],
      "env": {
        "PULUMI_PROJECT_PATH": "/path/to/your/project/infra"
      }
    }
  }
}

Anthropic的检查器(调试工具)

将此添加到MCP配置中进行调试:

{
  "mcpServers": {
    "inspector": {
      "command": "npx",
      "args": ["--yes", "@anthropic-ai/inspector"]
    }
  }
}

配置选项

选项 说明 必填 默认
command 运行服务器的命令 是 node
args 命令参数数组 是 ["/path/to/dist/index.js"]
env.PULUMI_PROJECT_PATH Pulumi基础设施目录的路径 是 无

配置后

  1. 重新启动MCP客户端 (光标、克劳德桌面等)
  2. 验证连接 -您应该看到服务器连接成功
  3. 测试工具 -尝试使用可用的TimescaleDB工具之一:
    • timescale_create_service
    • timescale_create_services
    • timescale_delete_service
    • timescale_list_services

MCP连接故障排除

  • “无工具或提示”错误:确保配置中的服务器路径正确
  • 找不到服务器:验证 dist/index.js 文件存在,路径为绝对路径
  • 权限不足:确保服务器目录可读
  • 环境变量:确认 PULUMI_PROJECT_PATH 设置正确

高级:手动运行MCP服务器

如果您需要将MCP服务器作为独立进程运行(用于开发或调试):

  1. 安装依赖项:
    cd /path/to/tigerdata-pulumi-mcp-server
    npm install
    
  2. 启动服务器:
    npm start
    

初始化或选择Pulumi堆栈(从终端)

您可以直接从infra目录初始化或选择Pulumi堆栈:

cd /absolute/path/to/your/project/infra
pulumi stack init dev   # (or pulumi stack select dev if it already exists)
pulumi up

故障排除

  • 错误:传递给本地工作区的workDir无效:
    • 确保你的 .env 文件包含正确的 PULUMI_PROJECT_PATH.
    • 确保 DOTENV_PATH 已设置为您的 .env 文件,并在您的shell中可用(请与 echo $DOTENV_PATH).
    • 编辑shell配置文件后重新启动终端。

示例 .env.example

# Path to your Pulumi infra directory
# PULUMI_PROJECT_PATH=/absolute/path/to/your/project/infra

此设置允许您将MCP服务器用于任何项目结构,使其对所有用户都灵活且用户友好。