MCP ExplorerExplorer

Terraform Mcp Server

@jashkaharon a year ago
3 MIT
FreeCommunity
AI Systems
This project provides an MCP (Model Control Protocol) server that exposes Terraform infrastructure-as-code operations through natural language. It enables LLMs to execute Terraform commands and retrieve information about infrastructure without requiring specific command syntax knowledge.

Overview

What is Terraform Mcp Server

Terraform-MCP-Server is a server that utilizes the Model Control Protocol (MCP) to provide a natural language interface for Terraform infrastructure-as-code operations, allowing users to manage infrastructure without needing to know specific command syntax.

Use cases

Use cases include initializing Terraform workspaces, inspecting current states, applying configurations, listing resources, and destroying infrastructure, all through natural language commands.

How to use

To use Terraform-MCP-Server, clone the repository, set up a virtual environment, install dependencies, and start the server. Users can then issue commands in plain English to perform various Terraform operations.

Key features

Key features include natural language processing of Terraform commands, execution plan visualization, state inspection and management, infrastructure deployment and destruction, configuration documentation, automatic workspace validation, and error handling with formatted output.

Where to use

Terraform-MCP-Server can be used in cloud infrastructure management, DevOps practices, and environments where users prefer simplified command interfaces for managing Terraform resources.

Content

Terraform MCP Assistant

A FastMCP-based server that provides natural language interface to Terraform operations. This assistant allows you to manage your infrastructure using simple English commands instead of remembering specific Terraform syntax.

Features

  • Natural language processing of Terraform commands
  • Execution plan visualization
  • State inspection and management
  • Infrastructure deployment and destruction
  • Configuration documentation
  • Automatic workspace validation
  • Error handling and formatted output

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/terraform-mcp-server.git
cd terraform-mcp-server
  1. Create and activate a virtual environment:
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Optional: Install Graphviz for plan visualization:
  • Windows: Download from Graphviz Download Page
  • Linux: sudo apt-get install graphviz
  • macOS: brew install graphviz

Configuration

  1. Set up environment variables (optional):
export TERRAFORM_WORKSPACE="/path/to/terraform/workspace"
export LOG_LEVEL="INFO"
  1. Place your Terraform configuration files in the workspace directory.

Usage

  1. Start the MCP server:
python src/main.py
  1. Example commands:
  • “Initialize the Terraform workspace”
  • “What will change if I apply?”
  • “Show me the current state”
  • “Apply the configuration”
  • “List all resources”
  • “Destroy the infrastructure”

Project Structure

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

Development

  1. Install development dependencies:
pip install -r requirements-dev.txt
  1. Run tests:
pytest

Contributing

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

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers