Terraform自然语言助手

一个基于FastMCP的服务器,提供对Terraform操作的自然语言接口,允许用户通过简单的英语命令管理基础设施,而无需记住特定的Terraform语法。

  • by jashkahar
  • Python
  • 本地部署
  • 3 星标
  • 更新于
在 GitHub 查看 jashkahar/terraform-mcp-server

使用说明

Terraform MCP助手

基于FastMCP的服务器,为Terraform操作提供自然语言接口。此助手允许您使用简单的英语命令来管理您的基础设施,而无需记住特定的Terraform语法。

特性

  • Terraform命令的自然语言处理
  • 执行计划可视化
  • 国家检查管理
  • 基础设施部署和销毁
  • 配置文件
  • 自动工作区验证
  • 错误处理和格式化输出

安装

  1. 克隆存储库:
git clone https://github.com/yourusername/terraform-mcp-server.git
cd terraform-mcp-server
  1. 创建并激活虚拟环境:
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. 安装依赖项:
pip install -r requirements.txt
  1. 可选:安装Graphviz进行平面可视化:
  • Windows:从下载 Graphviz下载页面
  • Linux: sudo apt-get install graphviz
  • macOS: brew install graphviz

配置

  1. 设置环境变量(可选):
export TERRAFORM_WORKSPACE="/path/to/terraform/workspace"
export LOG_LEVEL="INFO"
  1. 将您的Terraform配置文件放置在工作区目录中。

用法

  1. 启动MCP服务器:
python src/main.py
  1. 命令示例:
  • “初始化Terraform工作区”
  • “如果我申请,会有什么变化?”
  • “显示当前状态”
  • “应用配置”
  • “列出所有资源”
  • “摧毁基础设施”

项目结构

terraform-mcp-assistant/
├── docs/                  # Documentation
├── examples/             # Example Terraform configurations
├── src/                  # Source code
│   ├── handlers/        # Command handlers
│   ├── main.py         # Entry point
│   └── config.py       # Configuration management
├── tests/               # Test files
├── .env                # Environment variables (not in VCS)
└── README.md           # This file

发展

  1. 安装开发依赖项:
pip install -r requirements-dev.txt
  1. 运行测试:
pytest

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 提交您的更改
  4. 推到分支
  5. 创建拉取请求