Skip to main content
Glama

terraform-cloud-mcp

Terraform Cloud MCP Server

Ein Model Context Protocol (MCP)-Server, der KI-Assistenten in die Terraform Cloud API integriert und Ihnen die Verwaltung Ihrer Infrastruktur durch natürliche Kommunikation ermöglicht. Dieser Server basiert auf Pydantic-Modellen und ist um domänenspezifische Module herum strukturiert. Er ist mit allen MCP-unterstützenden Plattformen kompatibel, darunter Claude, Claude Code CLI, Claude Desktop, Cursor, Copilot Studio und andere.

VersionPythonTypprüfungCodequalität


Merkmale

  • Kontoverwaltung : Erhalten Sie Kontodetails für authentifizierte Benutzer oder Dienstkonten.
  • Arbeitsbereichsverwaltung : Erstellen, Lesen, Aktualisieren, Löschen, Sperren/Entsperren von Arbeitsbereichen.
  • Projektmanagement : Erstellen, Auflisten, Aktualisieren und Löschen von Projekten; Verwalten von Projekt-Tag-Bindungen und Verschieben von Arbeitsbereichen zwischen Projekten.
  • Laufverwaltung : Läufe erstellen, Läufe auflisten, Laufdetails abrufen, Läufe anwenden/verwerfen/abbrechen.
  • Planverwaltung : Rufen Sie Plandetails und JSON-Ausführungsausgabe mit erweiterter HTTP-Umleitungsbehandlung ab.
  • Bewerbungsverwaltung : Erhalten Sie Bewerbungsdetails und stellen Sie die Wiederherstellung nach fehlgeschlagenen Status-Uploads sicher.
  • Organisationsverwaltung : Organisationen auflisten, erstellen, aktualisieren, löschen und Organisationsberechtigungen anzeigen.
  • Zukünftige Funktionen : Variablenverwaltung, Statusversionen und mehr.

Schnellstart

Voraussetzungen

  • Python 3.12+
  • MCP (beinhaltet FastMCP und Entwicklungstools)
  • uv Paketmanager (empfohlen) oder pip
  • Terraform Cloud-API-Token

Installation

# Clone the repository git clone https://github.com/severity1/terraform-cloud-mcp.git cd terraform-cloud-mcp # Create virtual environment and activate it uv venv source .venv/bin/activate # Install package uv pip install .

Hinzufügen zu Claude Environments

Hinzufügen zu Claude Code CLI
# Add to Claude Code with your Terraform Cloud token claude mcp add -e TFC_TOKEN=YOUR_TF_TOKEN -s user terraform-cloud-mcp -- "terraform-cloud-mcp"
Hinzufügen zu Claude Desktop

Erstellen Sie eine Konfigurationsdatei claude_desktop_config.json :

  • mac: ~/Library/Application Support/Claude/claude_desktop_config.json
  • gewinnen: %APPDATA%\Claude\claude_desktop_config.json
{ "mcpServers": { "terraform-cloud-mcp": { "command": "/path/to/uv", # Get this by running: `which uv` "args": [ "--directory", "/path/to/your/terraform-cloud-mcp", # Full path to this project "run", "terraform-cloud-mcp" ], "env": { "TFC_TOKEN": "my token..." # replace with actual token } } } }

Ersetzen Sie your_terraform_cloud_token durch Ihr tatsächliches Terraform Cloud API-Token.

Andere MCP-kompatible Plattformen

Für andere Plattformen (wie Cursor, Copilot Studio oder Glama) folgen Sie den plattformspezifischen Anweisungen zum Hinzufügen eines MCP-Servers. Die meisten Plattformen erfordern:

  1. Der Serverpfad oder Befehl zum Starten des Servers.
  2. Umgebungsvariablen für das Terraform Cloud API-Token.
  3. Konfiguration zum automatischen Starten des Servers bei Bedarf.

Verfügbare Tools

Konto-Tools

  • get_account_details() : Ruft Kontoinformationen für das authentifizierte Benutzer- oder Dienstkonto ab.

Tools zur Arbeitsbereichsverwaltung

Auflisten und Suchen
  • list_workspaces(organization, page_number, page_size, search) : Arbeitsbereiche auflisten und filtern.
  • get_workspace_details(workspace_id, organization, workspace_name) : Erhalten Sie detaillierte Informationen zu einem bestimmten Arbeitsbereich.
Erstellen und Aktualisieren
  • create_workspace(organization, name, params) : Erstellen Sie einen neuen Arbeitsbereich mit optionalen Parametern.
  • update_workspace(organization, workspace_name, params) : Aktualisieren Sie die Konfiguration eines vorhandenen Arbeitsbereichs.
Löschen
  • delete_workspace(organization, workspace_name) : Löscht einen Arbeitsbereich und seinen gesamten Inhalt.
  • safe_delete_workspace(organization, workspace_name) : Nur löschen, wenn der Arbeitsbereich keine Ressourcen verwaltet.
Sperren und Entsperren
  • lock_workspace(workspace_id, reason) : Sperren Sie einen Arbeitsbereich, um Ausführungen zu verhindern.
  • unlock_workspace(workspace_id) : Entsperren Sie einen Arbeitsbereich, um Ausführungen zu ermöglichen.
  • force_unlock_workspace(workspace_id) : Erzwingen Sie die Entsperrung eines von einem anderen Benutzer gesperrten Arbeitsbereichs.

Ausführen von Verwaltungstools

  • create_run(workspace_id, params) : Erstellen und stellen Sie einen Terraform-Lauf in einem Arbeitsbereich unter Verwendung seiner ID in die Warteschlange.
  • list_runs_in_workspace(workspace_id, ...) : Listet Läufe in einem bestimmten Arbeitsbereich anhand seiner ID auf und filtert sie.
  • list_runs_in_organization(organization, ...) : Listen- und Filterläufe für eine gesamte Organisation.
  • get_run_details(run_id) : Erhalten Sie detaillierte Informationen zu einem bestimmten Lauf.
  • apply_run(run_id, comment) : Wenden Sie einen Lauf an, der auf Bestätigung wartet.
  • discard_run(run_id, comment) : Verwerfen Sie einen Lauf, der auf eine Bestätigung wartet.
  • cancel_run(run_id, comment) : Bricht einen Lauf ab, der gerade geplant oder angewendet wird.
  • force_cancel_run(run_id, comment) : Erzwingt den sofortigen Abbruch eines Laufs.
  • force_execute_run(run_id) : Erzwingt die Ausführung eines ausstehenden Laufs durch Abbrechen vorheriger Läufe.

Planverwaltungstools

  • get_plan_details(plan_id) : Erhalten Sie detaillierte Informationen zu einem bestimmten Plan.
  • get_plan_json_output(plan_id) : Ruft den JSON-Ausführungsplan für einen bestimmten Plan mit entsprechender Umleitungsbehandlung ab.
  • get_run_plan_json_output(run_id) : Ruft den JSON-Ausführungsplan aus einem Lauf mit entsprechender Umleitungsbehandlung ab.

Verwaltungstools anwenden

  • get_apply_details(apply_id) : Erhalten Sie detaillierte Informationen zu einer bestimmten Bewerbung.
  • get_errored_state(apply_id) : Ruft den Fehlerstatus einer fehlgeschlagenen Anwendung zur Wiederherstellung ab.

Projektmanagement-Tools

  • create_project(organization, name, params) : Erstellen Sie ein neues Projekt mit optionalen Parametern.
  • update_project(project_id, params) : Aktualisieren Sie die Konfiguration eines vorhandenen Projekts.
  • list_projects(organization, ...) : Projekte in einer Organisation auflisten und filtern.
  • get_project_details(project_id) : Erhalten Sie detaillierte Informationen zu einem bestimmten Projekt.
  • delete_project(project_id) : Löscht ein Projekt (schlägt fehl, wenn es Arbeitsbereiche enthält).
  • list_project_tag_bindings(project_id) : Listet an ein Projekt gebundene Tags auf.
  • add_update_project_tag_bindings(project_id, tag_bindings) : Tag-Bindungen für ein Projekt hinzufügen oder aktualisieren.
  • move_workspaces_to_project(project_id, workspace_ids) : Verschiebt Arbeitsbereiche in ein Projekt.

Tools zur Organisationsverwaltung

  • get_organization_details(organization) : Erhalten Sie detaillierte Informationen zu einer bestimmten Organisation.
  • get_organization_entitlements(organization) : Zeigt den Berechtigungssatz für Organisationsfunktionen an.
  • list_organizations(page_number, page_size, query, query_email, query_name) : Organisationen auflisten und filtern.
  • create_organization(name, email, params) : Erstellen Sie eine neue Organisation mit optionalen Parametern.
  • update_organization(organization, params) : Aktualisieren Sie die Einstellungen einer vorhandenen Organisation.
  • delete_organization(organization) : Löscht eine Organisation und ihren gesamten Inhalt.

Entwicklungshandbuch

Ausführliche Entwicklungsanleitungen, einschließlich Codestandards, Pydantic-Mustern und Beitrags-Workflows, finden Sie in unserer Entwicklungsdokumentation .

Schnelles Entwicklungs-Setup

# Clone the repository git clone https://github.com/severity1/terraform-cloud-mcp.git cd terraform-cloud-mcp # Create virtual environment and activate it uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate # Install in development mode with development dependencies uv pip install -e . uv pip install black mypy pydantic ruff

Grundlegende Entwicklungsbefehle

# Run the server in development mode mcp dev terraform_cloud_mcp/server.py # Run tests and quality checks uv run -m mypy . uv run -m ruff check . uv run -m black .

Ausführliche Informationen zur Codeorganisation, Architektur, Entwicklungsabläufen und Richtlinien zur Codequalität finden Sie unter docs/DEVELOPMENT.md .


Dokumentation

Die Codebasis enthält eine umfassende Dokumentation:

  • Code-Kommentare : Konzentrieren sich auf die Erklärung des „Warum“ hinter Implementierungsentscheidungen
  • Docstrings : Alle öffentlichen Funktionen und Klassen enthalten detaillierte Docstrings
  • Beispieldateien : Das Verzeichnis docs/ enthält ausführliche Beispiele für jede Domäne:
    • docs/DEVELOPMENT.md : Entwicklungsstandards und Codierungsrichtlinien
    • docs/CONTRIBUTING.md : Richtlinien für Beiträge zum Projekt
    • docs/models/ : Anwendungsbeispiele für alle Modelltypen
    • docs/tools/ : Detaillierte Anwendungsbeispiele für jedes Tool
    • docs/conversations/ : Beispiel-Konversationsabläufe mit der API

Fehlerbehebung

  1. Überprüfen Sie die Serverprotokolle (Debug-Protokollierung ist standardmäßig aktiviert)
  2. Verwenden Sie den MCP Inspector ( http://localhost:5173 ) zum Debuggen
  3. Die Debug-Protokollierung ist in server.py bereits aktiviert:
    import logging logging.basicConfig(level=logging.DEBUG)

Beitragen

Beiträge sind willkommen! Bitte erstellen Sie ein Issue oder einen Pull Request, wenn Sie zu diesem Projekt beitragen möchten.

Detaillierte Anweisungen zum Einstieg, zu Codequalitätsstandards und zum Pull-Request-Prozess finden Sie in unserem Beitragsleitfaden .

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Ein Model Context Protocol (MCP)-Server, der Claude in die Terraform Cloud API integriert, sodass Claude Ihre Terraform-Infrastruktur durch natürliche Konversation verwalten kann.

  1. Merkmale
    1. Schnellstart
      1. Voraussetzungen
      2. Installation
      3. Hinzufügen zu Claude Environments
    2. Verfügbare Tools
      1. Konto-Tools
      2. Tools zur Arbeitsbereichsverwaltung
      3. Ausführen von Verwaltungstools
      4. Planverwaltungstools
      5. Verwaltungstools anwenden
      6. Projektmanagement-Tools
      7. Tools zur Organisationsverwaltung
    3. Entwicklungshandbuch
      1. Schnelles Entwicklungs-Setup
      2. Grundlegende Entwicklungsbefehle
    4. Dokumentation
      1. Fehlerbehebung
        1. Beitragen

          Related MCP Servers

          • -
            security
            F
            license
            -
            quality
            A Model Context Protocol server built with mcp-framework that allows users to create and manage custom tools for processing data, integrating with the Claude Desktop via CLI.
            Last updated -
            48
            4
            TypeScript
            • Apple
          • -
            security
            A
            license
            -
            quality
            🌍 Terraform Model Context Protocol (MCP) Tool - An experimental CLI tool that enables AI assistants to manage and operate Terraform environments. Supports reading Terraform configurations, analyzing plans, applying configurations, and managing state with Claude Desktop integration. ⚡️
            Last updated -
            303
            Rust
            MIT License
            • Apple
          • A
            security
            F
            license
            A
            quality
            A Model Context Protocol (MCP) server that integrates with OmniFocus to enable Claude (or other MCP-compatible AI assistants) to interact with your tasks and projects.
            Last updated -
            7
            25
            15
            TypeScript
          • A
            security
            F
            license
            A
            quality
            A Model Context Protocol (MCP) server that allows Claude AI to interact with custom tools, enabling extension of Claude's capabilities through the MCP framework.
            Last updated -
            TypeScript
            • Apple

          View all related MCP servers

          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/severity1/terraform-cloud-mcp'

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