Rust-based Terraform infrastructure management server that enables resource listing, configuration validation, and state...
Created byApr 22, 2025
tfmcp: Terraform Model Context Protocol Tool
This project is experimental. Features may change without notice. Use with caution! *
tfmcp is a command-line tool that helps you interact with Terraform via the Model Context Protocol (MCP). It allows LLMs to manage and operate your Terraform environments, including:
Demo
See tfmcp in action with Claude Desktop:
tfmcp Demo with Claude Desktop
Reading Terraform configuration files
Analyzing Terraform plan outputs
Applying Terraform configurations
Managing Terraform state
Creating and modifying Terraform configurations
Latest Release
The first stable release of tfmcp (v0.1.1) is now available on Crates.io! You can easily install it using Cargo:
Features
Terraform Integration
Deeply integrates with the Terraform CLI to analyze and execute operations.
MCP Server Capabilities
Runs as a Model Context Protocol server, allowing AI assistants to access and manage Terraform.
Blazing Fast
High-speed processing powered by the Rust ecosystem.
Automatically creates sample Terraform projects when needed, ensuring smooth operation even for new users.
Installation
From Source
From Crates.io
Requirements
Rust (edition 2021)
Terraform CLI installed and available in PATH
Claude Desktop (for AI assistant integration)
Usage
Integrating with Claude Desktop
To use tfmcp with Claude Desktop:
If you haven't already, install tfmcp:
Find the path to your installed tfmcp executable:
Add the following configuration to ~/Library/Application\ Support/Claude/claude_desktop_config.json:
Restart Claude Desktop and enable the tfmcp tool.
tfmcp will automatically create a sample Terraform project in ~/terraform if one doesn't exist, ensuring Claude can start working with Terraform right away. The sample project is based on the examples included in the example/demo directory of this repository.
Logs and Troubleshooting
The tfmcp server logs are available at:
Common issues and solutions:
Claude can't connect to the server: Make sure the path to the tfmcp executable is correct in your configuration
Terraform project issues: tfmcp automatically creates a sample Terraform project if none is found
Method not found errors: MCP protocol support includes resources/list and prompts/list methods
Environment Variables
TERRAFORM_DIR: Set this to specify a custom Terraform project directory. If not set, tfmcp will use the directory provided by command line arguments, configuration files, or fall back to ~/terraform. You can also change the project directory at runtime using the set_terraform_directory tool.
TFMCP_LOG_LEVEL: Set to debug, info, warn, or error to control logging verbosity.
TFMCP_DEMO_MODE: Set to true to enable demo mode with additional safety features.
Security Considerations
When using tfmcp, please be aware of the following security considerations:
tfmcp executes Terraform commands on your behalf, which can create, modify, or destroy infrastructure
In production environments, consider using appropriate IAM permissions and role boundaries
Review all Terraform plans before applying them, especially when generated by an AI
Sensitive information in your Terraform state might be accessible to the AI assistants
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Fork the repository
Create your feature branch (git checkout -b feature/amazing-feature)
Commit your changes (git commit -m 'Add some amazing feature')
Push to the branch (git push origin feature/amazing-feature)
Open a Pull Request
Roadmap
Here are some planned improvements and future features for tfmcp:
Completed
Basic Terraform IntegrationCore integration with Terraform CLI for analyzing and executing operations.
MCP Server ImplementationInitial implementation of the Model Context Protocol server for AI assistants.
Automatic Project CreationAdded functionality to automatically create sample Terraform projects when needed.
Claude Desktop IntegrationSupport for seamless integration with Claude Desktop.
Core MCP MethodsImplementation of essential MCP methods including resources/list and prompts/list.
Error Handling ImprovementsBetter error handling and recovery mechanisms for robust operation.
Dynamic Project Directory SwitchingAdded ability to change the active Terraform project directory without restarting the service.
Crates.io PublicationPublished the package to Crates.io for easy installation via Cargo.
In Progress
Enhanced Terraform AnalysisImplement deeper parsing and analysis of Terraform configurations, plans, and state files.
Multi-Environment SupportAdd support for managing multiple Terraform environments, workspaces, and modules.
Security EnhancementsImprove security features including better authentication and authorization mechanisms.
Expanded MCP Protocol SupportImplement additional MCP methods and capabilities for richer integration with AI assistants.
Interactive TUIDevelop a terminal-based user interface for easier local usage and debugging.
Cost EstimationIntegrate with cloud provider pricing APIs to provide cost estimates for Terraform plans.
Performance OptimizationOptimize resource usage and response times for large Terraform projects.
Integration with Other AI PlatformsExtend beyond Claude to support other AI assistants and platforms.
Comprehensive Testing FrameworkExpand test coverage including integration tests with real Terraform configurations.
Plugin SystemDevelop a plugin architecture to allow extensions of core functionality.
License
This project is licensed under the MIT License - see the LICENSE file for details.
tfmcp: Terraform Model Context Protocol Tool
This project is experimental. Features may change without notice. Use with caution! *
tfmcp is a command-line tool that helps you interact with Terraform via the Model Context Protocol (MCP). It allows LLMs to manage and operate your Terraform environments, including:
Demo
See tfmcp in action with Claude Desktop:
tfmcp Demo with Claude Desktop
Reading Terraform configuration files
Analyzing Terraform plan outputs
Applying Terraform configurations
Managing Terraform state
Creating and modifying Terraform configurations
Latest Release
The first stable release of tfmcp (v0.1.1) is now available on Crates.io! You can easily install it using Cargo:
Features
Terraform Integration
Deeply integrates with the Terraform CLI to analyze and execute operations.
MCP Server Capabilities
Runs as a Model Context Protocol server, allowing AI assistants to access and manage Terraform.
Blazing Fast
High-speed processing powered by the Rust ecosystem.
Automatically creates sample Terraform projects when needed, ensuring smooth operation even for new users.
Installation
From Source
From Crates.io
Requirements
Rust (edition 2021)
Terraform CLI installed and available in PATH
Claude Desktop (for AI assistant integration)
Usage
Integrating with Claude Desktop
To use tfmcp with Claude Desktop:
If you haven't already, install tfmcp:
Find the path to your installed tfmcp executable:
Add the following configuration to ~/Library/Application\ Support/Claude/claude_desktop_config.json:
Restart Claude Desktop and enable the tfmcp tool.
tfmcp will automatically create a sample Terraform project in ~/terraform if one doesn't exist, ensuring Claude can start working with Terraform right away. The sample project is based on the examples included in the example/demo directory of this repository.
Logs and Troubleshooting
The tfmcp server logs are available at:
Common issues and solutions:
Claude can't connect to the server: Make sure the path to the tfmcp executable is correct in your configuration
Terraform project issues: tfmcp automatically creates a sample Terraform project if none is found
Method not found errors: MCP protocol support includes resources/list and prompts/list methods
Environment Variables
TERRAFORM_DIR: Set this to specify a custom Terraform project directory. If not set, tfmcp will use the directory provided by command line arguments, configuration files, or fall back to ~/terraform. You can also change the project directory at runtime using the set_terraform_directory tool.
TFMCP_LOG_LEVEL: Set to debug, info, warn, or error to control logging verbosity.
TFMCP_DEMO_MODE: Set to true to enable demo mode with additional safety features.
Security Considerations
When using tfmcp, please be aware of the following security considerations:
tfmcp executes Terraform commands on your behalf, which can create, modify, or destroy infrastructure
In production environments, consider using appropriate IAM permissions and role boundaries
Review all Terraform plans before applying them, especially when generated by an AI
Sensitive information in your Terraform state might be accessible to the AI assistants
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Fork the repository
Create your feature branch (git checkout -b feature/amazing-feature)
Commit your changes (git commit -m 'Add some amazing feature')
Push to the branch (git push origin feature/amazing-feature)
Open a Pull Request
Roadmap
Here are some planned improvements and future features for tfmcp:
Completed
Basic Terraform IntegrationCore integration with Terraform CLI for analyzing and executing operations.
MCP Server ImplementationInitial implementation of the Model Context Protocol server for AI assistants.
Automatic Project CreationAdded functionality to automatically create sample Terraform projects when needed.
Claude Desktop IntegrationSupport for seamless integration with Claude Desktop.
Core MCP MethodsImplementation of essential MCP methods including resources/list and prompts/list.
Error Handling ImprovementsBetter error handling and recovery mechanisms for robust operation.
Dynamic Project Directory SwitchingAdded ability to change the active Terraform project directory without restarting the service.
Crates.io PublicationPublished the package to Crates.io for easy installation via Cargo.
In Progress
Enhanced Terraform AnalysisImplement deeper parsing and analysis of Terraform configurations, plans, and state files.
Multi-Environment SupportAdd support for managing multiple Terraform environments, workspaces, and modules.
Security EnhancementsImprove security features including better authentication and authorization mechanisms.
Expanded MCP Protocol SupportImplement additional MCP methods and capabilities for richer integration with AI assistants.
Interactive TUIDevelop a terminal-based user interface for easier local usage and debugging.
Cost EstimationIntegrate with cloud provider pricing APIs to provide cost estimates for Terraform plans.
Performance OptimizationOptimize resource usage and response times for large Terraform projects.
Integration with Other AI PlatformsExtend beyond Claude to support other AI assistants and platforms.
Comprehensive Testing FrameworkExpand test coverage including integration tests with real Terraform configurations.
Plugin SystemDevelop a plugin architecture to allow extensions of core functionality.
License
This project is licensed under the MIT License - see the LICENSE file for details.