T

Terraform MCP工具

@nwiizo/tfmcp
0 Stars 350 次浏览 nwiizo 更新于 2026-08-23

🌍 Terraform模型上下文协议(MCP)工具 - 一个实验性的命令行工具,使AI助手能够管理和操作Terraform环境。支持读取Terraform配置、分析计划、应用配置以及通过Claude Desktop集成来管理状态。⚡️

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

tfmcp: Terraform Model Context Protocol 工具

⚠️ 该项目处于实验阶段。功能可能会在没有通知的情况下发生变化。谨慎使用!⚠️

tfmcp 是一个命令行工具,它通过 Model Context Protocol (MCP) 帮助您与 Terraform 进行交互。它允许 LLMs 管理和操作您的 Terraform 环境,包括:

🎮 演示

观看 Claude Desktop 中的 tfmcp 演示:

tfmcp 在 Claude Desktop 中的演示

  • 读取 Terraform 配置文件
  • 分析 Terraform 计划输出
  • 应用 Terraform 配置
  • 管理 Terraform 状态
  • 创建和修改 Terraform 配置

🎉 最新发布

tfmcp 的第一个稳定版本 (v0.1.1) 现已在 Crates.io 上提供!您可以轻松地使用 Cargo 安装它:

cargo install tfmcp

功能

  • 🚀 Terraform 集成
    深度集成 Terraform CLI 以分析和执行操作。

  • 📄 MCP 服务器功能
    作为 Model Context Protocol 服务器运行,允许 AI 助手访问和管理 Terraform。

  • ⚡️ 极速处理
    由 Rust 生态系统支持的高速处理能力。

  • 🛠️ 自动设置
    自动创建示例 Terraform 项目(如果需要),确保即使是新用户也能顺畅操作。

安装

从源代码安装

# Clone the repository
git clone https://github.com/nwiizo/tfmcp
cd tfmcp

# Build and install
cargo install --path .

从 Crates.io 安装

cargo install tfmcp

要求

  • Rust (2021 版)
  • 已安装并可在 PATH 中找到 Terraform CLI
  • Claude Desktop(用于 AI 助手集成)

使用方法

$ tfmcp --help
✨ A CLI tool to manage Terraform configurations and operate Terraform through the Model Context Protocol (MCP).

Usage: tfmcp [OPTIONS] [COMMAND]

Commands:
  mcp       Launch tfmcp as an MCP server
  analyze   Analyze Terraform configurations
  help      Print this message or the help of the given subcommand(s)

Options:
  -c, --config <PATH>    Path to the configuration file
  -d, --dir <PATH>       Terraform project directory
  -V, --version          Print version
  -h, --help             Print help

与 Claude Desktop 集成

要将 tfmcp 与 Claude Desktop 一起使用:

  1. 如果还没有安装 tfmcp,请先安装:

    cargo install tfmcp
    
  2. 找到已安装的 tfmcp 可执行文件路径:

    which tfmcp
    
  3. ~/Library/Application\ Support/Claude/claude_desktop_config.json 添加以下配置:

{
  "mcpServers": {
    "tfmcp": {
      "command": "/path/to/your/tfmcp",  // Replace with the actual path from step 2
      "args": ["mcp"],
      "env": {
        "HOME": "/Users/yourusername",  // Replace with your username
        "PATH": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin",
        "TERRAFORM_DIR": "/path/to/your/terraform/project"  // Optional: specify your Terraform project
      }
    }
  }
}
  1. 重启 Claude Desktop 并启用 tfmcp 工具。

  2. 如果不存在 Terraform 项目,tfmcp 将自动在 ~/terraform 目录下创建一个示例项目,确保 Claude 可以立即开始使用 Terraform。示例项目基于此仓库中 example/demo 目录下的示例。

日志与故障排除

tfmcp 服务器日志位于:

~/Library/Logs/Claude/mcp-server-tfmcp.log

常见问题及解决方案:

  • Claude 无法连接到服务器:请确保配置中的 tfmcp 可执行文件路径正确。
  • Terraform 项目问题:如果没有找到 Terraform 项目,tfmcp 会自动创建一个示例项目。
  • 找不到方法错误:MCP 协议支持包括 resources/list 和 prompts/list 方法。

环境变量

  • TERRAFORM_DIR: 设置此变量以指定自定义的 Terraform 项目目录。如果未设置,tfmcp 将使用命令行参数、配置文件中提供的目录,或者默认使用 ~/terraform。您还可以在运行时使用 set_terraform_directory 工具更改项目目录。
  • TFMCP_LOG_LEVEL: 设置为 debuginfowarnerror 以控制日志详细程度。
  • TFMCP_DEMO_MODE: 设置为 true 以启用带有额外安全功能的演示模式。

安全注意事项

在使用 tfmcp 时,请注意以下安全事项:

  • tfmcp 会代表您执行 Terraform 命令,这可能会创建、修改或销毁基础设施
  • 在生产环境中,考虑使用适当的 IAM 权限和角色边界
  • 在应用之前审查所有 Terraform 计划,尤其是由 AI 生成的计划
  • 您的 Terraform 状态中的敏感信息可能对 AI 助手可见

贡献

欢迎贡献!请随时提交 Pull Request。

  1. Fork 仓库
  2. 创建您的特性分支 (git checkout -b feature/amazing-feature)
  3. 提交您的更改 (git commit -m 'Add some amazing feature')
  4. 推送到该分支 (git push origin feature/amazing-feature)
  5. 打开一个 Pull Request

路线图

以下是 tfmcp 的一些计划改进和未来功能:

已完成

  • 基本 Terraform 集成
    与 Terraform CLI 的核心集成,用于分析和执行操作。

  • MCP 服务器实现
    为 AI 助手实现 Model Context Protocol 服务器的初始版本。

  • 自动项目创建
    添加了根据需要自动创建示例 Terraform 项目的功能。

  • Claude Desktop 集成
    支持与 Claude Desktop 无缝集成。

  • 核心 MCP 方法
    实现了包括 resources/list 和 prompts/list 在内的关键 MCP 方法。

  • 错误处理改进
    更好的错误处理和恢复机制,以确保稳健的操作。

  • 动态项目目录切换
    添加了无需重启服务即可更改活动 Terraform 项目目录的功能。

  • Crates.io 发布
    将包发布到 Crates.io,以便通过 Cargo 轻松安装。

进行中

  • 增强的 Terraform 分析
    实现对 Terraform 配置、计划和状态文件的更深层次解析和分析。

  • 多环境支持
    添加对管理多个 Terraform 环境、工作区和模块的支持。

  • 安全增强
    改进安全特性,包括更好的身份验证和授权机制。

  • 扩展 MCP 协议支持
    实现额外的 MCP 方法和功能,以实现与 AI 助手的更丰富集成。

  • 交互式 TUI
    开发基于终端的用户界面,以便于本地使用和调试。

  • 成本估算
    与云提供商的价格 API 集成,为 Terraform 计划提供成本估算。

  • 性能优化
    优化大型 Terraform 项目的资源使用和响应时间。

  • 与其他 AI 平台的集成
    扩展支持范围,不仅限于 Claude,还包括其他 AI 助手和平台。

  • 全面的测试框架
    扩大测试覆盖范围,包括与实际 Terraform 配置的集成测试。

  • 插件系统
    开发插件架构,允许扩展核心功能。

许可证

本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。

相关 MCP 服务