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
中启用:
贡献
欢迎贡献!如果您想为该项目做出贡献,请打开一个问题或拉取请求。
请参阅我们的贡献指南,了解有关如何开始、代码质量标准和拉取请求流程的详细说明。
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
- -securityFlicense-qualityA Model Context Protocol server built with mcp-framework that allows users to create and manage custom tools for processing data, integrating with the Claude Desktop via CLI.Last updated -325TypeScript
- -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 -324RustMIT License
- AsecurityFlicenseAqualityA Model Context Protocol (MCP) server that integrates with OmniFocus to enable Claude (or other MCP-compatible AI assistants) to interact with your tasks and projects.Last updated -732257TypeScript
- AsecurityFlicenseAqualityA Model Context Protocol (MCP) server that allows Claude AI to interact with custom tools, enabling extension of Claude's capabilities through the MCP framework.Last updated -TypeScript