Integrations
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.
Servidor MCP del Registro Terraform
Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona herramientas para interactuar con la API del Registro de Terraform. Este servidor permite a los agentes de IA consultar información de proveedores, detalles de recursos y metadatos de módulos.
Instalación
Instalación en Cursor
Para instalar y utilizar este servidor MCP en Cursor :
- En Cursor, abra Configuración (⌘+,) y navegue hasta la pestaña "MCP".
- Haga clic en "+ Agregar nuevo servidor MCP".
- Introduzca lo siguiente:
- Nombre: terraform-registry
- Tipo: comando
- Comando: npx -y terraform-mcp-server
- Haga clic en "Agregar", luego desplácese hasta el servidor y haga clic en "Deshabilitado" para habilitar el servidor.
- Reinicie el cursor, si es necesario, para garantizar que el servidor MCP esté cargado correctamente.
Instalación en Claude Desktop
Para instalar y utilizar este servidor MCP en Claude Desktop:
- En Claude Desktop, abra Configuración (⌘+,) y navegue hasta la pestaña "Desarrollador".
- Haga clic en "Editar configuración" en la parte inferior de la ventana.
- Edite el archivo (
~/Library/Application Support/Claude/claude_desktop_config.json
) para agregar el siguiente código, luego guarde el archivo.
- Reinicie Claude Desktop para asegurarse de que el servidor MCP esté cargado correctamente.
Herramientas
Las siguientes herramientas están disponibles en este servidor MCP:
Herramientas básicas del registro
Herramienta | Descripción |
---|---|
providerDetails | Obtiene información detallada sobre un proveedor de Terraform |
resourceUsage | Obtiene un ejemplo de uso de un recurso de Terraform y recursos relacionados |
moduleSearch | Busca y recomienda módulos de Terraform según una consulta |
listDataSources | Enumera todas las fuentes de datos disponibles para un proveedor y sus detalles básicos |
resourceArgumentDetails | Obtiene detalles completos sobre los argumentos de un tipo de recurso |
moduleDetails | Recupera metadatos detallados para un módulo Terraform |
functionDetails | Obtiene detalles sobre una función del proveedor de Terraform |
providerGuides | Enumera y visualiza guías y documentación específicas del proveedor. |
policySearch | Búsquedas de bibliotecas de políticas en el Registro de Terraform |
policyDetails | Obtiene información detallada sobre una biblioteca de políticas específica |
Herramientas de la nube de Terraform
Estas herramientas requieren un token de API de Terraform Cloud ( TFC_TOKEN
):
Herramienta | Descripción |
---|---|
listOrganizations | Enumera todas las organizaciones a las que el usuario autenticado tiene acceso |
privateModuleSearch | Busca módulos privados en una organización |
privateModuleDetails | Obtiene información detallada sobre un módulo privado |
explorerQuery | Consulta la API de Terraform Cloud Explorer para analizar datos |
listWorkspaces | Enumera los espacios de trabajo en una organización |
workspaceDetails | Obtiene información detallada sobre un espacio de trabajo específico |
lockWorkspace | Bloquea un espacio de trabajo para evitar ejecuciones |
unlockWorkspace | Desbloquea un espacio de trabajo para permitir ejecuciones |
listRuns | Enumera las ejecuciones de un espacio de trabajo |
runDetails | Obtiene información detallada sobre una ejecución específica |
createRun | Crea una nueva ejecución para un espacio de trabajo |
applyRun | Aplica una ejecución que ha sido planificada |
cancelRun | Cancela una ejecución que está en curso |
listWorkspaceResources | Enumera los recursos en un espacio de trabajo |
Recursos
El servidor MCP admite los siguientes URI de recursos para listarlos y leerlos a través de los métodos resources/*
:
Tipo de recurso | Ejemplo de URI | Descripción |
---|---|---|
Proveedores | terraform:providers | Listar todos los espacios de nombres/proveedores |
terraform:provider:<namespace>/<name> | Obtener detalles de un proveedor específico | |
Versiones del proveedor | terraform:provider:<namespace>/<name>/versions | Lista de versiones disponibles para un proveedor |
Recursos para proveedores | terraform:provider:<namespace>/<name>/resources | Lista de recursos para un proveedor |
terraform:resource:<namespace>/<name>/<resource_name> | Obtener detalles de un tipo de recurso específico | |
Fuentes de datos del proveedor | terraform:provider:<namespace>/<name>/dataSources | Enumerar las fuentes de datos de un proveedor |
terraform:dataSource:<namespace>/<name>/<data_source_name> | Obtener detalles de una fuente de datos específica | |
Funciones del proveedor | terraform:provider:<namespace>/<name>/functions | Funciones de lista para un proveedor |
terraform:function:<namespace>/<name>/<function_name> | Obtener detalles de una función específica |
El servidor también admite resources/templates/list
para proporcionar plantillas para crear:
terraform:provider
terraform:resource
terraform:dataSource
Indicaciones
Las siguientes indicaciones están disponibles para generar respuestas contextuales:
Inmediato | Descripción | Argumentos requeridos |
---|---|---|
migrate-clouds | Generar código Terraform para migrar infraestructura entre proveedores de nube | sourceCloud , targetCloud , terraformCode |
generate-resource-skeleton | Ayuda a los usuarios a crear rápidamente nuevos recursos de Terraform con las mejores prácticas | resourceType |
optimize-terraform-module | Proporciona recomendaciones prácticas para mejorar el código de Terraform. | terraformCode |
migrate-provider-version | Ayuda con las actualizaciones de la versión del proveedor y los cambios importantes. | providerName , currentVersion , targetVersion , terraformCode (opcional) |
analyze-workspace-runs | Analiza fallas de ejecución recientes y brinda orientación para la resolución de problemas para los espacios de trabajo de Terraform Cloud | workspaceId , runsToAnalyze (opcional, valor predeterminado: 5) |
Problemas conocidos con los avisos
Nota : Existe un problema conocido con la función getPrompt
que puede provocar fallos del servidor. El servidor registra correctamente los avisos y puede listarlos, pero las solicitudes directas mediante el método getPrompt
pueden causar problemas de conectividad. Esto se está investigando y podría estar relacionado con la compatibilidad del SDK o con detalles de implementación. Hasta que se resuelva, utilice listPrompts
para ver los avisos disponibles, pero evite las llamadas directas getPrompt
.
Ejecución del servidor
El servidor se ejecuta utilizando el transporte stdio para la comunicación MCP:
Configuración con variables de entorno
El servidor se puede configurar mediante variables de entorno:
Variable de entorno | Descripción | Valor predeterminado |
---|---|---|
TERRAFORM_REGISTRY_URL | URL base para la API del Registro de Terraform | https://registry.terraform.io |
DEFAULT_PROVIDER_NAMESPACE | Espacio de nombres predeterminado para proveedores | hashicorp |
LOG_LEVEL | Nivel de registro (error, advertencia, información, depuración) | información |
REQUEST_TIMEOUT_MS | Tiempo de espera para solicitudes de API en milisegundos | 10000 |
RATE_LIMIT_ENABLED | Habilitar la limitación de velocidad para las solicitudes de API | FALSO |
RATE_LIMIT_REQUESTS | Número de solicitudes permitidas en la ventana de tiempo | 60 |
RATE_LIMIT_WINDOW_MS | Ventana de tiempo para la limitación de velocidad en milisegundos | 60000 |
TFC_TOKEN | Token de API de Terraform Cloud para acceso a registros privados (opcional) |
Ejemplo de uso con variables de entorno:
Pruebas
Consulte el archivo TESTS.md para obtener información sobre cómo probar este proyecto.
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
Conecta modelos de IA al Registro Terraform a través de MCP, lo que permite búsquedas de proveedores, ejemplos de uso de recursos y recomendaciones de módulos para flujos de trabajo de Terraform optimizados.
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
- -securityFlicense-qualityA demonstration project that uses Cloudflare Workers MCP to create custom AI tools that can be integrated with Claude, Cursor, and other AI assistants supporting the Model Context Protocol.Last updated -26TypeScript
- -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 -258PythonMIT License