Skip to main content
Glama
thrashr888

Terraform Registry MCP Server

by thrashr888

Terraform Registry MCP-Server

Ein Model Context Protocol (MCP)-Server, der Tools für die Interaktion mit der Terraform Registry API bereitstellt. Dieser Server ermöglicht KI-Agenten die Abfrage von Anbieterinformationen, Ressourcendetails und Modulmetadaten.

[!WICHTIG] Dieses Projekt diente als PoC für einen neuen offiziellen Terraform MCP-Server . Dieses Repo wurde zugunsten jenes archiviert.

Installation

Installieren im Cursor

So installieren und verwenden Sie diesen MCP-Server in Cursor :

  1. Öffnen Sie in Cursor die Einstellungen (⌘+,) und navigieren Sie zur Registerkarte „MCP“.

  2. Klicken Sie auf „+ Neuen MCP-Server hinzufügen“.

  3. Geben Sie Folgendes ein:

    • Name: Terraform-Registry

    • Typ: Befehl

    • Befehl: npx -y terraform-mcp-server

  4. Klicken Sie auf „Hinzufügen“, scrollen Sie dann zum Server und klicken Sie auf „Deaktiviert“, um den Server zu aktivieren.

  5. Starten Sie Cursor bei Bedarf neu, um sicherzustellen, dass der MCP-Server ordnungsgemäß geladen wird.

terraform-registry MCP-Einstellungen für Cursor

Installation in Claude Desktop

So installieren und verwenden Sie diesen MCP-Server in Claude Desktop:

  1. Öffnen Sie in Claude Desktop die Einstellungen (⌘+,) und navigieren Sie zur Registerkarte „Entwickler“.

  2. Klicken Sie unten im Fenster auf „Konfiguration bearbeiten“.

  3. Bearbeiten Sie die Datei ( ~/Library/Application Support/Claude/claude_desktop_config.json ), um den folgenden Code hinzuzufügen, und speichern Sie dann die Datei.

{ "mcpServers": { "terraform-registry": { "command": "npx", "args": ["-y", "terraform-mcp-server"] } } }
  1. Starten Sie Claude Desktop neu, um sicherzustellen, dass der MCP-Server ordnungsgemäß geladen wird.

Related MCP server: tfmcp

Werkzeuge

Die folgenden Tools sind auf diesem MCP-Server verfügbar:

Grundlegende Registrierungstools

Werkzeug

Beschreibung

providerDetails

Ruft detaillierte Informationen zu einem Terraform-Anbieter ab

resourceUsage

Ruft ein Beispiel für die Verwendung einer Terraform-Ressource und verwandter Ressourcen ab

moduleSearch

Sucht und empfiehlt Terraform-Module basierend auf einer Abfrage

listDataSources

Listet alle verfügbaren Datenquellen für einen Anbieter und deren grundlegende Details auf

resourceArgumentDetails

Holt umfassende Details zu den Argumenten eines Ressourcentyps

moduleDetails

Ruft detaillierte Metadaten für ein Terraform-Modul ab

functionDetails

Ruft Details zu einer Terraform-Providerfunktion ab.

providerGuides

Listet anbieterspezifische Anleitungen und Dokumentationen auf und zeigt sie an

policySearch

Sucht nach Richtlinienbibliotheken im Terraform-Register

policyDetails

Ruft detaillierte Informationen zu einer bestimmten Richtlinienbibliothek ab

Terraform Cloud Tools

Diese Tools erfordern ein Terraform Cloud API-Token ( TFC_TOKEN ):

Werkzeug

Beschreibung

listOrganizations

Listet alle Organisationen auf, auf die der authentifizierte Benutzer Zugriff hat

privateModuleSearch

Sucht nach privaten Modulen in einer Organisation

privateModuleDetails

Ruft detaillierte Informationen zu einem privaten Modul ab

explorerQuery

Fragt die Terraform Cloud Explorer-API ab, um Daten zu analysieren

listWorkspaces

Listet Arbeitsbereiche in einer Organisation auf

workspaceDetails

Ruft detaillierte Informationen zu einem bestimmten Arbeitsbereich ab

lockWorkspace

Sperrt einen Arbeitsbereich, um Läufe zu verhindern

unlockWorkspace

Gibt einen Arbeitsbereich frei, um Ausführungen zu ermöglichen

listRuns

Listet Läufe für einen Arbeitsbereich auf

runDetails

Ruft detaillierte Informationen zu einem bestimmten Lauf ab

createRun

Erstellt einen neuen Lauf für einen Arbeitsbereich

applyRun

Wendet einen geplanten Lauf an

cancelRun

Bricht einen laufenden Lauf ab

listWorkspaceResources

Listet Ressourcen in einem Arbeitsbereich auf

Ressourcen

Der MCP-Server unterstützt die folgenden Ressourcen-URIs zum Auflisten und Lesen über die resources/* Methoden:

Ressourcentyp

Beispiel-URI(s)

Beschreibung

Anbieter

terraform:providers

Alle Namespaces/Anbieter auflisten

terraform:provider:<namespace>/<name>

Details zu einem bestimmten Anbieter abrufen

Anbieterversionen

terraform:provider:<namespace>/<name>/versions

Auflisten der verfügbaren Versionen für einen Anbieter

Anbieterressourcen

terraform:provider:<namespace>/<name>/resources

Auflisten von Ressourcen für einen Anbieter

terraform:resource:<namespace>/<name>/<resource_name>

Abrufen von Details zu einem bestimmten Ressourcentyp

Anbieterdatenquellen

terraform:provider:<namespace>/<name>/dataSources

Auflisten von Datenquellen für einen Anbieter

terraform:dataSource:<namespace>/<name>/<data_source_name>

Abrufen von Details zu einer bestimmten Datenquelle

Anbieterfunktionen

terraform:provider:<namespace>/<name>/functions

Auflisten von Funktionen für einen Anbieter

terraform:function:<namespace>/<name>/<function_name>

Details zu einer bestimmten Funktion abrufen

Der Server unterstützt auch resources/templates/list um Vorlagen zum Erstellen bereitzustellen:

  • terraform:provider

  • terraform:resource

  • terraform:dataSource

Eingabeaufforderungen

Zum Generieren kontextbezogener Antworten stehen die folgenden Eingabeaufforderungen zur Verfügung:

Prompt

Beschreibung

Erforderliche Argumente

migrate-clouds

Generieren Sie Terraform-Code, um die Infrastruktur zwischen Cloud-Anbietern zu migrieren

sourceCloud

,

targetCloud

,

terraformCode

generate-resource-skeleton

Hilft Benutzern, neue Terraform-Ressourcen schnell mit Best Practices zu erstellen

resourceType

optimize-terraform-module

Bietet umsetzbare Empfehlungen zur Verbesserung des Terraform-Codes

terraformCode

migrate-provider-version

Hilft bei Versionsupgrades und wichtigen Änderungen des Anbieters

providerName

,

currentVersion

,

targetVersion

,

terraformCode

(optional)

analyze-workspace-runs

Analysiert aktuelle Ausführungsfehler und bietet Anleitungen zur Fehlerbehebung für Terraform Cloud-Arbeitsbereiche

workspaceId

,

runsToAnalyze

(optional, Standard: 5)

Bekannte Probleme mit Eingabeaufforderungen

Hinweis : Es gibt ein bekanntes Problem mit der getPrompt -Funktion, das Serverabstürze verursachen kann. Der Server registriert Eingabeaufforderungen ordnungsgemäß und kann sie auflisten, direkte Anfragen mit der getPrompt Methode können jedoch zu Verbindungsproblemen führen. Dies wird untersucht und könnte mit der SDK-Kompatibilität oder Implementierungsdetails zusammenhängen. Bis zur Lösung verwenden Sie listPrompts , um verfügbare Eingabeaufforderungen anzuzeigen, vermeiden Sie jedoch direkte getPrompt Aufrufe.

Ausführen des Servers

Der Server wird unter Verwendung des Standardtransports für die MCP-Kommunikation ausgeführt:

npm install npm start

Konfiguration mit Umgebungsvariablen

Der Server kann mithilfe von Umgebungsvariablen konfiguriert werden:

Umgebungsvariable

Beschreibung

Standardwert

TERRAFORM_REGISTRY_URL

Basis-URL für die Terraform Registry-API

https://registry.terraform.io

DEFAULT_PROVIDER_NAMESPACE

Standardnamespace für Anbieter

hashicorp

LOG_LEVEL

Protokollierungsebene (Fehler, Warnung, Info, Debug)

Info

REQUEST_TIMEOUT_MS

Timeout für API-Anfragen in Millisekunden

10000

RATE_LIMIT_ENABLED

Aktivieren Sie die Ratenbegrenzung für API-Anfragen

FALSCH

RATE_LIMIT_REQUESTS

Anzahl der im Zeitfenster zulässigen Anforderungen

60

RATE_LIMIT_WINDOW_MS

Zeitfenster für die Ratenbegrenzung in Millisekunden

60000

TFC_TOKEN

Terraform Cloud API-Token für den Zugriff auf das private Register (optional)

Beispielverwendung mit Umgebungsvariablen:

# Set environment variables export LOG_LEVEL="debug" export REQUEST_TIMEOUT_MS="15000" export TFC_TOKEN="your-terraform-cloud-token" # Run the server npm start

Testen

Informationen zum Testen dieses Projekts finden Sie in der Datei TESTS.md .

One-click Deploy
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

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/thrashr888/terraform-mcp-server'

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