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 .

You must be authenticated.

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

          • Amazon Web Services
            aws-mcp

            A
            security
            F
            license
            A
            quality
            A Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with your AWS environment. This allows for natural language querying and management of your AWS resources during conversations. Think of better Amazon Q alternative.
            Last updated -
            3
            264
            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 -
            239
            Rust
            MIT License
            • Apple
          • -
            security
            F
            license
            -
            quality
            A starter template for building Model Context Protocol (MCP) servers, enabling developers to create and add custom tools that can be integrated with Claude Desktop.
            Last updated -
            TypeScript
            • Apple
          • A
            security
            F
            license
            A
            quality
            A server built on mcp-framework that enables integration with Claude Desktop through the Model Context Protocol.
            Last updated -
            1
            1
            • 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