Terraform和Serena MCP本地化Docker集成

提供Terraform和Serena MCP的本地Docker Compose集成方案,支持安全、可重复的开发和测试环境。

  • by Jetscale-ai
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Jetscale-ai/MCPs

使用说明

地形+塞雷纳MCP(本地,码头化)

本地友好的Docker Compose设置:

  • HashiCorp地形mcp服务器 在 streamable-http 模式(注册表/docs)。
  • Serena MCP 在SSE模式下,工作区已挂载以进行代码感知 .tf 编辑。

两者都绑定到 127.0.0.1 默认情况下,这样队友就可以通过共享安全地旋转它们 .env.

快速启动

cp .env.example .env
# (optional) edit .env to set TFE_TOKEN if you need authenticated registry access
docker compose up -d  # starts both terraform-mcp and serena-mcp
docker compose ps
# host-side checks (terraform MCP health, Serena SSE):
curl -sSf http://127.0.0.1:${MCP_PORT:-8080}/health
curl -I http://127.0.0.1:${SERENA_MCP_PORT:-9121}/sse

端点(主机):

  • Terraform MCP健康状况: http://127.0.0.1:${MCP_PORT:-8080}/health
  • 地形MCP端点: http://127.0.0.1:${MCP_PORT:-8080}${MCP_ENDPOINT:-/mcp}
  • Serena MCP SSE:检查容器日志中打印的SSE路径(通常 http://127.0.0.1:${SERENA_MCP_PORT:-9121}/sse)
  • Serena仪表板: http://127.0.0.1:${SERENA_DASHBOARD_PORT:-24282}

文件

  • compose.yaml –HashiCorp地形mcp服务器 streamable-http 模式;Serena MCP处于SSE模式,安装了工作空间;两者都绑定到本地主机。
  • .env.example –端口/端点/CORS/auth、Serena端口和TZ的默认值。
  • AGENTS.md –这些MCP如何适应我们的代理设置(两者都有光标注释)。
  • ROADMAP.md –未来的改进(TLS、测试、QoL)。

为什么这样设置

  • 默认安全:仅发布于 127.0.0.1;Terraform MCP使用严格的CORS默认值。
  • Env驱动:加入 .env 在不编辑compose的情况下更改port/path/rorigins/auth。
  • 可重复的:固定图像和显式命令。
  • 工作区感知:Serena运行时挂载了用于代码编辑的仓库。
  • 已测试:使用curl对Terraform健康和Serena SSE进行本地验证。

光标注释

  • 地形MCP:将光标指向 http://127.0.0.1:${MCP_PORT:-8080}${MCP_ENDPOINT:-/mcp} (需要HTTP MCP支持)。保持主机绑定 127.0.0.1.
  • Serena MCP:此组合使用SSE传输 ${SERENA_MCP_PORT:-9121}.检查 docker logs -f serena-mcp 对于Serena打印的确切SSE URL/路径,然后将Cursor的HTTP/SSE MCP服务器配置为该URL。

示例 ~/.cursor/mcp.json (默认值来自 .env.example)

{
  "mcpServers": {
    "terraform-mcp": {
      "type": "http",
      "url": "http://127.0.0.1:8080/mcp"
    },
    "serena-mcp": {
      "type": "sse",
      "url": "http://127.0.0.1:9121/sse"
    }
  }
}

如果更改,请调整端口或端点 MCP_PORT, MCP_ENDPOINT,或 SERENA_MCP_PORT 在 .env.

可选:在本地添加TLS

如果你想用HTTPS进行本地测试,我们可以添加一个Caddy/Traefik sidecar来终止TLS https://localhost 同时保持MCP容器的私密性。看 ROADMAP.md.

停止

docker compose down