Token导航 LogoToken导航TokenDH.com
Terraform Plan Analyzer MCP Server logo
运维云端stdio官方级别未说明来源级核验

Terraform Plan Analyzer MCP Server

MCP Server

一个用于分析Terraform计划的MCP服务器,提供执行Terraform命令、分析计划输出、生成报告和跟踪日志文件的功能。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
基础设施即代码PythonClaude开发工具Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

CodeSSRockMan

提供方

CodeSSRockMan

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

地形图分析器MCP服务器

一种模型上下文协议(MCP)服务器,提供用于分析地形图的工具。此服务器可以执行地形命令、分析计划输出、生成报告和跟踪日志文件。

特性

  • 执行地形命令:安全运行地形图和其他命令
  • 计划分析:解析地形图输出并提取资源变化
  • 报告生成:使用筛选结果创建降价报告
  • 日志文件跟踪:跟踪生成的日志文件
  • 可配置过滤:过滤掉特定的资源模式(清单版本、NAT VM等)
  • 环境变量支持:使用自定义环境变量执行命令

安装

  1. 安装依赖项:
pip install -r requirements.txt
  1. 确保您的PATH中已安装并可用地形模型

用法

作为MCP服务器

使用stdio传输运行服务器:

python server.py

服务器将通过stdin/stdout使用模型上下文协议进行通信。

可用工具

1. run_terraform_plan

执行地形规划命令并返回输出。

参数:

  • command (可选):要执行的terraform命令(默认:“terraform plan”)
  • working_directory (可选):运行命令的目录

例子:

{
  "name": "run_terraform_plan",
  "arguments": {
    "command": "terraform plan -out=myplan.tfplan",
    "working_directory": "/path/to/terraform/project"
  }
}

2. analyze_terraform_output

分析地形平面图输出并提取变化。

参数:

  • plan_output:要分析的地形图输出文本
  • filter_patterns (可选):从结果中筛选出的模式列表

例子:

{
  "name": "analyze_terraform_output",
  "arguments": {
    "plan_output": "# terraform plan output here...",
    "filter_patterns": ["temp", "staging"]
  }
}

3. generate_plan_report

根据地形图输出生成全面的降价报告。

参数:

  • plan_output:要分析的地形图输出文本
  • output_file (可选):保存报告的文件路径

例子:

{
  "name": "generate_plan_report",
  "arguments": {
    "plan_output": "# terraform plan output here...",
    "output_file": "/path/to/report.md"
  }
}

4. run_custom_terraform_command

使用可选环境变量执行自定义地形命令。

参数:

  • command:要执行的terraform命令
  • working_directory (可选):运行命令的目录
  • environment_vars (可选):要设置的环境变量

例子:

{
  "name": "run_custom_terraform_command",
  "arguments": {
    "command": "terraform plan -var-file=staging.tfvars",
    "working_directory": "/path/to/project",
    "environment_vars": {
      "TF_WORKSPACE": "staging",
      "TF_LOG": "INFO"
    }
  }
}

配置

过滤模式

默认情况下,分析器会过滤掉包含这些模式的资源:

  • manifest
  • version
  • nat-vm
  • nat_vm

您可以使用自定义这些模式 filter_patterns 参数在 analyze_terraform_output 工具。

工作目录

如果没有指定工作目录,服务器将使用启动服务器的当前工作目录。

集成示例

使用MCP客户端

服务器遵循标准的MCP协议,可以与任何兼容MCP的客户端(Claude Desktop、GitHub Copilot CLI等)集成。

配置示例:

{
  "mcpServers": {
    "terraform-analyzer": {
      "command": "python",
      "args": ["/path/to/terraform-plan-mcp-server/server.py"],
      "cwd": "/path/to/your/terraform/project"
    }
  }
}

发展

项目结构

terraform-plan-mcp-server/
├── server.py              # Main MCP server implementation
├── requirements.txt       # Python dependencies
├── README.md              # This file
├── examples/              # Usage examples (optional)
└── tests/                 # Unit tests (optional)

关键组件

  1. 地形平面分析仪:地形操作的核心类
  2. MCP工具:实现MCP工具界面的装饰功能
  3. 异步操作:所有地形命令异步运行
  4. 日志记录:正确记录到stderr(不是stdout),以避免干扰MCP协议

错误处理

服务器包括全面的错误处理:

  • 捕获并返回命令执行错误
  • 自定义命令后的环境变量恢复
  • 正确清理临时文件
  • 记录调试错误

安全考虑

  • 服务器执行shell命令,因此请确保它在安全的环境中运行
  • 自定义命令后,环境变量会正确还原
  • 日志文件是使用适当的权限创建的
  • 没有记录或暴露敏感数据

扩展服务器

要添加新工具,请执行以下操作:

  1. 使用定义新函数 @server.tool() 装饰器
  2. 包含正确的类型提示和文档字符串
  3. 返回 List[types.TextContent] 结果
  4. 适当处理错误并记录下来

例子:

@server.tool()
async def my_custom_tool(param1: str, param2: Optional[int] = None) -> List[types.TextContent]:
    """
    Description of what this tool does.
    
    Args:
        param1: Description of parameter 1
        param2: Description of parameter 2 (optional)
    """
    try:
        # Tool implementation here
        result = f"Processing {param1} with {param2}"
        return [types.TextContent(type="text", text=result)]
    except Exception as e:
        logger.error(f"Error in my_custom_tool: {e}")
        return [types.TextContent(type="text", text=f"Error: {str(e)}")]

许可证

本项目按原样提供,用于教育和发展目的。

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

支持

对于问题或疑问:

  1. 检查日志中的错误消息
  2. 验证地形是否正确安装
  3. 确保工作目录权限正确
  4. 检查MCP客户端配置

目录标签

目录标签

基础设施即代码PythonClaude开发工具Terraform分析本地部署自动化部署云资源管理

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP