关于 GCP Terraform MCP Server
GCP Terraform MCP Server 为在 GCP 上构建 Terraform 基础设施的团队提供指导、模块分析和安全检查。它结合 Terraform 工作流、Checkov 扫描及 GCP Provider 文档。
主要功能
- 01GCP Terraform 最佳实践指导
- 02Checkov 安全扫描与修复
- 03GCP Provider 资源文档
- 04Terraform Registry 模块分析
- 05Terraform 初始化、计划、验证、应用和销毁
- 06GenAI 模块模板
适用场景
- 01设计 GCP Terraform 配置
- 02扫描基础设施代码中的安全问题
- 03检查 Registry 模块的输入和依赖
- 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查看资源列表
先决条件
- 从 Astral 或 GitHub README 安装
uv - 使用
uv python install 3.10安装 Python - 安装 Terraform CLI 以执行工作流
- 安装 Checkov 以进行安全扫描
- 设置 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": []
}
}
}
本地开发
若要在本地运行和开发:
- 创建并激活虚拟环境
python3 -m venv venv
source venv/bin/activate
- 升级 pip 并安装项目依赖项
pip install --upgrade pip
pip install -e .
- 运行 MCP 服务
uvicorn gcp_terraform_mcp_server.main:app --host 0.0.0.0 --port 8080
- (可选)使用脚本入口点
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 更改应用于生产环境之前,你应进行独立评估,确保你的基础设施符合你自己的特定安全和质量控制实践与标准,以及适用于你和你的内容的当地法律、规则和法规。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。