MCP基础设施作为代码助手
一个MCP服务器,用于使用Terraform将基础设施作为代码进行管理。
特性
- 初始化Terraform工作目录
- 生成并显示执行计划
- 将更改应用于基础架构
- 破坏基础设施
- 验证地形配置
- 显示当前状态或已保存的计划
- 管理Terraform工作区
先决条件
- Python 3.8或更高版本
- 地形1.5.7或更高
- Docker和Docker Compose(可选)
安装
本地安装
- 克隆存储库:
git clone https://github.com/yourusername/mcp-iac.git
cd mcp-iac- 使用uv安装依赖项:
curl -LsSf https://astral.sh/uv/install.sh | sh
uv pip install -e .Docker安装
- 克隆存储库:
git clone https://github.com/yourusername/mcp-iac.git
cd mcp-iac- 构建并运行Docker容器:
docker-compose up -d用法
本地使用
- 启动MCP服务器:
python main.py- 使用MCP CLI与服务器交互:
mcp terraform_init --working-dir ./terraform
mcp terraform_plan --working-dir ./terraform
mcp terraform_apply --working-dir ./terraform --auto-approveDocker使用
- 启动MCP服务器:
docker-compose up -d- 使用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
}
}贡献
- 分叉存储库
- 创建要素分支
- 提交您的更改
- 推到分支
- 创建拉取请求
许可证
此项目根据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代理一起使用的示例:
- 启动MCP服务器:
python main.py- 使用MCP客户端连接到服务器:
mcp connect http://localhost:8000- AI代理现在可以帮助您进行Terraform操作。例如:
- 初始化Terraform工作目录 - 制定并审查执行计划 - 将更改应用于基础架构 - 破坏基础设施资源 - 验证地形配置
例子
看看 examples 演示如何使用MCP服务器的示例Terraform配置目录:
examples/aws-s3:一个简单的AWS S3存储桶示例
