Allows AI assistants to manage and operate Terraform environments, including reading configuration files, analyzing plan outputs, applying configurations, managing state, and creating/modifying configurations
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:

- 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.
- 🛠️ Automatic Setup 
 Automatically creates sample Terraform projects when needed, ensuring smooth operation even for new users.
- 🐳 Docker Support 
 Run tfmcp in a containerized environment with all dependencies pre-installed.
Installation
From Source
From Crates.io
Using Docker
Requirements
- Rust (edition 2021) 
- Terraform CLI installed and available in PATH 
- Claude Desktop (for AI assistant integration) 
- Docker (optional, for containerized deployment) 
Usage
Using Docker
When using Docker, you can run tfmcp commands like this:
Integrating with Claude Desktop
To use tfmcp with Claude Desktop:
- If you haven't already, install tfmcp: cargo install tfmcp- Alternatively, you can use Docker: docker build -t tfmcp .
- Find the path to your installed tfmcp executable: which tfmcp
- Add the following configuration to - ~/Library/Application\ Support/Claude/claude_desktop_config.json:
If you're using Docker with Claude Desktop, you can set up the configuration like this:
- Restart Claude Desktop and enable the tfmcp tool. 
- tfmcp will automatically create a sample Terraform project in - ~/terraformif 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/demodirectory 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 
- Docker issues: If using Docker, ensure your container has proper volume mounts and permissions 
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_directorytool.
- TFMCP_LOG_LEVEL: Set to- debug,- info,- warn, or- errorto control logging verbosity.
- TFMCP_DEMO_MODE: Set to- trueto 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 
- When using Docker, be cautious with volume mounts that might expose sensitive data 
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 Integration 
 Core integration with Terraform CLI for analyzing and executing operations.
- MCP Server Implementation 
 Initial implementation of the Model Context Protocol server for AI assistants.
- Automatic Project Creation 
 Added functionality to automatically create sample Terraform projects when needed.
- Claude Desktop Integration 
 Support for seamless integration with Claude Desktop.
- Core MCP Methods 
 Implementation of essential MCP methods including resources/list and prompts/list.
- Error Handling Improvements 
 Better error handling and recovery mechanisms for robust operation.
- Dynamic Project Directory Switching 
 Added ability to change the active Terraform project directory without restarting the service.
- Crates.io Publication 
 Published the package to Crates.io for easy installation via Cargo.
- Docker Support 
 Added containerization support for easier deployment and cross-platform compatibility.
In Progress
- Enhanced Terraform Analysis 
 Implement deeper parsing and analysis of Terraform configurations, plans, and state files.
- Multi-Environment Support 
 Add support for managing multiple Terraform environments, workspaces, and modules.
- Security Enhancements 
 Improve security features including better authentication and authorization mechanisms.
- Expanded MCP Protocol Support 
 Implement additional MCP methods and capabilities for richer integration with AI assistants.
- Interactive TUI 
 Develop a terminal-based user interface for easier local usage and debugging.
- Cost Estimation 
 Integrate with cloud provider pricing APIs to provide cost estimates for Terraform plans.
- Performance Optimization 
 Optimize resource usage and response times for large Terraform projects.
- Integration with Other AI Platforms 
 Extend beyond Claude to support other AI assistants and platforms.
- Comprehensive Testing Framework 
 Expand test coverage including integration tests with real Terraform configurations.
- Plugin System 
 Develop a plugin architecture to allow extensions of core functionality.
License
This project is licensed under the MIT License - see the LICENSE file for details.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
🌍 Terraform Model Context Protocol (MCP) Tool - An experimental CLI tool that enables AI assistants to manage and operate Terraform environments. Supports reading Terraform configurations, analyzing plans, applying configurations, and managing state with Claude Desktop integration. ⚡️
- 🎮 Demo
- 🎉 Latest Release
- Features
- Installation
- Requirements
- Usage
- Logs and Troubleshooting
- Environment Variables
- Security Considerations
- Contributing
- Roadmap
- License
Related Resources
Related MCP Servers
- -security-license-qualityA Model Context Protocol server built with mcp-framework that allows users to create and manage custom tools for processing data, integrating with the Claude Desktop via CLI.Last updated -325
- Asecurity-licenseAqualityA Model Context Protocol (MCP) server that integrates Claude with the Terraform Cloud API, allowing Claude to manage your Terraform infrastructure through natural conversation.Last updated -6217MIT License
- Asecurity-licenseAqualityA Model Context Protocol (MCP) server that allows Claude AI to interact with custom tools, enabling extension of Claude's capabilities through the MCP framework.Last updated -
- -security-license-qualityA lightweight orchestration hub for managing local Model Context Protocol (MCP) tools in a unified way, allowing users to build, manage, and call their AI tools from IDEs, terminal, and custom assistants.