mcpField
G
GCP Terraform MCP Server

GCP Terraform MCP Server

本地服务
github.com/Kamalesh-Seervi云与基础设施177 周前更新

关于 GCP Terraform MCP Server

GCP Terraform MCP Server 为在 GCP 上构建 Terraform 基础设施的团队提供指导、模块分析和安全检查。它结合 Terraform 工作流、Checkov 扫描及 GCP Provider 文档。

主要功能

  1. 01GCP Terraform 最佳实践指导
  2. 02Checkov 安全扫描与修复
  3. 03GCP Provider 资源文档
  4. 04Terraform Registry 模块分析
  5. 05Terraform 初始化、计划、验证、应用和销毁
  6. 06GenAI 模块模板

适用场景

  1. 01设计 GCP Terraform 配置
  2. 02扫描基础设施代码中的安全问题
  3. 03检查 Registry 模块的输入和依赖
  4. 04对项目运行验证或部署步骤

MCP 相关

该 MCP 服务向 MCP 客户端提供 Terraform 工作流、Checkov、GCP 文档、模块分析和 GenAI 模块工具,以及相关指导资源。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

GCP Terraform MCP 服务

用于在 GCP 上遵循 Terraform 最佳实践、基础设施即代码模式以及使用 Checkov 满足安全合规要求的 MCP 服务。

功能

  • Terraform 最佳实践 - 获取关于在 GCP 上构建应用的 Terraform 指导建议

    • GCP Terraform 配置架构指导
    • 安全与合规建议
    • GCP 提供程序配置最佳实践
  • 安全优先的开发工作流 - 遵循结构化流程,创建安全代码

    • 分步指导验证与安全扫描
    • 在开发的合适阶段集成 Checkov
    • 明确 AI 协助与开发者部署之间的交接节点
  • Checkov 集成 - 使用 Checkov 进行安全与合规扫描

    • 扫描 Terraform 代码以发现漏洞
    • 尽可能自动修复已发现的安全问题
    • 获取合规问题的详细修复指导
  • GCP 提供程序文档 - 搜索 Google Cloud 提供程序资源

    • 查找特定资源和属性的文档
    • 获取示例代码片段和实现指导
    • 查看 GCP 服务配置最佳实践
  • GCP GenAI 模块 - 获取适用于 AI/ML 工作负载的专用模块

    • 用于生成式 AI 应用的 Vertex AI 模块
    • 用于数据存储的 BigQuery 和 BigTable
    • 用于无服务器工作负载的 Cloud Functions
    • 用于 AI 工作负载编排的 Google Kubernetes Engine
  • Terraform Registry 模块分析 - 分析 Terraform Registry 模块

    • 按 URL 或标识符搜索模块
    • 提取输入变量、输出变量和 README 内容
    • 了解模块用法和配置选项
    • 分析模块结构和依赖项
  • Terraform 工作流执行 - 直接运行 Terraform 命令

    • 执行初始化、计划、验证、应用和销毁操作
    • 传递变量并指定 GCP 区域
    • 获取格式化的命令输出以供分析

工具和资源

  • Terraform 开发工作流:通过 terraform://workflow_guide 遵循以安全为重点的开发流程
  • GCP 最佳实践:通过 terraform://gcp_best_practices 获取 GCP 专属指导
  • GCP 提供程序资源:通过 terraform://gcp_provider_resources_listing 查看资源列表

先决条件

  1. 从 Astral 或 GitHub README 安装 uv
  2. 使用 uv python install 3.10 安装 Python
  3. 安装 Terraform CLI 以执行工作流
  4. 安装 Checkov 以进行安全扫描
  5. 设置 GCP 身份验证(推荐使用 gcloud CLI)

安装

安装 FastMCP

我们建议使用 uv 安装和管理 FastMCP:

uv add fastmcp

也可以直接使用 pip 或 uv pip 安装:

uv pip install fastmcp
# or
pip install fastmcp
安装 FastMCP(支持 models)

PyPI 上发布的 FastMCP 版本可能不包含 CLI 所需的 fastmcp.models 子模块。若要直接从 GitHub 安装最新代码:

pip install --upgrade git+https://github.com/jlowin/fastmcp.git@main#egg=fastmcp

然后使用以下命令验证:

fastmcp version
验证安装

运行:

fastmcp version

更多详情请参阅 FastMCP 文档:https://github.com/jlowin/fastmcp

以下是使用 MCP 的几种方式:(例如,配置 MCP 客户端时):

{
  "mcpServers": {
    "gcp-terraform-mcp-server": {
      "command": "uvx",
      "args": ["gcp-terraform-mcp-server@latest"],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

或者,在成功运行 docker build -t gcp-terraform-mcp-server . 后使用 docker:

{
  "mcpServers": {
    "gcp-terraform-mcp-server": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "--interactive",
        "--env",
        "FASTMCP_LOG_LEVEL=ERROR",
        "gcp-terraform-mcp-server:latest"
      ],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}

本地开发

若要在本地运行和开发:

  1. 创建并激活虚拟环境
python3 -m venv venv
source venv/bin/activate
  1. 升级 pip 并安装项目依赖项
pip install --upgrade pip
pip install -e .
  1. 运行 MCP 服务
uvicorn gcp_terraform_mcp_server.main:app --host 0.0.0.0 --port 8080
  1. (可选)使用脚本入口点
gcp-terraform-mcp-server

确保已成功安装 fastmcp 和其他依赖项。如果看到 ModuleNotFoundError: No module named 'fastmcp.models',请确保虚拟环境处于激活状态,且依赖项均已无错误地安装。

运行服务

请使用 FastMCP CLI 启动服务,而不是直接调用主模块:

# Start with stdio transport (default)
fastmcp run src/gcp_terraform_mcp_server/main.py:mcp

# Or start as an SSE server on port 8080
fastmcp run src/gcp_terraform_mcp_server/main.py:mcp --transport sse --host 0.0.0.0 --port 8080

请确保已在当前活动环境中安装 fastmcp。此 CLI 会自动查找并加载 main.py 中导出的 mcp = FastMCP(...) 实例。

可用的 MCP 命令

将此服务与 GitHub Copilot Chat 或其他 MCP 客户端搭配使用时,可用以下命令:

Terraform 工作流工具
命令描述示例
terraform_workflow_guide获取 GCP Terraform 综合指南/mcp gcp-terraform-mcp terraform_workflow_guide
terraform_init初始化 Terraform 项目/mcp gcp-terraform-mcp terraform_init path="./my-project"
terraform_validate验证 Terraform 项目/mcp gcp-terraform-mcp terraform_validate path="./my-project"
terraform_plan为 Terraform 项目生成计划/mcp gcp-terraform-mcp terraform_plan path="./my-project"
terraform_apply应用 Terraform 计划/mcp gcp-terraform-mcp terraform_apply path="./my-project" plan_file="tfplan"
terraform_destroy销毁 Terraform 资源/mcp gcp-terraform-mcp terraform_destroy path="./my-project"
Checkov 安全工具
命令描述示例
terraform_run_checkov运行 Checkov 安全扫描/mcp gcp-terraform-mcp terraform_run_checkov path="./my-project"
terraform_fix_security_issues使用 Checkov 修复安全问题/mcp gcp-terraform-mcp terraform_fix_security_issues path="./my-project"
GCP 最佳实践与安全
命令描述示例
terraform_gcp_best_practices获取 GCP 最佳实践/mcp gcp-terraform-mcp terraform_gcp_best_practices
terraform_gcp_security_recommendations获取 GCP 安全建议/mcp gcp-terraform-mcp terraform_gcp_security_recommendations impact="HIGH"
GCP Provider 文档
命令描述示例
terraform_gcp_provider_resources_listing列出 GCP Provider 资源/mcp gcp-terraform-mcp terraform_gcp_provider_resources_listing service="compute"
terraform_gcp_resource_documentation获取 GCP 资源文档/mcp gcp-terraform-mcp terraform_gcp_resource_documentation resource_name="google_storage_bucket"
Terraform Registry 工具
命令描述示例
terraform_search_modules搜索 Terraform 模块/mcp gcp-terraform-mcp terraform_search_modules query="gcp storage"
terraform_analyze_module分析 Terraform 模块/mcp gcp-terraform-mcp terraform_analyze_module module_id="GoogleCloudPlatform/storage/google/latest"
GenAI 模块工具
命令描述示例
terraform_genai_modules列出 GenAI 模块/mcp gcp-terraform-mcp terraform_genai_modules
terraform_vertex_ai_module获取 Vertex AI 模块模板/mcp gcp-terraform-mcp terraform_vertex_ai_module
terraform_gke_ai_module获取 GKE AI 模块模板/mcp gcp-terraform-mcp terraform_gke_ai_module

GitHub Copilot 集成

要将此 MCP 服务与 GitHub Copilot Chat 搭配使用,请将以下配置添加到 VS Code 的 settings.json 中:

"mcp": {
  "inputs": [],
  "servers": {
    "gcp-terraform-mcp": {
      "command": "/path/to/your/venv/bin/fastmcp",
      "args": [
        "run",
        "/path/to/your/src/gcp_terraform_mcp_server/main.py:mcp"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "INFO"
      },
      "autoApprove": ["terraform_"]
    }
  }
}

添加此配置并重启 VS Code 后,即可在 GitHub Copilot Chat 面板中使用上述命令。

安全注意事项

使用此 MCP 服务时,应注意:

  • 遵循集成了验证和安全扫描的结构化开发工作流
  • 手动检查所有 Checkov 警告和错误
  • 尽可能修复安全问题,而非忽略它们
  • 为任何必要的例外情况提供明确的理由说明
  • 定期使用 RunCheckovScan 工具验证安全合规性
  • 遵循 GCP 基础设施安全最佳实践

在将 Terraform 更改应用于生产环境之前,你应进行独立评估,确保你的基础设施符合你自己的特定安全和质量控制实践与标准,以及适用于你和你的内容的当地法律、规则和法规。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。