← 返回公开榜单
tf

nwiizo/tfmcp

🌍 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. ⚡️

本周新增
3 星
近 3 周倍数
—
距上次推送
314 天
距上次发布
314 天
许可证
MIT

星标增长

每根柱子是这个周期记录下来的 star 增长:优先取逐个 stargazer 到达时间分桶的到达数,还没被 stargazer 扫描覆盖的仓库改用该周期的 star 净增;两个写者都没记录的周期画成虚线空档,而不是当成 0。柱高按各自窗口的峰值归一,两张图不共用坐标轴。指向任意一根柱子, tooltip 里是该周期的九项指标:当前值与周期内的净增。

指向或点击一根柱子,看当天的九项指标。

12/1712/301/111/242/62/193/33/16

2025 年 12 月 18 日 新增 0 个星标; 2025 年 12 月 21 日 新增 0 个星标; 2025 年 12 月 24 日 新增 0 个星标; 2026 年 1 月 2 日 新增 2 个星标; 2026 年 1 月 4 日 新增 1 个星标; 2026 年 1 月 6 日 新增 0 个星标; 2026 年 1 月 8 日 新增 1 个星标; 2026 年 1 月 12 日 新增 0 个星标; 2026 年 1 月 13 日 新增 -1 个星标; 2026 年 1 月 15 日 新增 0 个星标; 2026 年 1 月 18 日 新增 0 个星标; 2026 年 1 月 25 日 新增 3 个星标; 2026 年 1 月 26 日 新增 0 个星标; 2026 年 2 月 1 日 新增 1 个星标; 2026 年 2 月 2 日 新增 0 个星标; 2026 年 2 月 8 日 新增 0 个星标; 2026 年 2 月 9 日 新增 0 个星标; 2026 年 2 月 11 日 新增 0 个星标; 2026 年 2 月 13 日 新增 0 个星标; 2026 年 2 月 14 日 新增 0 个星标; 2026 年 2 月 16 日 新增 0 个星标; 2026 年 2 月 17 日 新增 0 个星标; 2026 年 2 月 21 日 新增 0 个星标; 2026 年 3 月 16 日 新增 3 个星标

窗口内最高的一天是 2026 年 1 月 25 日,新增 3 个星标。

证据时间轴

  1. 第 2026 年第 1 周发布 1 次

    累计 3 个 release

README
该仓库存储的文档,若已生成中文翻译则一并显示

tfmcp: Terraform模型上下文协议工具

⚠️ 本项目包含适用于生产环境的安全功能,但仍在积极开发中。虽然安全系统提供了强大的保护,但在生产环境中请仔细审查所有操作。 ⚠️

tfmcp 是一个命令行工具,通过模型上下文协议(MCP)帮助您与 Terraform 交互。它允许大型语言模型(LLM)管理和操作您的 Terraform 环境,包括:

🎮 演示

使用 Claude Desktop 查看tfmcp的演示效果:

tfmcp与Claude Desktop的演示

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

🎉 最新版本

tfmcp 的最新版本(v0.1.3)现已发布于 Crates.io!您可以使用 Cargo 轻松安装:

cargo install tfmcp

🆕 v0.1.3中的新功能

  • 🔐 全面安全系统:适用于生产环境的安全控制,包含审计日志
  • 📊 增强Terraform分析:详细的验证和最佳实践建议
  • 🛡️ 访问控制:基于文件模式的限制和资源限制
  • 📝 审计日志:完整的操作跟踪,用于合规和监控

功能

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

  • 📄 MCP服务器功能
    作为模型上下文协议服务器运行,允许AI助手访问和管理Terraform。

  • 🔐 企业级安全
    适用于生产环境的安全控制,包含可配置策略、审计日志和访问限制。

  • 📊 高级分析
    详细的Terraform配置分析,包含最佳实践建议和安全检查。

  • ⚡️ 极速性能
    由Rust生态系统提供的高速处理,包含优化的解析和缓存。

  • 🛠️ 自动设置
    在需要时自动创建示例Terraform项目,确保新用户也能顺畅使用。

  • 🐳 Docker支持
    在容器化环境中运行tfmcp,所有依赖项均已预装。

安装

从源代码安装

# 克隆仓库
git clone https://github.com/nwiizo/tfmcp
cd tfmcp

# 构建并安装
cargo install --path .

从Crates.io安装

cargo install tfmcp

使用Docker

# 克隆仓库
git clone https://github.com/nwiizo/tfmcp
cd tfmcp

# 构建Docker镜像
docker build -t tfmcp .

# 运行容器
docker run -it tfmcp

依赖项

  • Rust (2021版本)
  • 已安装并可在PATH中访问的Terraform CLI
  • Claude Desktop (用于AI助手集成)
  • Docker (可选,用于容器化部署)

使用方法

$ tfmcp --help
✨ 一个用于管理Terraform配置并通过模型上下文协议(MCP)操作Terraform的CLI工具。

用法:tfmcp [选项] [命令]

命令:
  mcp       以MCP服务器模式启动tfmcp
  analyze   分析Terraform配置
  help      打印此消息或给定子命令的帮助信息

选项:
  -c, --config <路径>    配置文件路径
  -d, --dir <路径>       Terraform项目目录
  -V, --version          打印版本信息
  -h, --help             打印帮助信息

使用Docker

使用Docker时,您可以像这样运行tfmcp命令:

# 以MCP服务器模式运行(默认)
docker run -it tfmcp

# 带有特定命令和选项运行
docker run -it tfmcp analyze --dir /app/example

# 挂载您的Terraform项目目录
docker run -it -v /path/to/your/terraform:/app/terraform tfmcp --dir /app/terraform

# 设置环境变量
docker run -it -e TFMCP_LOG_LEVEL=debug tfmcp

与Claude Desktop集成

要使用tfmcp与Claude Desktop集成:

  1. 如果尚未安装,请安装tfmcp:

    cargo install tfmcp
    

    或者,您可以使用Docker:

    docker build -t tfmcp .
    
  2. 找到已安装的tfmcp可执行文件的路径:

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

{
  "mcpServers": {
    "tfmcp": {
      "command": "/path/to/your/tfmcp",  // 替换为步骤2中的实际路径
      "args": ["mcp"],
      "env": {
        "HOME": "/Users/yourusername",  // 替换为您的用户名
        "PATH": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin",
        "TERRAFORM_DIR": "/path/to/your/terraform/project"  // 可选:指定您的Terraform项目
      }
    }
  }
}

如果您使用Docker与Claude Desktop集成,可以像这样设置配置:

{
  "mcpServers": {
    "tfmcp": {
      "command": "docker",
      "args": ["run", "--rm", "-v", "/path/to/your/terraform:/app/terraform", "tfmcp", "mcp"],
      "env": {
        "TERRAFORM_DIR": "/app/terraform"
      }
    }
  }
}
  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 方法
  • Docker问题:如果使用Docker,请确保容器具有正确的卷挂载和权限

环境变量

核心配置

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

安全配置

  • TFMCP_ALLOW_DANGEROUS_OPS:设置为 true 以启用 apply/destroy 操作(默认:false)
  • TFMCP_ALLOW_AUTO_APPROVE:设置为 true 以启用危险操作的自动批准(默认:false)
  • TFMCP_MAX_RESOURCES:设置可管理的最大资源数量(默认:50)
  • TFMCP_AUDIT_ENABLED:设置为 false 以禁用审计日志(默认:true)
  • TFMCP_AUDIT_LOG_FILE:自定义审计日志文件路径(默认:~/.tfmcp/audit.log)
  • TFMCP_AUDIT_LOG_SENSITIVE:设置为 true 以在审计日志中包含敏感信息(默认:false)

安全注意事项

tfmcp包含适用于生产环境的安全功能:

🔒 内置安全功能

  • 访问控制:自动阻止生产/敏感文件模式
  • 操作限制:默认禁用危险操作(apply/destroy)
  • 资源限制:可配置的最大资源数量保护
  • 审计日志:带时间戳和用户识别的完整操作跟踪
  • 目录验证:项目目录的安全策略执行

🛡️ 安全最佳实践

  • 默认安全:默认禁用 apply/destroy 操作 - 仅在需要时显式启用
  • 审查计划:始终在应用前审查Terraform计划,特别是AI生成的计划
  • IAM边界:在云环境中使用适当的IAM权限和角色边界
  • 审计监控:定期审查 ~/.tfmcp/audit.log 中的审计日志
  • 文件模式:内置保护,防止访问 prod*、production* 和 secret* 模式
  • Docker安全:使用容器时,仔细考虑卷挂载和暴露的数据

⚙️ 生产环境配置

# 推荐的生产设置
export TFMCP_ALLOW_DANGEROUS_OPS=false    # 为安全起见保持禁用
export TFMCP_ALLOW_AUTO_APPROVE=false     # 需要手动批准
export TFMCP_MAX_RESOURCES=10             # 限制资源范围
export TFMCP_AUDIT_ENABLED=true           # 启用审计日志
export TFMCP_AUDIT_LOG_SENSITIVE=false    # 不记录敏感数据

贡献

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

  1. 分支仓库
  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助手。

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

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

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

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

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

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

  • Docker支持
    添加了容器化支持,便于部署和跨平台兼容。

  • 安全增强
    包含适用于生产环境的安全系统,具有可配置策略、审计日志、访问控制和生产级安全功能。

进行中

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

  • 全面测试框架
    扩展测试覆盖率,包括与真实Terraform配置的集成测试。

计划

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

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

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

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

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

  • 与其他AI平台集成
    支持其他AI助手和平台,而不仅仅是Claude。

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

许可证

本项目根据MIT许可证授权 - 详细内容请参阅LICENSE文件。

页面上的每个数字都来自记录下来的 stargazer 到达时间,没有评分公式,也没有 AI 判定。 任何结论都可以用 /api/v1/repos/{id}/stats 里的原始增量自己重算。