⚠️ 本项目处于实验阶段,功能可能随时变更。请谨慎使用!⚠️
tfmcp是一个命令行工具,通过模型上下文协议(MCP)帮助您与Terraform进行交互。它允许大型语言模型(LLMs)管理和操作您的Terraform环境,包括:
观看Claude Desktop中使用tfmcp的效果:
tfmcp的第一个稳定版本(v0.1.1)现已在Crates.io上发布!您可以使用Cargo轻松安装:
cargo install tfmcp
🚀 Terraform集成
与Terraform CLI深度集成,用于分析和执行操作。
📄 MCP服务器功能
作为Model Context Protocol服务器运行,允许AI助手访问和管理Terraform。
⚡️ 极速处理
基于Rust生态系统的高性能处理。
🛠️ 自动设置
在需要时自动创建示例Terraform项目,确保即使是新用户也能顺利操作。
🐳 Docker支持
在容器化环境中运行tfmcp,所有依赖项都已预装。
# 克隆仓库
git clone https://github.com/nwiizo/tfmcp
cd tfmcp
# 构建并安装
cargo install --path .

cargo install tfmcp
# 克隆仓库
git clone https://github.com/nwiizo/tfmcp
cd tfmcp
# 构建Docker镜像
docker build -t tfmcp .
# 运行容器
docker run -it tfmcp

$ tfmcp --help
✨ 一个通过Model Context Protocol(MCP)管理Terraform配置和操作Terraform的CLI工具。
用法:tfmcp [选项] [命令]
命令:
mcp 将tfmcp作为MCP服务器启动
analyze 分析Terraform配置
help 打印此消息或给定子命令的帮助信息
选项:
-c, --config <路径> 配置文件路径
-d, --dir <路径> Terraform项目目录
-V, --version 打印版本
-h, --help 打印帮助

使用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:
如果尚未安装,请先安装tfmcp:
cargo install tfmcp
或者,您也可以使用Docker:
docker build -t tfmcp .
找到已安装的tfmcp可执行文件的路径:
which tfmcp

将以下配置添加到~/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"
}
}
}
}

重启Claude Desktop并启用tfmcp工具。
如果不存在,tfmcp会自动在~/terraform
中创建一个示例Terraform项目,确保Claude可以立即开始使用Terraform。该示例项目基于本仓库example/demo
目录中包含的示例。
tfmcp服务器日志位于:
~/Library/Logs/Claude/mcp-server-tfmcp.log
常见问题及解决方案:
TERRAFORM_DIR
:设置此变量以指定自定义的Terraform项目目录。如果未设置,tfmcp将使用命令行参数、配置文件提供的目录,或回退到~/terraform
。您还可以使用set_terraform_directory
工具在运行时更改项目目录。TFMCP_LOG_LEVEL
:设置为debug
、info
、warn
或error
以控制日志详细程度。TFMCP_DEMO_MODE
:设置为true
以启用带有额外安全功能的演示模式。使用tfmcp时,请注意以下安全事项:
欢迎贡献!请随时提交Pull Request。
git checkout -b feature/amazing-feature
)git commit -m 'Add some amazing feature'
)git push origin feature/amazing-feature
)以下是tfmcp计划中的改进和未来功能:
[x] 基本Terraform集成
与Terraform CLI的核心集成,用于分析和执行操作。
[x] MCP服务器实现
为AI助手实现的Model Context Protocol服务器的初始版本。
[x] 自动项目创建
添加了在需要时自动创建示例Terraform项目的功能。
[x] Claude Desktop集成
支持与Claude Desktop的无缝集成。
[x] 核心MCP方法
实现了包括resources/list和prompts/list等关键MCP方法。
[x] 错误处理改进
更好的错误处理和恢复机制,以实现稳健的操作。
[x] 动态项目目录切换
添加了无需重启服务即可更改活动Terraform项目目录的能力。
[x] Crates.io发布
将包发布到Crates.io,以便通过Cargo轻松安装。
[x] Docker支持
添加了容器化支持,便于部署和跨平台兼容性。
[ ] 增强的Terraform分析
实现对Terraform配置、计划和状态文件的更深入解析和分析。
[ ] 多环境支持
添加对管理多个Terraform环境、工作区和模块的支持。
[ ] 安全增强
改进安全功能,包括更好的身份验证和授权机制。
[ ] 扩展的MCP协议支持
实现额外的MCP方法和功能,以实现与AI助手的更丰富集成。
[ ] 交互式TUI
开发基于终端的用户界面,便于本地使用和调试。
[ ] 成本估算
与云提供商定价API集成,为Terraform计划提供成本估算。
[ ] 性能优化
优化资源使用和响应时间,适用于大型Terraform项目。
[ ] 与其他AI平台的集成
扩展到Claude之外,支持其他AI助手和平台。
[ ] 全面的测试框架
扩大测试覆盖范围,包括与真实Terraform配置的集成测试。
[ ] 插件系统
开发插件架构,以允许扩展核心功能。
本项目根据MIT许可证授权 - 详情请参阅LICENSE文件。