Skip to main content
Glama
Terraform Cloud MCP Server

Terraform Cloud MCP Server

by matchs

Terraform Cloud MCP Server

Model Context Protocol server providing Terraform Cloud API integration as tools for AI assistants.

Features

This MCP server exposes four main tools for interacting with Terraform Cloud:

  • get_run_status: Get current run status and recent runs for a workspace

  • list_workspaces: List all workspaces in an organization

  • get_workspace_details: Get detailed information about a specific workspace

  • get_run_details: Get detailed information about a specific run by its ID

Related MCP server: Terraform MCP Server

Installation

npm install
npm run build

Configuration

The server reads your Terraform Cloud token from ~/.terraform.d/credentials.tfrc.json. Make sure this file exists with the following format:

{
  "credentials": {
    "app.terraform.io": {
      "token": "your-terraform-cloud-token"
    }
  }
}

Usage

With Claude Desktop

Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "terraform-cloud": {
      "command": "node",
      "args": ["/absolute/path/to/tf-cloud-mcp-server/build/index.js"]
    }
  }
}

With MCP Inspector

Test your server with the MCP Inspector:

npx @modelcontextprotocol/inspector node build/index.js

With VS Code

Create a .vscode/mcp.json file in your project:

{
  "servers": {
    "terraform-cloud": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/tf-cloud-mcp-server/build/index.js"]
    }
  }
}

Available Tools

get_run_status

Get the current run status for a Terraform Cloud workspace.

Parameters:

  • workspaceName (string, required): Name of the workspace

  • organization (string, optional): Organization name (default: "urbanmedia")

Example:

Get the run status for workspace "capivara-dpa-importer"

list_workspaces

List all workspaces in a Terraform Cloud organization.

Parameters:

  • organization (string, optional): Organization name (default: "urbanmedia")

Example:

List all workspaces in urbanmedia organization

get_workspace_details

Get detailed information about a specific workspace.

Parameters:

  • workspaceName (string, required): Name of the workspace

  • organization (string, optional): Organization name (default: "urbanmedia")

Example:

Get details for workspace "capivara-dpa-importer"

get_run_details

Get detailed information about a specific Terraform Cloud run by its ID.

Parameters:

  • runId (string, required): Run ID (e.g., "run-abc123")

Example:

Get details for run "run-abc123"

Development

Project Structure

tf-cloud-mcp-server/
├── src/
│   └── index.ts          # Main server implementation
├── build/                 # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
└── README.md

Running in Development

npm run dev  # Watch mode for TypeScript compilation

Building

npm run build

License

MIT

Available Tools

4 tools
get_run_detailsGet Run DetailsB

Get detailed information about a specific Terraform Cloud run by its ID

Inputs: runId (required). Returns: id, source, status, message, +7 more

get_run_statusGet Run StatusB

Get the current run status for a Terraform Cloud workspace

Inputs: workspaceName (required), organization. Returns: recentRuns, workspaceId, currentRunId, workspaceName, +1 more

get_workspace_detailsGet Workspace DetailsB

Get detailed information about a Terraform Cloud workspace

Inputs: workspaceName (required), organization. Returns: id, name, locked, vcsRepo, +4 more

list_workspacesList WorkspacesB

List all workspaces in a Terraform Cloud organization

Inputs: organization. Returns: workspaces

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 4 tools

    Disambiguation4/5

    The tools are mostly distinct, with clear separation between workspace operations (list_workspaces, get_workspace_details) and run operations (get_run_details, get_run_status). However, get_run_details and get_run_status could potentially be confused since both relate to run information, though their descriptions differentiate them as 'detailed information' versus 'current status'.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern with snake_case (e.g., get_run_details, list_workspaces). The verbs 'get' and 'list' are used appropriately and predictably throughout the set.

    Tool Count3/5

    With only 4 tools, the server feels thin for managing Terraform Cloud resources. While it covers basic read operations, the scope suggests more comprehensive management (e.g., create/update/delete operations) would be expected, making the count borderline for the domain.

    Completeness2/5

    The toolset is severely incomplete for Terraform Cloud management. It only provides read operations (get and list) with no ability to create, update, or delete workspaces, runs, or other resources. This will cause significant agent failures when attempting full lifecycle management.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers