基础设施代码管理工具

一个用于管理Terraform基础设施代码的服务器,提供初始化、计划、应用、销毁等功能。

  • by guilhermeyoshida
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 guilhermeyoshida/mcp-terraform-assistant

使用说明

MCP基础设施作为代码助手

一个MCP服务器,用于使用Terraform将基础设施作为代码进行管理。

特性

  • 初始化Terraform工作目录
  • 生成并显示执行计划
  • 将更改应用于基础架构
  • 破坏基础设施
  • 验证地形配置
  • 显示当前状态或已保存的计划
  • 管理Terraform工作区

先决条件

  • Python 3.8或更高版本
  • 地形1.5.7或更高
  • Docker和Docker Compose(可选)

安装

本地安装

  1. 克隆存储库:

    git clone https://github.com/yourusername/mcp-iac.git
    cd mcp-iac
    
  2. 使用uv安装依赖项:

    curl -LsSf https://astral.sh/uv/install.sh | sh
    uv pip install -e .
    

Docker安装

  1. 克隆存储库:

    git clone https://github.com/yourusername/mcp-iac.git
    cd mcp-iac
    
  2. 构建并运行Docker容器:

    docker-compose up -d
    

用法

本地使用

  1. 启动MCP服务器:

    python main.py
    
  2. 使用MCP CLI与服务器交互:

    mcp terraform_init --working-dir ./terraform
    mcp terraform_plan --working-dir ./terraform
    mcp terraform_apply --working-dir ./terraform --auto-approve
    

Docker使用

  1. 启动MCP服务器:

    docker-compose up -d
    
  2. 使用MCP CLI与服务器交互:

    mcp terraform_init --working-dir ./terraform
    mcp terraform_plan --working-dir ./terraform
    mcp terraform_apply --working-dir ./terraform --auto-approve
    

地形配置示例

该存储库包括一个在AWS中创建EC2实例的示例Terraform配置:

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }
}

provider "aws" {
  region = var.region
}

resource "aws_instance" "example" {
  ami           = var.ami_id
  instance_type = var.instance_type

  tags = {
    Name = var.instance_name
  }
}

贡献

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

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

可用工具

  • terraform_init:初始化Terraform工作目录
  • terraform_plan:生成并显示Terraform的执行计划
  • terraform_apply:应用所需的更改以达到所需的状态
  • terraform_destroy:摧毁Terraform管理的基础设施
  • terraform_validate:验证Terraform文件的语法和内部一致性
  • terraform_show:显示当前状态或已保存的计划
  • terraform_workspace_list:列出Terraform工作区
  • terraform_workspace_select:选择一个Terraform工作区

示例用法

以下是如何将MCP服务器与AI代理一起使用的示例:

  1. 启动MCP服务器:

    python main.py
    
  2. 使用MCP客户端连接到服务器:

    mcp connect http://localhost:8000
    
  3. AI代理现在可以帮助您进行Terraform操作。例如:

    • 初始化Terraform工作目录
    • 制定并审查执行计划
    • 将更改应用于基础架构
    • 破坏基础设施资源
    • 验证地形配置

例子

看看 examples 演示如何使用MCP服务器的示例Terraform配置目录:

  • examples/aws-s3:一个简单的AWS S3存储桶示例