Terraform Cloud MCP 服务器
模型上下文协议 (MCP) 服务器将 AI 助手与 Terraform Cloud API 集成,让您能够通过自然对话管理基础架构。该服务器基于 Pydantic 模型构建,并围绕特定领域模块构建,可与任何支持 MCP 的平台兼容,包括 Claude、Claude Code CLI、Claude Desktop、Cursor、Copilot Studio 等。
特征
- 帐户管理:获取经过身份验证的用户或服务帐户的帐户详细信息。
- 工作区管理:创建、读取、更新、删除、锁定/解锁工作区。
- 项目管理:创建、列出、更新和删除项目;管理项目标签绑定并在项目之间移动工作区。
- 运行管理:创建运行、列出运行、获取运行详细信息、应用/放弃/取消运行。
- 计划管理:使用高级 HTTP 重定向处理检索计划详细信息和 JSON 执行输出。
- 申请管理:获取申请详情并从失败状态上传中恢复。
- 组织管理:列出、创建、更新、删除组织以及查看组织权利。
- 未来功能:变量管理、状态版本等。
快速入门
先决条件
- Python 3.12+
- MCP(包括FastMCP和开发工具)
uv
包管理器(推荐)或pip
- Terraform Cloud API 令牌
安装
添加到 Claude 环境
添加到 Claude Code CLI
添加到 Claude 桌面
创建claude_desktop_config.json
配置文件:
- mac:〜/ Library / Application Support / Claude / claude_desktop_config.json
- 胜利:%APPDATA%\Claude\claude_desktop_config.json
用您的实际 Terraform Cloud API 令牌替换your_terraform_cloud_token
。
其他 MCP 兼容平台
对于其他平台(例如 Cursor、Copilot Studio 或 Glama),请按照其平台特定的说明添加 MCP 服务器。大多数平台需要:
- 用于启动服务器的服务器路径或命令。
- Terraform Cloud API 令牌的环境变量。
- 配置在需要时自动启动服务器。
可用工具
账户工具
get_account_details()
:获取经过身份验证的用户或服务帐户的帐户信息。
工作区管理工具
列表和搜索
list_workspaces(organization, page_number, page_size, search)
:列出和过滤工作区。get_workspace_details(workspace_id, organization, workspace_name)
:获取有关特定工作区的详细信息。
创建和更新
create_workspace(organization, name, params)
:使用可选参数创建一个新的工作区。update_workspace(organization, workspace_name, params)
:更新现有工作区的配置。
删除
delete_workspace(organization, workspace_name)
:删除工作区及其所有内容。safe_delete_workspace(organization, workspace_name)
:仅当工作区未管理任何资源时才删除。
锁定和解锁
lock_workspace(workspace_id, reason)
:锁定工作区以防止运行。unlock_workspace(workspace_id)
:解锁工作区以允许运行。force_unlock_workspace(workspace_id)
:强制解锁被其他用户锁定的工作区。
运行管理工具
create_run(workspace_id, params)
:使用其 ID 在工作区中创建并排队 Terraform 运行。list_runs_in_workspace(workspace_id, ...)
:使用 ID 列出并过滤特定工作区中的运行。list_runs_in_organization(organization, ...)
:列出并过滤整个组织的运行。get_run_details(run_id)
:获取有关特定运行的详细信息。apply_run(run_id, comment)
:应用等待确认的运行。discard_run(run_id, comment)
:放弃等待确认的运行。cancel_run(run_id, comment)
:取消当前计划或申请的运行。force_cancel_run(run_id, comment)
:立即强制取消运行。force_execute_run(run_id)
:通过取消之前的运行强制执行待处理的运行。
计划管理工具
get_plan_details(plan_id)
:获取有关特定计划的详细信息。get_plan_json_output(plan_id)
:检索具有适当重定向处理的特定计划的 JSON 执行计划。get_run_plan_json_output(run_id)
:通过适当的重定向处理从运行中检索 JSON 执行计划。
应用管理工具
get_apply_details(apply_id)
:获取有关特定申请的详细信息。get_errored_state(apply_id)
:从失败的申请中检索错误状态以进行恢复。
项目管理工具
create_project(organization, name, params)
:使用可选参数创建一个新项目。update_project(project_id, params)
:更新现有项目的配置。list_projects(organization, ...)
:列出并过滤组织中的项目。get_project_details(project_id)
:获取有关特定项目的详细信息。delete_project(project_id)
:删除一个项目(如果它包含工作区则失败)。list_project_tag_bindings(project_id)
:列出绑定到项目的标签。add_update_project_tag_bindings(project_id, tag_bindings)
:添加或更新项目的标签绑定。move_workspaces_to_project(project_id, workspace_ids)
:将工作区移动到项目中。
组织管理工具
get_organization_details(organization)
:获取有关特定组织的详细信息。get_organization_entitlements(organization)
:显示组织功能的权利集。list_organizations(page_number, page_size, query, query_email, query_name)
:列出和过滤组织。create_organization(name, email, params)
:使用可选参数创建一个新组织。update_organization(organization, params)
:更新现有组织的设置。delete_organization(organization)
:删除组织及其所有内容。
开发指南
有关详细的开发指南,包括代码标准、Pydantic 模式和贡献工作流程,请参阅我们的开发文档。
快速开发设置
基本开发命令
有关代码组织、架构、开发工作流程和代码质量指南的详细信息,请参阅docs/DEVELOPMENT.md 。
文档
代码库包含全面的文档:
- 代码注释:重点解释实施决策背后的“原因”
- 文档字符串:所有公共函数和类都包含详细的文档字符串
- 示例文件:
docs/
目录包含每个域的详细示例:docs/DEVELOPMENT.md
:开发标准和编码指南docs/CONTRIBUTING.md
:项目贡献指南docs/models/
:所有模型类型的使用示例docs/tools/
:每个工具的详细使用示例docs/conversations/
:使用 API 的示例对话流程
故障排除
- 检查服务器日志(默认启用调试日志)
- 使用 MCP 检查器 ( http://localhost:5173 ) 进行调试
- 调试日志记录已在
server.py
中启用:
贡献
欢迎贡献!如果您想为该项目做出贡献,请打开一个问题或拉取请求。
请参阅我们的贡献指南,了解有关如何开始、代码质量标准和拉取请求流程的详细说明。
You must be authenticated.
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
模型上下文协议 (MCP) 服务器将 Claude 与 Terraform Cloud API 集成,允许 Claude 通过自然对话管理您的 Terraform 基础设施。
Related Resources
Related MCP Servers
- AsecurityFlicenseAqualityA Model Context Protocol (MCP) server that enables AI assistants like Claude to interact with your AWS environment. This allows for natural language querying and management of your AWS resources during conversations. Think of better Amazon Q alternative.Last updated -3264TypeScript
- -securityAlicense-quality🌍 Terraform Model Context Protocol (MCP) Tool - An experimental CLI tool that enables AI assistants to manage and operate Terraform environments. Supports reading Terraform configurations, analyzing plans, applying configurations, and managing state with Claude Desktop integration. ⚡️Last updated -292RustMIT License
- -securityFlicense-qualityA starter template for building Model Context Protocol (MCP) servers, enabling developers to create and add custom tools that can be integrated with Claude Desktop.Last updated -TypeScript
- AsecurityFlicenseAqualityA server built on mcp-framework that enables integration with Claude Desktop through the Model Context Protocol.Last updated -11