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.
Related MCP server: tfmcp
Herramientas
Las siguientes herramientas están disponibles en este servidor MCP:
Herramientas básicas del registro
Herramienta | Descripción |
| Obtiene información detallada sobre un proveedor de Terraform |
| Obtiene un ejemplo de uso de un recurso de Terraform y recursos relacionados |
| Busca y recomienda módulos de Terraform según una consulta |
| Enumera todas las fuentes de datos disponibles para un proveedor y sus detalles básicos |
| Obtiene detalles completos sobre los argumentos de un tipo de recurso |
| Recupera metadatos detallados para un módulo Terraform |
| Obtiene detalles sobre una función del proveedor de Terraform |
| Enumera y visualiza guías y documentación específicas del proveedor. |
| Búsquedas de bibliotecas de políticas en el Registro de Terraform |
| 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 |
| Enumera todas las organizaciones a las que el usuario autenticado tiene acceso |
| Busca módulos privados en una organización |
| Obtiene información detallada sobre un módulo privado |
| Consulta la API de Terraform Cloud Explorer para analizar datos |
| Enumera los espacios de trabajo en una organización |
| Obtiene información detallada sobre un espacio de trabajo específico |
| Bloquea un espacio de trabajo para evitar ejecuciones |
| Desbloquea un espacio de trabajo para permitir ejecuciones |
| Enumera las ejecuciones de un espacio de trabajo |
| Obtiene información detallada sobre una ejecución específica |
| Crea una nueva ejecución para un espacio de trabajo |
| Aplica una ejecución que ha sido planificada |
| Cancela una ejecución que está en curso |
| 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 |
| Listar todos los espacios de nombres/proveedores |
| Obtener detalles de un proveedor específico | |
Versiones del proveedor |
| Lista de versiones disponibles para un proveedor |
Recursos para proveedores |
| Lista de recursos para un proveedor |
| Obtener detalles de un tipo de recurso específico | |
Fuentes de datos del proveedor |
| Enumerar las fuentes de datos de un proveedor |
| Obtener detalles de una fuente de datos específica | |
Funciones del proveedor |
| Funciones de lista para un proveedor |
| Obtener detalles de una función específica |
El servidor también admite resources/templates/list para proporcionar plantillas para crear:
terraform:providerterraform:resourceterraform:dataSource
Indicaciones
Las siguientes indicaciones están disponibles para generar respuestas contextuales:
Inmediato | Descripción | Argumentos requeridos |
| Generar código Terraform para migrar infraestructura entre proveedores de nube |
|
| Ayuda a los usuarios a crear rápidamente nuevos recursos de Terraform con las mejores prácticas |
|
| Proporciona recomendaciones prácticas para mejorar el código de Terraform. |
|
| Ayuda con las actualizaciones de la versión del proveedor y los cambios importantes. |
|
| Analiza fallas de ejecución recientes y brinda orientación para la resolución de problemas para los espacios de trabajo de Terraform Cloud |
|
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 |
| URL base para la API del Registro de Terraform | |
| Espacio de nombres predeterminado para proveedores | hashicorp |
| Nivel de registro (error, advertencia, información, depuración) | información |
| Tiempo de espera para solicitudes de API en milisegundos | 10000 |
| Habilitar la limitación de velocidad para las solicitudes de API | FALSO |
| Número de solicitudes permitidas en la ventana de tiempo | 60 |
| Ventana de tiempo para la limitación de velocidad en milisegundos | 60000 |
| 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.