terraform-mcp-server
Allows managing Terraform modules and scaffolding Terraform configurations, including searching modules, retrieving module details, listing versions, generating configuration files, and fetching backend S3 settings.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@terraform-mcp-serverscaffold terraform config for the vpc module"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
terraform-mcp-server
MCP (Model Context Protocol) server para gestionar los módulos de Terraform de la organización en GitHub.
Este server expone tools que permiten a los agentes de IA buscar, inspeccionar y scaffoldear configuraciones de Terraform usando la librería de módulos privados de la organización (repos con el nombre terraform-aws-module-*).
Funcionalidades
search_modules — Lista y filtra los módulos de Terraform disponibles en la organización
get_module — Obtiene el detalle del módulo: README, variables, outputs y última versión
list_module_versions — Lista todos los tags de versión disponibles de un módulo
scaffold_terraform — Genera una configuración completa de Terraform usando un módulo
Related MCP server: Gread
Instalación
# Clona el repositorio
git clone https://github.com/<TuOrg>/terraform-mcp-server.git
cd terraform-mcp-server
# Instala con pip
pip install -e .
# O con uv
uv pip install -e .Variables de entorno
Variable | Obligatoria | Default | Descripción |
| Sí | — | Personal access token de GitHub con scope |
| Sí |
| Nombre de la organización de GitHub — el default es un placeholder, hay que definirla |
| No |
| Prefijo de los repos de módulos |
| No |
| Versión mínima de Terraform en las configuraciones generadas (1.10+ es necesario para el locking nativo de state en S3) |
| No |
| Rol IAM que asume el provider generado — el |
Uso
Arrancar el server
# Directamente
terraform-mcp-server
# O como módulo de Python
python -m terraform_mcp_server.serverConfiguración del cliente MCP
Agrégalo a la configuración de tu cliente MCP (por ejemplo, Claude Desktop, Kiro, etc.):
{
"mcpServers": {
"terraform-mcp-server": {
"command": "terraform-mcp-server",
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}O si lo ejecutas desde el código fuente con uv:
{
"mcpServers": {
"terraform-mcp-server": {
"command": "uv",
"args": ["run", "--directory", "/path/to/terraform-mcp-server", "terraform-mcp-server"],
"env": {
"GITHUB_TOKEN": "ghp_your_token_here"
}
}
}
}Referencia de tools
search_modules
Busca los módulos de Terraform disponibles en la organización.
Parámetros:
query(str, opcional): filtra los módulos por nombre de servicio
Ejemplo de respuesta:
{
"count": 2,
"modules": [
{
"name": "terraform-aws-module-vpc",
"service_name": "vpc",
"description": "Terraform module for AWS VPC",
"last_updated": "2024-01-15T10:30:00Z",
"default_branch": "main"
}
]
}get_module
Obtiene información detallada de un módulo concreto.
Parámetros:
service_name(str, obligatorio): nombre del servicio (por ejemplo, "vpc", "ec2")
list_module_versions
Lista todas las versiones disponibles (tags git) de un módulo.
Parámetros:
service_name(str, obligatorio): nombre del servicio
scaffold_terraform
Genera una configuración completa de Terraform usando un módulo.
Parámetros:
service_name(str, obligatorio): nombre del serviciovariables(dict, opcional): valores de variables para precargar
Archivos generados:
versions.tf— Bloqueterraform(required_version, required_providers)providers.tf— Configuración del provider (region +assume_roleobligatorio sobreterraform-iac+ default_tags)variables.tf— Variables comunes + propias del móduloterraform.tfvars— Valores de las variables (con placeholders)main.tf— Llamada al módulooutputs.tf— Outputs del módulodata.tf— Placeholder de data sources
El bloque provider incluye siempre
assume_role.aws_account_ides una variable obligatoria (validada a 12 dígitos) y sin default — Terraform no se ejecuta hasta que se indique la cuenta propietaria del rolterraform-iac.
get_backend_config
Obtiene la configuración del backend S3 (bucket, key, region) según team, project y environment.
El bloque devuelto va en backend.tf (campo file de la respuesta).
Parámetros:
team(str, obligatorio): nombre del equipoproject(str, obligatorio): nombre del proyectoenvironment(str, obligatorio): environment (dev, staging, prod, ...)bucket(str, opcional): bucket indicado por el usuario — tiene prioridad sobreBACKEND_CONFIGregion(str, opcional): region indicada por el usuario — tiene prioridad sobreBACKEND_CONFIG
Normalmente resuelve desde la variable de entorno BACKEND_CONFIG (JSON con backends y
environment_mapping). Si no está definida, no falla: devuelve needs_user_input con la
pregunta que el agente debe hacer, para volver a llamarla con bucket y region.
{
"needs_user_input": true,
"missing": ["bucket", "region"],
"question_for_user": "¿En qué bucket de S3 y en qué region quieres guardar el state?"
}Desarrollo
# Instala las dependencias de desarrollo
pip install -e ".[dev]"
# Ejecuta en modo desarrollo
python -m terraform_mcp_server.serverConvención de nombres de los módulos
Los módulos siguen el patrón: terraform-aws-module-{service_name}
Ejemplos:
terraform-aws-module-vpc→ service_name:vpcterraform-aws-module-ec2→ service_name:ec2terraform-aws-module-rds→ service_name:rdsterraform-aws-module-s3→ service_name:s3
Licencia
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to manage GitHub repositories, branches, issues, pull requests, releases, and actions through natural language.1115MIT
- AlicenseNot gradedqualityBmaintenanceProvides AI agents with access to source code of all public GitHub repos, with integration for docs repos and compatibility with coding agents and MCP clients.57Apache 2.0
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to interact with GitHub repositories, issues, pull requests, code, and more through a comprehensive set of tools.
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to interact with GitHub via natural language, supporting repository management, issue tracking, file commits, and more.
Related MCP Connectors
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Git-backed platform for skills, tools, and context for AI agents
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/isma-aguilera/terraform-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server