Skip to main content
Glama

terraform-cloud-mcp

Servidor MCP de Terraform Cloud

Un servidor de Protocolo de Contexto de Modelo (MCP) que integra asistentes de IA con la API de Terraform Cloud, lo que le permite gestionar su infraestructura mediante una conversación natural. Desarrollado con modelos de Pydantic y estructurado en torno a módulos específicos del dominio, este servidor es compatible con cualquier plataforma compatible con MCP, como Claude, Claude Code CLI, Claude Desktop, Cursor, Copilot Studio y otras.

VersiónPitónComprobación de tiposCalidad del código


Características

  • Gestión de cuentas : obtenga detalles de la cuenta para usuarios autenticados o cuentas de servicio.
  • Gestión del espacio de trabajo : crear, leer, actualizar, eliminar, bloquear/desbloquear espacios de trabajo.
  • Gestión de proyectos : crear, enumerar, actualizar y eliminar proyectos; administrar enlaces de etiquetas de proyectos y mover espacios de trabajo entre proyectos.
  • Gestión de ejecuciones : crear ejecuciones, enumerar ejecuciones, obtener detalles de ejecuciones, aplicar/descartar/cancelar ejecuciones.
  • Gestión de planes : recupere detalles del plan y la salida de ejecución JSON con manejo avanzado de redireccionamiento HTTP.
  • Gestión de solicitudes : obtenga detalles de las solicitudes y recupérese de cargas de estados fallidos.
  • Gestión de la organización : enumere, cree, actualice, elimine organizaciones y vea los derechos de las organizaciones.
  • Características futuras : gestión de variables, versiones de estado y más.

Inicio rápido

Prerrequisitos

  • Python 3.12+
  • MCP (incluye FastMCP y herramientas de desarrollo)
  • Gestor de paquetes uv (recomendado) o pip
  • Token de API de Terraform Cloud

Instalación

# Clone the repository git clone https://github.com/severity1/terraform-cloud-mcp.git cd terraform-cloud-mcp # Create virtual environment and activate it uv venv source .venv/bin/activate # Install package uv pip install .

Añadiendo a los entornos de Claude

Agregar a la CLI de Claude Code
# Add to Claude Code with your Terraform Cloud token claude mcp add -e TFC_TOKEN=YOUR_TF_TOKEN -s user terraform-cloud-mcp -- "terraform-cloud-mcp"
Añadiendo a Claude Desktop

Cree un archivo de configuración claude_desktop_config.json :

  • mac: ~/Biblioteca/Soporte de aplicaciones/Claude/claude_desktop_config.json
  • victoria: %APPDATA%\Claude\claude_desktop_config.json
{ "mcpServers": { "terraform-cloud-mcp": { "command": "/path/to/uv", # Get this by running: `which uv` "args": [ "--directory", "/path/to/your/terraform-cloud-mcp", # Full path to this project "run", "terraform-cloud-mcp" ], "env": { "TFC_TOKEN": "my token..." # replace with actual token } } } }

Reemplace your_terraform_cloud_token con su token de API de Terraform Cloud real.

Otras plataformas compatibles con MCP

Para otras plataformas (como Cursor, Copilot Studio o Glama), siga las instrucciones específicas de cada plataforma para agregar un servidor MCP. La mayoría de las plataformas requieren:

  1. La ruta del servidor o el comando para iniciar el servidor.
  2. Variables de entorno para el token de API de Terraform Cloud.
  3. Configuración para iniciar automáticamente el servidor cuando sea necesario.

Herramientas disponibles

Herramientas de cuenta

  • get_account_details() : obtiene información de la cuenta del usuario o cuenta de servicio autenticado.

Herramientas de gestión del espacio de trabajo

Lista y búsqueda
  • list_workspaces(organization, page_number, page_size, search) : enumera y filtra espacios de trabajo.
  • get_workspace_details(workspace_id, organization, workspace_name) : obtiene información detallada sobre un espacio de trabajo específico.
Crear y actualizar
  • create_workspace(organization, name, params) : crea un nuevo espacio de trabajo con parámetros opcionales.
  • update_workspace(organization, workspace_name, params) : actualiza la configuración de un espacio de trabajo existente.
Borrar
  • delete_workspace(organization, workspace_name) : elimina un espacio de trabajo y todo su contenido.
  • safe_delete_workspace(organization, workspace_name) : eliminar solo si el espacio de trabajo no administra ningún recurso.
Bloquear y desbloquear
  • lock_workspace(workspace_id, reason) : bloquea un espacio de trabajo para evitar ejecuciones.
  • unlock_workspace(workspace_id) : desbloquea un espacio de trabajo para permitir ejecuciones.
  • force_unlock_workspace(workspace_id) : Fuerza el desbloqueo de un espacio de trabajo bloqueado por otro usuario.

Herramientas de gestión de ejecuciones

  • create_run(workspace_id, params) : crea y pone en cola una ejecución de Terraform en un espacio de trabajo usando su ID.
  • list_runs_in_workspace(workspace_id, ...) : enumera y filtra las ejecuciones en un espacio de trabajo específico utilizando su ID.
  • list_runs_in_organization(organization, ...) : enumera y filtra ejecuciones en toda una organización.
  • get_run_details(run_id) : obtiene información detallada sobre una ejecución específica.
  • apply_run(run_id, comment) : Aplicar una ejecución esperando confirmación.
  • discard_run(run_id, comment) : descartar una ejecución en espera de confirmación.
  • cancel_run(run_id, comment) : Cancelar una ejecución que se esté planificando o aplicando actualmente.
  • force_cancel_run(run_id, comment) : cancela forzosamente una ejecución inmediatamente.
  • force_execute_run(run_id) : ejecuta de forma forzada una ejecución pendiente cancelando ejecuciones anteriores.

Herramientas de gestión de planes

  • get_plan_details(plan_id) : obtiene información detallada sobre un plan específico.
  • get_plan_json_output(plan_id) : recupera el plan de ejecución JSON para un plan específico con un manejo de redirección adecuado.
  • get_run_plan_json_output(run_id) : recupera el plan de ejecución JSON de una ejecución con un manejo de redirección adecuado.

Aplicar herramientas de gestión

  • get_apply_details(apply_id) : obtiene información detallada sobre una solicitud específica.
  • get_errored_state(apply_id) : recupera el estado de error de una solicitud fallida para su recuperación.

Herramientas de gestión de proyectos

  • create_project(organization, name, params) : Crea un nuevo proyecto con parámetros opcionales.
  • update_project(project_id, params) : actualiza la configuración de un proyecto existente.
  • list_projects(organization, ...) : enumera y filtra los proyectos de una organización.
  • get_project_details(project_id) : obtiene información detallada sobre un proyecto específico.
  • delete_project(project_id) : eliminar un proyecto (falla si contiene espacios de trabajo).
  • list_project_tag_bindings(project_id) : Lista de etiquetas vinculadas a un proyecto.
  • add_update_project_tag_bindings(project_id, tag_bindings) : agrega o actualiza los enlaces de etiquetas en un proyecto.
  • move_workspaces_to_project(project_id, workspace_ids) : Mueve espacios de trabajo a un proyecto.

Herramientas de gestión organizacional

  • get_organization_details(organization) : obtiene información detallada sobre una organización específica.
  • get_organization_entitlements(organization) : muestra el conjunto de derechos para las funciones de la organización.
  • list_organizations(page_number, page_size, query, query_email, query_name) : enumera y filtra las organizaciones.
  • create_organization(name, email, params) : crea una nueva organización con parámetros opcionales.
  • update_organization(organization, params) : actualiza la configuración de una organización existente.
  • delete_organization(organization) : elimina una organización y todo su contenido.

Guía de desarrollo

Para obtener una guía de desarrollo detallada, incluidos estándares de código, patrones de Pydantic y flujos de trabajo de contribución, consulte nuestra Documentación de desarrollo .

Configuración de desarrollo rápido

# Clone the repository git clone https://github.com/severity1/terraform-cloud-mcp.git cd terraform-cloud-mcp # Create virtual environment and activate it uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate # Install in development mode with development dependencies uv pip install -e . uv pip install black mypy pydantic ruff

Comandos básicos de desarrollo

# Run the server in development mode mcp dev terraform_cloud_mcp/server.py # Run tests and quality checks uv run -m mypy . uv run -m ruff check . uv run -m black .

Para obtener información detallada sobre la organización del código, la arquitectura, los flujos de trabajo de desarrollo y las pautas de calidad del código, consulte docs/DEVELOPMENT.md .


Documentación

La base del código incluye documentación completa:

  • Comentarios del código : centrados en explicar el "por qué" detrás de las decisiones de implementación
  • Docstrings : todas las funciones y clases públicas incluyen docstrings detallados
  • Archivos de ejemplo : El directorio docs/ contiene ejemplos detallados para cada dominio:
    • docs/DEVELOPMENT.md : Estándares de desarrollo y pautas de codificación
    • docs/CONTRIBUTING.md : Pautas para contribuir al proyecto
    • docs/models/ : Ejemplos de uso para todos los tipos de modelos
    • docs/tools/ : Ejemplos de uso detallados para cada herramienta
    • docs/conversations/ : Ejemplos de flujos de conversación con la API

Solución de problemas

  1. Comprobar los registros del servidor (el registro de depuración está habilitado de forma predeterminada)
  2. Utilice el Inspector MCP ( http://localhost:5173 ) para depurar
  3. El registro de depuración ya está habilitado en server.py :
    import logging logging.basicConfig(level=logging.DEBUG)

Contribuyendo

¡Agradecemos sus contribuciones! Si desea contribuir a este proyecto, abra un problema o una solicitud de incorporación de cambios.

Consulta nuestra Guía de contribución para obtener instrucciones detalladas sobre cómo comenzar, los estándares de calidad del código y el proceso de solicitud de extracción.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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.

Un servidor de Protocolo de Contexto de Modelo (MCP) que integra a Claude con la API de Terraform Cloud, lo que le permite a Claude administrar su infraestructura de Terraform a través de una conversación natural.

  1. Características
    1. Inicio rápido
      1. Prerrequisitos
      2. Instalación
      3. Añadiendo a los entornos de Claude
    2. Herramientas disponibles
      1. Herramientas de cuenta
      2. Herramientas de gestión del espacio de trabajo
      3. Herramientas de gestión de ejecuciones
      4. Herramientas de gestión de planes
      5. Aplicar herramientas de gestión
      6. Herramientas de gestión de proyectos
      7. Herramientas de gestión organizacional
    3. Guía de desarrollo
      1. Configuración de desarrollo rápido
      2. Comandos básicos de desarrollo
    4. Documentación
      1. Solución de problemas
        1. Contribuyendo

          Related MCP Servers

          • Amazon Web Services
            aws-mcp

            A
            security
            F
            license
            A
            quality
            A Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with your AWS environment. This allows for natural language querying and management of your AWS resources during conversations. Think of better Amazon Q alternative.
            Last updated -
            3
            264
            TypeScript
            • Apple
          • -
            security
            A
            license
            -
            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 -
            292
            Rust
            MIT License
            • Apple
          • -
            security
            F
            license
            -
            quality
            A starter template for building Model Context Protocol (MCP) servers, enabling developers to create and add custom tools that can be integrated with Claude Desktop.
            Last updated -
            TypeScript
            • Apple
          • A
            security
            F
            license
            A
            quality
            A server built on mcp-framework that enables integration with Claude Desktop through the Model Context Protocol.
            Last updated -
            1
            1
            • 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/severity1/terraform-cloud-mcp'

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