内容
# Terraform MCP Assistant
一个基于 FastMCP 的服务器,提供自然语言接口以进行 Terraform 操作。这个助手允许您使用简单的英语命令来管理基础设施,而无需记住特定的 Terraform 语法。
## 特性
- Terraform 命令的自然语言处理
- 执行计划可视化
- 状态检查和管理
- 基础设施的部署和销毁
- 配置文档
- 自动工作区验证
- 错误处理和格式化输出
## 安装
1. 克隆代码库:
```bash
git clone https://github.com/yourusername/terraform-mcp-server.git
cd terraform-mcp-server
```
2. 创建并激活虚拟环境:
```bash
python -m venv .venv
source .venv/bin/activate # 在 Windows 上: .venv\Scripts\activate
```
3. 安装依赖:
```bash
pip install -r requirements.txt
```
4. 可选:安装 Graphviz 以进行计划可视化:
- Windows: 从 [Graphviz 下载页面](https://graphviz.org/download/) 下载
- Linux: `sudo apt-get install graphviz`
- macOS: `brew install graphviz`
## 配置
1. 设置环境变量(可选):
```bash
export TERRAFORM_WORKSPACE="/path/to/terraform/workspace"
export LOG_LEVEL="INFO"
```
2. 将您的 Terraform 配置文件放置在工作区目录中。
## 使用
1. 启动 MCP 服务器:
```bash
python src/main.py
```
2. 示例命令:
- "初始化 Terraform 工作区"
- "如果我应用,会有什么变化?"
- "给我看看当前状态"
- "应用配置"
- "列出所有资源"
- "销毁基础设施"
## 项目结构
```
terraform-mcp-assistant/
├── docs/ # 文档
├── examples/ # 示例 Terraform 配置
├── src/ # 源代码
│ ├── handlers/ # 命令处理器
│ ├── main.py # 入口点
│ └── config.py # 配置管理
├── tests/ # 测试文件
├── .env # 环境变量(不在版本控制中)
└── README.md # 本文件
```
## 开发
1. 安装开发依赖:
```bash
pip install -r requirements-dev.txt
```
2. 运行测试:
```bash
pytest
```
## 贡献
1. Fork 代码库
2. 创建功能分支
3. 提交您的更改
4. 推送到该分支
5. 创建一个 Pull Request