使用说明
项目简介
Terraform Cloud MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,它充当 Claude (或其他支持 MCP 协议的 LLM 客户端) 与 Terraform Cloud API 之间的桥梁。通过这个服务器,用户可以使用自然语言指令,让 Claude 执行 Terraform Cloud 的各项操作,例如管理工作空间、运行 Terraform 配置、管理组织等,从而实现基础设施即代码 (IaC) 的自然语言交互。
主要功能点
- 身份验证:验证 Terraform Cloud API Token,并获取用户信息。
- 工作空间管理:支持工作空间的创建、读取、更新、删除、锁定和解锁等操作。
- 运行管理:支持创建、列出、获取运行详情,以及应用、丢弃、取消运行等操作。
- 组织管理:支持列出和获取组织详情,以及创建、更新、删除组织等操作。
- 工具丰富:提供了针对 Terraform Cloud 各种资源和操作的工具,例如 'validate_token', 'list_workspaces', 'create_run', 'delete_organization' 等。
- 易于集成:支持通过 MCP 开发工具、命令行或配置文件与 Claude 等 MCP 客户端连接。
安装步骤
-
克隆仓库
git clone https://github.com/severity1/terraform-cloud-mcp.git cd terraform-cloud-mcp -
创建并激活虚拟环境 (推荐使用 'uv',也可以使用 'venv' 或 'virtualenv')
uv venv source .venv/bin/activate -
安装依赖
uv pip install -e .
服务器配置
要让 MCP 客户端(例如 Claude Desktop 或 Claude Code CLI)连接到 Terraform Cloud MCP Server,需要配置服务器的启动命令和参数。以下是针对不同 MCP 客户端的配置方法:
1. Claude Desktop 配置 (claude_desktop_config.json)
在 Claude Desktop 的配置文件 'claude_desktop_config.json' 中,添加或修改 'mcpServers' 部分:
{ "mcpServers": { "terraform-cloud-mcp": { "command": "/path/to/uv", "args": [ "--directory", "/path/to/terraform-cloud-mcp", "run", "server.py" ], "env": { "TFC_TOKEN": "your_terraform_cloud_token" } } } }
配置参数说明:
- '"terraform-cloud-mcp"': 服务器名称,可以自定义,用于在 Claude 中标识该服务器。
- '"command"': 启动服务器的命令,这里使用 'uv run',需要替换为 'uv' 可执行文件的完整路径 (可以使用 'which uv' 或 'where uv' 查找)。
- '"args"': 传递给 'uv run' 命令的参数列表:
- '"--directory"': 指定服务器代码所在的目录,需要替换为 'terraform-cloud-mcp' 仓库的完整路径。
- '"run"': 'uv run' 命令的子命令,用于运行 Python 脚本。
- '"server.py"': 服务器主程序脚本的名称。
- '"env"': 环境变量配置:
- '"TFC_TOKEN"': Terraform Cloud API Token,必须替换为你的实际 Token。这是访问 Terraform Cloud API 的凭证。
2. Claude Code CLI 配置 (claude mcp add)
使用 Claude Code CLI 添加 MCP 服务器:
claude mcp add terraform-cloud-mcp "uv run $(pwd)/server.py"
或者,如果需要通过环境变量传递 Terraform Cloud API Token:
claude mcp add terraform-cloud-mcp -e TFC_TOKEN=YOUR_TF_TOKEN -- "uv run $(pwd)/server.py"
配置参数说明:
- '"terraform-cloud-mcp"': 服务器名称,与 Claude Desktop 配置中的名称保持一致。
- '"uv run $(pwd)/server.py"': 服务器启动命令,与 Claude Desktop 配置中的 'command' 和 'args' 组合功能相同。'$(pwd)' 会被替换为当前目录的绝对路径,确保 'server.py' 脚本能够被找到。
- '-e TFC_TOKEN=YOUR_TF_TOKEN': 通过环境变量传递 Terraform Cloud API Token,'YOUR_TF_TOKEN' 必须替换为你的实际 Token。
基本使用方法
-
启动服务器: 根据你的 MCP 客户端配置,启动 Terraform Cloud MCP Server。例如,对于 Claude Desktop,启动 Claude Desktop 后,服务器会自动根据 'claude_desktop_config.json' 中的配置启动。对于 Claude Code CLI,可以使用 'mcp dev server.py' 或 'mcp run server.py' 命令启动。
-
与 Claude 对话: 在 Claude 客户端中,你可以使用自然语言指令来管理 Terraform Cloud 资源。例如:
- "验证我的 Terraform Cloud API Token"
- "列出我在 'example-org' 组织中的所有工作空间"
- "创建名为 'staging' 的工作空间,并启用自动应用"
- "删除 'dev-test' 工作空间"
- "为 'production' 工作空间创建一个计划"
- "应用 run ID 为 'run-CZcmD7eagjhyX0vN' 的运行"
- "列出所有 Terraform Cloud 组织"
- "获取 'example-org' 组织的详细信息"
-
利用提供的工具: 该服务器提供了丰富的工具,涵盖身份验证、工作空间管理、运行管理和组织管理。你可以参考 README.md 文件中 "Available Tools" 部分,了解每个工具的详细功能和参数,并在与 Claude 的对话中灵活使用。
注意:
- Terraform Cloud API Token: 请务必安全保管你的 Terraform Cloud API Token,并避免在公共场合泄露。
- 错误排查: 如果遇到问题,可以查看服务器日志 (默认已启用 debug logging) 或使用 MCP Inspector (如果使用 'mcp dev server.py' 启动)。
信息
分类
开发者工具