Terraform Cloud MCP服务器
模型上下文协议服务器提供Terraform Cloud API集成作为人工智能助手的工具。
特性
此MCP服务器提供了四种与Terraform Cloud交互的主要工具:
- get_run_status:获取工作区的当前运行状态和最近运行情况
- list_workspaces:列出组织中的所有工作区
- get_workspace_details:获取特定工作空间的详细信息
- get_run_details:通过ID获取特定运行的详细信息
安装
npm install
npm run build配置
服务器从以下位置读取您的Terraform Cloud令牌 ~/.terraform.d/credentials.tfrc.json。请确保此文件以以下格式存在:
{
"credentials": {
"app.terraform.io": {
"token": "your-terraform-cloud-token"
}
}
}用法
使用克劳德桌面
添加到您的Claude Desktop配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
{
"mcpServers": {
"terraform-cloud": {
"command": "node",
"args": ["/absolute/path/to/tf-cloud-mcp-server/build/index.js"]
}
}
}与MCP检查员一起
使用MCP检查器测试您的服务器:
npx @modelcontextprotocol/inspector node build/index.js使用VS代码
创建一个 .vscode/mcp.json 项目中的文件:
{
"servers": {
"terraform-cloud": {
"type": "stdio",
"command": "node",
"args": ["/absolute/path/to/tf-cloud-mcp-server/build/index.js"]
}
}
}可用工具
get_run_status
获取Terraform Cloud工作区的当前运行状态。
参数:
workspaceName(string,必填):工作区的名称organization(字符串,可选):组织名称(默认:“urbanmedia”)
例子:
Get the run status for workspace "capivara-dpa-importer"list_workspaces
列出Terraform Cloud组织中的所有工作区。
参数:
organization(字符串,可选):组织名称(默认:“urbanmedia”)
例子:
List all workspaces in urbanmedia organizationget_workspace_details
获取特定工作空间的详细信息。
参数:
workspaceName(string,必填):工作区的名称organization(字符串,可选):组织名称(默认:“urbanmedia”)
例子:
Get details for workspace "capivara-dpa-importer"get_run_details
获取由其ID运行的特定Terraform Cloud的详细信息。
参数:
runId(字符串,必填):运行ID(例如,“Run-abc123”)
例子:
Get details for run "run-abc123"发展
项目结构
tf-cloud-mcp-server/
├── src/
│ └── index.ts # Main server implementation
├── build/ # Compiled JavaScript (generated)
├── package.json
├── tsconfig.json
└── README.md在发展中奔跑
npm run dev # Watch mode for TypeScript compilation建筑
npm run build许可证
麻省理工学院
