🚀 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ário terraform-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

  1. Execute:

    docker compose up --build
    
  2. Verifique o SSE:

    curl -N http://localhost:8000/sse
    
  3. 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