Skip to main content
Glama

tfmcp

by nwiizo

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:

Demostración de tfmcp 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.
  • 🐳 Compatibilidad con Docker
    Ejecute tfmcp en un entorno en contenedores con todas las dependencias preinstaladas.

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

Usando Docker

# Clone the repository git clone https://github.com/nwiizo/tfmcp cd tfmcp # Build the Docker image docker build -t tfmcp . # Run the container docker run -it tfmcp

Requisitos

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

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

Usando Docker

Al usar Docker, puedes ejecutar comandos tfmcp como este:

# Run as MCP server (default) docker run -it tfmcp # Run with specific command and options docker run -it tfmcp analyze --dir /app/example # Mount your Terraform project directory docker run -it -v /path/to/your/terraform:/app/terraform tfmcp --dir /app/terraform # Set environment variables docker run -it -e TFMCP_LOG_LEVEL=debug tfmcp

Integración con Claude Desktop

Para utilizar tfmcp con Claude Desktop:

  1. Si aún no lo has hecho, instala tfmcp:
    cargo install tfmcp
    Alternativamente, puedes utilizar Docker:
    docker build -t 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 } } } }

Si está utilizando Docker con Claude Desktop, puede configurarlo de esta manera:

{ "mcpServers": { "tfmcp": { "command": "docker", "args": ["run", "--rm", "-v", "/path/to/your/terraform:/app/terraform", "tfmcp", "mcp"], "env": { "TERRAFORM_DIR": "/app/terraform" } } } }
  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
  • Problemas con Docker : si usa Docker, asegúrese de que su contenedor tenga los montajes de volumen y los permisos adecuados

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
  • Al usar Docker, tenga cuidado con los montajes de volumen que podrían exponer datos confidenciales.

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.
  • [x] Compatibilidad con Docker
    Se agregó soporte de contenedorización para una implementación más sencilla y compatibilidad entre plataformas.

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

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

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. 🎮 Demostración
    1. 🎉 Último lanzamiento
      1. Características
        1. Instalación
          1. De la fuente
          2. De Crates.io
          3. Usando Docker
        2. Requisitos
          1. Uso
            1. Usando Docker
            2. Integración con Claude Desktop
          2. Registros y solución de problemas
            1. Variables de entorno
              1. Consideraciones de seguridad
                1. Contribuyendo
                  1. Hoja de ruta
                    1. Terminado
                    2. En curso
                  2. Licencia

                    Related MCP Servers

                    • -
                      security
                      F
                      license
                      -
                      quality
                      A Model Context Protocol server built with mcp-framework that allows users to create and manage custom tools for processing data, integrating with the Claude Desktop via CLI.
                      Last updated -
                      48
                      4
                      TypeScript
                      • Apple
                    • A
                      security
                      A
                      license
                      A
                      quality
                      A 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 -
                      25
                      11
                      Python
                      MIT License
                      • Linux
                      • Apple
                    • A
                      security
                      F
                      license
                      A
                      quality
                      A Model Context Protocol (MCP) server that integrates with OmniFocus to enable Claude (or other MCP-compatible AI assistants) to interact with your tasks and projects.
                      Last updated -
                      7
                      163
                      15
                      TypeScript
                    • A
                      security
                      F
                      license
                      A
                      quality
                      A Model Context Protocol (MCP) server that allows Claude AI to interact with custom tools, enabling extension of Claude's capabilities through the MCP framework.
                      Last updated -
                      TypeScript
                      • Apple

                    View all related MCP servers

                    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/nwiizo/tfmcp'

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