hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
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.
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 ejecuciones : crear ejecuciones, enumerar ejecuciones, obtener detalles de ejecuciones, aplicar/descartar/cancelar ejecuciones.
- Gestión de la organización : enumere, cree, actualice, elimine organizaciones y vea los derechos de las organizaciones.
- Características futuras : gestión de estados, gestión de variables y más.
Inicio rápido
Prerrequisitos
- Python 3.12+
- MCP (incluye FastMCP y herramientas de desarrollo)
- Gestor de paquetes
uv
(recomendado) opip
- Token de API de Terraform Cloud
Instalación
Añadiendo a los entornos de Claude
Agregar a la CLI de Claude Code
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
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:
- La ruta del servidor o el comando para iniciar el servidor.
- Variables de entorno para el token de API de Terraform Cloud.
- 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.
Retención de datos
set_data_retention_policy(workspace_id, days)
: establece una política de retención de datos.get_data_retention_policy(workspace_id)
: obtiene la política de retención de datos actual.delete_data_retention_policy(workspace_id)
: elimina la política de retención de datos.
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 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
Comandos básicos de desarrollo
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óndocs/CONTRIBUTING.md
: Pautas para contribuir al proyectodocs/models/
: Ejemplos de uso para todos los tipos de modelosdocs/tools/
: Ejemplos de uso detallados para cada herramientadocs/conversations/
: Ejemplos de flujos de conversación con la API
Solución de problemas
- Comprobar los registros del servidor (el registro de depuración está habilitado de forma predeterminada)
- Utilice el Inspector MCP ( http://localhost:5173 ) para depurar
- El registro de depuración ya está habilitado en
server.py
:Copy
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.
Tools
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.