guilhermeyoshida
MCP Serverguilhermeyoshidapublic

mcp terraform assistant

An MCP server for managing infrastructure as code using Terraform

Repository Info

1
Stars
2
Forks
1
Watchers
0
Issues
Python
Language
MIT License
License

About This Server

An MCP server for managing infrastructure as code using Terraform

Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.

Documentation

MCP Infrastructure as Code Assistant

An MCP server for managing infrastructure as code with Terraform.

Features

  • Initialize Terraform working directories
  • Generate and show execution plans
  • Apply changes to infrastructure
  • Destroy infrastructure
  • Validate Terraform configurations
  • Show current state or saved plans
  • Manage Terraform workspaces

Prerequisites

  • Python 3.8 or higher
  • Terraform 1.5.7 or higher
  • Docker and Docker Compose (optional)

Installation

Local Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/mcp-iac.git
    cd mcp-iac
    
  2. Install dependencies using uv:

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

Docker Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/mcp-iac.git
    cd mcp-iac
    
  2. Build and run the Docker container:

    docker-compose up -d
    

Usage

Local Usage

  1. Start the MCP server:

    python main.py
    
  2. Use the MCP CLI to interact with the server:

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

Docker Usage

  1. Start the MCP server:

    docker-compose up -d
    
  2. Use the MCP CLI to interact with the server:

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

Example Terraform Configuration

The repository includes an example Terraform configuration that creates an EC2 instance in AWS:

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
  }
}

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Available Tools

  • terraform_init: Initialize a Terraform working directory
  • terraform_plan: Generate and show an execution plan for Terraform
  • terraform_apply: Apply the changes required to reach the desired state
  • terraform_destroy: Destroy the infrastructure managed by Terraform
  • terraform_validate: Validate the syntax and internal consistency of Terraform files
  • terraform_show: Show the current state or a saved plan
  • terraform_workspace_list: List Terraform workspaces
  • terraform_workspace_select: Select a Terraform workspace

Example Usage

Here's an example of how to use the MCP server with an AI agent:

  1. Start the MCP server:

    python main.py
    
  2. Connect to the server using an MCP client:

    mcp connect http://localhost:8000
    
  3. The AI agent can now help you with Terraform operations. For example:

    • Initialize a Terraform working directory
    • Generate and review execution plans
    • Apply changes to infrastructure
    • Destroy infrastructure resources
    • Validate Terraform configurations

Examples

Check out the examples directory for sample Terraform configurations that demonstrate how to use the MCP server:

  • examples/aws-s3: A simple AWS S3 bucket example

Quick Start

1

Clone the repository

git clone https://github.com/guilhermeyoshida/mcp-terraform-assistant
2

Install dependencies

cd mcp-terraform-assistant
npm install
3

Follow the documentation

Check the repository's README.md file for specific installation and usage instructions.

Repository Details

Ownerguilhermeyoshida
Repomcp-terraform-assistant
LanguagePython
LicenseMIT License
Last fetched8/10/2025

Recommended MCP Servers

💬

Discord MCP

Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.

integrationsdiscordchat
🔗

Knit MCP

Connect AI agents to 200+ SaaS applications and automate workflows.

integrationsautomationsaas
🕷️

Apify MCP Server

Deploy and interact with Apify actors for web scraping and data extraction.

apifycrawlerdata
🌐

BrowserStack MCP

BrowserStack MCP Server for automated testing across multiple browsers.

testingqabrowsers

Zapier MCP

A Zapier server that provides automation capabilities for various apps.

zapierautomation