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
- Alicense-qualityBmaintenanceEnables AI agents to manage GitHub repositories, branches, issues, pull requests, releases, and actions through natural language.Last updated1745MIT
- Alicense-qualityAmaintenanceProvides 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.Last updated57Apache 2.0
- Flicense-qualityCmaintenanceEnables AI agents to interact with GitHub repositories, issues, pull requests, code, and more through a comprehensive set of tools.Last updated
- Flicense-qualityBmaintenanceEnables AI agents to interact with GitHub via natural language, supporting repository management, issue tracking, file commits, and more.Last updated
Related MCP Connectors
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
Connect AI assistants to your GitHub-hosted Obsidian vault to seamlessly access, search, and analy…
An MCP server that gives your AI access to the source code and docs of all public github repos
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