hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Terraform Cloud MCP 服务器
模型上下文协议 (MCP) 服务器将 AI 助手与 Terraform Cloud API 集成,让您能够通过自然对话管理基础架构。该服务器基于 Pydantic 模型构建,并围绕特定领域模块构建,可与任何支持 MCP 的平台兼容,包括 Claude、Claude Code CLI、Claude Desktop、Cursor、Copilot Studio 等。
特征
- 帐户管理:获取经过身份验证的用户或服务帐户的帐户详细信息。
- 工作区管理:创建、读取、更新、删除、锁定/解锁工作区。
- 运行管理:创建运行、列出运行、获取运行详细信息、应用/放弃/取消运行。
- 组织管理:列出、创建、更新、删除组织以及查看组织权利。
- 未来功能:状态管理、变量管理等。
快速入门
先决条件
- 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)
:强制解锁被其他用户锁定的工作区。
数据保留
set_data_retention_policy(workspace_id, days)
:设置数据保留策略。get_data_retention_policy(workspace_id)
:获取当前数据保留策略。delete_data_retention_policy(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_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
中启用:Copy
贡献
欢迎贡献!如果您想为该项目做出贡献,请打开一个问题或拉取请求。
请参阅我们的贡献指南,了解有关如何开始、代码质量标准和拉取请求流程的详细说明。
You must be authenticated.
Tools
模型上下文协议 (MCP) 服务器将 Claude 与 Terraform Cloud API 集成,允许 Claude 通过自然对话管理您的 Terraform 基础设施。