tigerdata-pulumi-mcp-server

TheSurfingCoder/tigerdata-pulumi-mcp-server

3.2

If you are the rightful owner of tigerdata-pulumi-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The TigerData Pulumi MCP Server provides a server interface for managing TigerData Cloud services using Pulumi automation.

Tools
4
Resources
0
Prompts
0

TigerData Pulumi MCP Server

Note: If you are using this MCP server via an MCP client (such as Cursor), you do not need to run or manage the server process manually. The client will handle all communication with the MCP server for you.

This project provides a server interface for managing TigerData Cloud services using Pulumi automation.

Quick Setup for MCP Clients (e.g., Cursor)

  1. In your main project's .env file, add:
    PULUMI_PROJECT_PATH=/absolute/path/to/your/project/infra
    
  2. Set the DOTENV_PATH environment variable in your shell profile:
    export DOTENV_PATH=/absolute/path/to/your/project/.env
    

    This ensures the MCP server can always find and use your project's .env file, no matter where the MCP server is installed or run. Setting it in your shell profile makes it available in every terminal session.

  3. Configure your MCP client (e.g., Cursor) as needed (e.g., with mcp.json).

That's it! You can now use all MCP features in your client, and the MCP server will automatically use your configuration.

MCP Configuration Setup

For Cursor IDE

Create or update your MCP configuration file at ~/.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"
      }
    }
  }
}

Example paths:

  • If your server is at: /Users/username/projects/tigerdata-pulumi-mcp-server/
  • And your Pulumi infra is at: /Users/username/projects/my-project/infra/
  • Your config would be:
{
  "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"
      }
    }
  }
}

For Other MCP Clients

Claude Desktop

Add to your 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's Inspector (Debugging Tool)

Add this to your MCP config for debugging:

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

Configuration Options

OptionDescriptionRequiredDefault
commandCommand to run the serverYesnode
argsArray of command argumentsYes["/path/to/dist/index.js"]
env.PULUMI_PROJECT_PATHPath to your Pulumi infrastructure directoryYesNone

After Configuration

  1. Restart your MCP client (Cursor, Claude Desktop, etc.)
  2. Verify connection - you should see the server connect successfully
  3. Test tools - try using one of the available TimescaleDB tools:
    • timescale_create_service
    • timescale_create_services
    • timescale_delete_service
    • timescale_list_services

Troubleshooting MCP Connection

  • "No tools or prompts" error: Ensure the server path in your config is correct
  • Server not found: Verify the dist/index.js file exists and the path is absolute
  • Permission denied: Make sure the server directory is readable
  • Environment variables: Confirm PULUMI_PROJECT_PATH is set correctly

Advanced: Running the MCP Server Manually

If you ever need to run the MCP server as a standalone process (for development or debugging):

  1. Install dependencies:
    cd /path/to/tigerdata-pulumi-mcp-server
    npm install
    
  2. Start the server:
    npm start
    

Initializing or Selecting a Pulumi Stack (from the terminal)

You can initialize or select your Pulumi stack directly from your infra directory:

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

Troubleshooting

  • Error: Invalid workDir passed to local workspace:
    • Make sure your .env file contains the correct PULUMI_PROJECT_PATH.
    • Make sure DOTENV_PATH is set to your .env file and is available in your shell (check with echo $DOTENV_PATH).
    • Restart your terminal after editing your shell profile.

Example .env.example

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

This setup allows you to use the MCP server with any project structure, making it flexible and user-friendly for all users.