Enables access to HashiCorp's Terraform Registry, allowing lookup of HashiCorp-provided providers and modules, with detailed information on their configuration, requirements, and usage examples.
Provides tools for interacting with the Terraform Registry API, enabling querying of provider information, resource details, module metadata, and recommendations. Supports looking up providers, retrieving resource usage examples, finding modules, listing data sources, and fetching comprehensive resource argument details.
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 :
- Öffnen Sie in Cursor die Einstellungen (⌘+,) und navigieren Sie zur Registerkarte „MCP“.
- Klicken Sie auf „+ Neuen MCP-Server hinzufügen“.
- Geben Sie Folgendes ein:
- Name: Terraform-Registry
- Typ: Befehl
- Befehl: npx -y terraform-mcp-server
- Klicken Sie auf „Hinzufügen“, scrollen Sie dann zum Server und klicken Sie auf „Deaktiviert“, um den Server zu aktivieren.
- Starten Sie Cursor bei Bedarf neu, um sicherzustellen, dass der MCP-Server ordnungsgemäß geladen wird.
Installation in Claude Desktop
So installieren und verwenden Sie diesen MCP-Server in Claude Desktop:
- Öffnen Sie in Claude Desktop die Einstellungen (⌘+,) und navigieren Sie zur Registerkarte „Entwickler“.
- Klicken Sie unten im Fenster auf „Konfiguration bearbeiten“.
- Bearbeiten Sie die Datei (
~/Library/Application Support/Claude/claude_desktop_config.json
), um den folgenden Code hinzuzufügen, und speichern Sie dann die Datei.
- Starten Sie Claude Desktop neu, um sicherzustellen, dass der MCP-Server ordnungsgemäß geladen wird.
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:
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:
Testen
Informationen zum Testen dieses Projekts finden Sie in der Datei TESTS.md .
You must be authenticated.
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.
Tools
Verbindet KI-Modelle über MCP mit dem Terraform-Register und ermöglicht so Anbietersuchen, Beispiele zur Ressourcennutzung und Modul-Empfehlungen für optimierte Terraform-Workflows.
Related Resources
Related MCP Servers
- AsecurityAlicenseAqualityEnhances Claude AI with persistent memory storage for Infrastructure-as-Code components, supporting version tracking and relationship mapping for Terraform and Ansible resources.Last updated -234PythonMIT License
- -securityAlicense-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 -239RustMIT License
- AsecurityAlicenseAqualityA Model Context Protocol (MCP) server that integrates Claude with the Terraform Cloud API, allowing Claude to manage your Terraform infrastructure through natural conversation.Last updated -2510PythonMIT License
- -securityAlicense-qualityA lightweight service that enables AI assistants to execute AWS CLI commands through the Model Context Protocol (MCP), allowing AI tools to retrieve AWS documentation and interact with AWS services.Last updated -57PythonMIT License