tfmcp

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Allows AI assistants to manage and operate Terraform environments, including reading configuration files, analyzing plan outputs, applying configurations, managing state, and creating/modifying configurations

tfmcp: Herramienta de protocolo de contexto del modelo Terraform

Este proyecto es experimental. Las características pueden cambiar sin previo aviso. ¡Úselo con precaución!

tfmcp es una herramienta de línea de comandos que permite interactuar con Terraform mediante el Protocolo de Contexto de Modelo (MCP). Permite a los LLM gestionar y operar sus entornos Terraform, incluyendo:

🎮 Demostración

Vea tfmcp en acción con Claude Desktop:

  • Lectura de archivos de configuración de Terraform
  • Análisis de los resultados del plan Terraform
  • Aplicación de configuraciones de Terraform
  • Administrar el estado de Terraform
  • Creación y modificación de configuraciones de Terraform

🎉 Último lanzamiento

¡La primera versión estable de tfmcp (v0.1.1) ya está disponible en Crates.io! Puedes instalarla fácilmente con Cargo:

cargo install tfmcp

Características

  • 🚀 Integración con Terraform
    Se integra profundamente con Terraform CLI para analizar y ejecutar operaciones.
  • 📄 Capacidades del servidor MCP
    Se ejecuta como un servidor de protocolo de contexto de modelo, lo que permite que los asistentes de IA accedan y administren Terraform.
  • ⚡️ Increíblemente rápido
    Procesamiento de alta velocidad impulsado por el ecosistema Rust.
  • 🛠️ Configuración automática
    Crea automáticamente proyectos de Terraform de muestra cuando es necesario, lo que garantiza un funcionamiento fluido incluso para usuarios nuevos.

Instalación

De la fuente

# Clone the repository git clone https://github.com/nwiizo/tfmcp cd tfmcp # Build and install cargo install --path .

De Crates.io

cargo install tfmcp

Requisitos

  • Rust (edición 2021)
  • Terraform CLI instalado y disponible en PATH
  • Claude Desktop (para la integración del asistente de IA)

Uso

$ tfmcp --help ✨ A CLI tool to manage Terraform configurations and operate Terraform through the Model Context Protocol (MCP). Usage: tfmcp [OPTIONS] [COMMAND] Commands: mcp Launch tfmcp as an MCP server analyze Analyze Terraform configurations help Print this message or the help of the given subcommand(s) Options: -c, --config <PATH> Path to the configuration file -d, --dir <PATH> Terraform project directory -V, --version Print version -h, --help Print help

Integración con Claude Desktop

Para utilizar tfmcp con Claude Desktop:

  1. Si aún no lo has hecho, instala tfmcp:
    cargo install tfmcp
  2. Encuentre la ruta al ejecutable tfmcp instalado:
    which tfmcp
  3. Agregue la siguiente configuración a ~/Library/Application\ Support/Claude/claude_desktop_config.json :
{ "mcpServers": { "tfmcp": { "command": "/path/to/your/tfmcp", // Replace with the actual path from step 2 "args": ["mcp"], "env": { "HOME": "/Users/yourusername", // Replace with your username "PATH": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin", "TERRAFORM_DIR": "/path/to/your/terraform/project" // Optional: specify your Terraform project } } } }
  1. Reinicie Claude Desktop y habilite la herramienta tfmcp.
  2. tfmcp creará automáticamente un proyecto de Terraform de muestra en ~/terraform si no existe, lo que garantiza que Claude pueda empezar a trabajar con Terraform de inmediato. El proyecto de muestra se basa en los ejemplos incluidos en el directorio example/demo de este repositorio.

Registros y solución de problemas

Los registros del servidor tfmcp están disponibles en:

~/Library/Logs/Claude/mcp-server-tfmcp.log

Problemas comunes y soluciones:

  • Claude no puede conectarse al servidor : asegúrese de que la ruta al ejecutable tfmcp sea correcta en su configuración
  • Problemas del proyecto Terraform : tfmcp crea automáticamente un proyecto Terraform de muestra si no se encuentra ninguno
  • Errores de método no encontrado : la compatibilidad del protocolo MCP incluye recursos/lista y solicitudes/métodos de lista

Variables de entorno

  • TERRAFORM_DIR : Configure esta opción para especificar un directorio de proyecto Terraform personalizado. Si no se configura, tfmcp usará el directorio proporcionado por los argumentos de la línea de comandos, los archivos de configuración o recurrirá a ~/terraform . También puede cambiar el directorio del proyecto en tiempo de ejecución con la herramienta set_terraform_directory .
  • TFMCP_LOG_LEVEL : Establezca en debug , info , warn o error para controlar el nivel de detalle del registro.
  • TFMCP_DEMO_MODE : Establezca en true para habilitar el modo de demostración con funciones de seguridad adicionales.

Consideraciones de seguridad

Al utilizar tfmcp, tenga en cuenta las siguientes consideraciones de seguridad:

  • tfmcp ejecuta comandos de Terraform en su nombre, que pueden crear, modificar o destruir infraestructura.
  • En entornos de producción, considere usar permisos de IAM y límites de roles adecuados
  • Revise todos los planes de Terraform antes de aplicarlos, especialmente cuando los genera una IA
  • La información confidencial de su estado de Terraform podría ser accesible para los asistentes de IA

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

  1. Bifurcar el repositorio
  2. Crea tu rama de funciones ( git checkout -b feature/amazing-feature )
  3. Confirme sus cambios ( git commit -m 'Add some amazing feature' )
  4. Empujar a la rama ( git push origin feature/amazing-feature )
  5. Abrir una solicitud de extracción

Hoja de ruta

A continuación se presentan algunas mejoras planificadas y características futuras para tfmcp:

Terminado

  • [x] Integración básica de Terraform
    Integración central con Terraform CLI para analizar y ejecutar operaciones.
  • [x] Implementación del servidor MCP
    Implementación inicial del servidor de Protocolo de Contexto de Modelo para asistentes de IA.
  • [x] Creación automática de proyectos
    Se agregó funcionalidad para crear automáticamente proyectos de Terraform de muestra cuando sea necesario.
  • [x] Integración de escritorio de Claude
    Soporte para una integración perfecta con Claude Desktop.
  • [x] Métodos básicos de MCP
    Implementación de métodos MCP esenciales que incluyen recursos/listas y indicaciones/listas.
  • [x] Mejoras en el manejo de errores
    Mejores mecanismos de manejo de errores y recuperación para un funcionamiento robusto.
  • [x] Cambio dinámico de directorio de proyectos
    Se agregó la capacidad de cambiar el directorio del proyecto Terraform activo sin reiniciar el servicio.
  • [x] Publicación de Crates.io
    Se publicó el paquete en Crates.io para una fácil instalación a través de Cargo.

En curso

  • [ ] Análisis de Terraform mejorado
    Implementar un análisis más profundo de las configuraciones, planes y archivos de estado de Terraform.
  • [ ] Soporte para múltiples entornos
    Agregue soporte para administrar múltiples entornos, espacios de trabajo y módulos de Terraform.
  • [ ] Mejoras de seguridad
    Mejorar las características de seguridad, incluidos mejores mecanismos de autenticación y autorización.
  • [ ] Compatibilidad ampliada con el protocolo MCP
    Implementar métodos y capacidades MCP adicionales para una integración más rica con los asistentes de IA.
  • [ ] TUI interactiva
    Desarrollar una interfaz de usuario basada en terminal para facilitar el uso local y la depuración.
  • [ ] Estimación de costos
    Integre con las API de precios de proveedores de nube para proporcionar estimaciones de costos para los planes de Terraform.
  • [ ] Optimización del rendimiento
    Optimice el uso de recursos y los tiempos de respuesta para grandes proyectos de Terraform.
  • [ ] Integración con otras plataformas de IA
    Amplíe sus capacidades más allá de Claude para brindar soporte a otros asistentes y plataformas de IA.
  • [ ] Marco de pruebas integral
    Amplíe la cobertura de pruebas, incluidas las pruebas de integración con configuraciones reales de Terraform.
  • [ ] Sistema de complementos
    Desarrollar una arquitectura de complemento para permitir extensiones de la funcionalidad principal.

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

-
security - not tested
A
license - permissive license
-
quality - not tested

Herramienta Terraform Model Context Protocol (MCP): Una herramienta CLI experimental que permite a los asistentes de IA gestionar y operar entornos Terraform. Permite leer configuraciones de Terraform, analizar planes, aplicar configuraciones y gestionar el estado gracias a la integración con Claude Desktop. ⚡️

  1. 🎮 Demo
    1. 🎉 Latest Release
      1. Features
        1. Installation
          1. From Source
          2. From Crates.io
        2. Requirements
          1. Usage
            1. Integrating with Claude Desktop
          2. Logs and Troubleshooting
            1. Environment Variables
              1. Security Considerations
                1. Contributing
                  1. Roadmap
                    1. Completed
                    2. In Progress
                  2. License
                    ID: egi85wpgv5