Terraform MCP工具
🌍 Terraform模型上下文协议(MCP)工具 - 一个实验性的命令行工具,使AI助手能够管理和操作Terraform环境。支持读取Terraform配置、分析计划、应用配置以及通过Claude Desktop集成来管理状态。⚡️
服务介绍
tfmcp: Terraform Model Context Protocol 工具
⚠️ 该项目处于实验阶段。功能可能会在没有通知的情况下发生变化。谨慎使用!⚠️
tfmcp 是一个命令行工具,它通过 Model Context Protocol (MCP) 帮助您与 Terraform 进行交互。它允许 LLMs 管理和操作您的 Terraform 环境,包括:
🎮 演示
观看 Claude Desktop 中的 tfmcp 演示:

- 读取 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 一起使用:
-
如果还没有安装 tfmcp,请先安装:
cargo install tfmcp -
找到已安装的 tfmcp 可执行文件路径:
which tfmcp -
向
~/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
}
}
}
}
-
重启 Claude Desktop 并启用 tfmcp 工具。
-
如果不存在 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: 设置为debug、info、warn或error以控制日志详细程度。TFMCP_DEMO_MODE: 设置为true以启用带有额外安全功能的演示模式。
安全注意事项
在使用 tfmcp 时,请注意以下安全事项:
- tfmcp 会代表您执行 Terraform 命令,这可能会创建、修改或销毁基础设施
- 在生产环境中,考虑使用适当的 IAM 权限和角色边界
- 在应用之前审查所有 Terraform 计划,尤其是由 AI 生成的计划
- 您的 Terraform 状态中的敏感信息可能对 AI 助手可见
贡献
欢迎贡献!请随时提交 Pull Request。
- Fork 仓库
- 创建您的特性分支 (
git checkout -b feature/amazing-feature) - 提交您的更改 (
git commit -m 'Add some amazing feature') - 推送到该分支 (
git push origin feature/amazing-feature) - 打开一个 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 文件。