🚀 Motivação do projeto
O Terraform MCP Server é uma ferramenta beta da HashiCorp que expõe dados do Terraform Registry (providers, módulos, documentação) via Model Context Protocol (MCP).
Essa interface permite que assistentes de IA — como GitHub Copilot Chat, Cursor e Claude — consumam dados atualizados sobre Terraform, agregando valor real a fluxos DevOps modernos.
🔍 Desafio: stdio → SSE
O terraform-mcp-server
funciona apenas por stdin/stdout, sem suporte nativo a HTTP ou SSE — o que impede sua integração direta com o MCP Server Trigger do n8n, que exige um endpoint SSE.
Objetivo deste trabalho
- Rodar o
terraform-mcp-server
- Empacotá-lo em um endpoint SSE
- Permitir que o n8n consuma esse endpoint e dispare workflows baseados no MCP
🛠 Solução adotada: supergateway
Utilizei o supergateway, um proxy open-source que faz a ponte entre stdio ↔ SSE
.
Componentes do projeto
- Dockerfile: monta uma imagem que inclui o
supergateway
e o binárioterraform-mcp-server
- entrypoint.sh: script que escolhe o modo de execução (local ou integração)
- docker-compose.yml: para rodar o gateway e, opcionalmente, o n8n
🔧 Dockerfile
FROM supercorp/supergateway:2.8.3
WORKDIR /opt/supergateway
RUN apk add --no-cache curl unzip
ARG TERRAFORM_MCP_SERVER_VERSION=0.1.0
RUN curl -Lo terraform.zip \
https://releases.hashicorp.com/terraform-mcp-server/${TERRAFORM_MCP_SERVER_VERSION}/terraform-mcp-server_${TERRAFORM_MCP_SERVER_VERSION}_linux_amd64.zip \
&& unzip terraform.zip \
&& rm terraform.zip LICENSE.txt \
&& chmod +x terraform-mcp-server
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/entrypoint.sh
EXPOSE 8000
ENTRYPOINT ["entrypoint.sh"]
📝 entrypoint.sh
#!/bin/sh
set -e
echo "⚙️ Iniciando modo stdio → SSE"
exec supergateway \
--stdio "./terraform-mcp-server" \
--port "${PORT:-8000}" \
--baseUrl "http://0.0.0.0:${PORT:-8000}" \
--ssePath "${SSE_PATH:-/sse}" \
--messagePath "${MESSAGE_PATH:-/message}" \
--cors \
--logLevel "${LOG_LEVEL:-info}"
🧩 docker-compose.yml
version: "3.8"
services:
mcp-gateway:
build: .
container_name: mcp-gateway
ports:
- "8000:8000"
environment:
- PORT=8000
- LOG_LEVEL=info
🔄 Integração com o n8n
-
Execute:
docker compose up --build
-
Verifique o SSE:
curl -N http://localhost:8000/sse
-
No n8n:
- Adicione o MCP Server Trigger
- Aponte para
http://<sua-maquina>:8000/sse
- Ative o workflow
📌 Conclusão
Ao transformar o terraform-mcp-server
em um endpoint SSE consumível pelo n8n, consegui estabelecer uma ponte eficiente entre o contexto do Terraform e automações de infraestrutura. Este Projeto não só facilita a integração com assistentes de IA, mas também abre portas para fluxos de trabalho mais dinâmicos e responsivos.
A combinação de ferramentas como o supergateway
e o n8n demonstra o potencial de automação em ambientes DevOps, permitindo que equipes se concentrem em tarefas mais estratégicas e criativas.
O projeto pode ser encontrado no meu gitub: terraform-mcp-server-sse