Skip to main content
Glama

Terraform Cloud MCP Server

by matchs
README.md3.11 kB
# 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 ## Installation ```bash 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: ```json { "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): ```json { "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: ```bash npx @modelcontextprotocol/inspector node build/index.js ``` ### With VS Code Create a `.vscode/mcp.json` file in your project: ```json { "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 ```bash npm run dev # Watch mode for TypeScript compilation ``` ### Building ```bash npm run build ``` ## License MIT

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/matchs/tf-cloud-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server