Crates.io | tfmcp |
lib.rs | tfmcp |
version | |
source | src |
created_at | 2025-03-08 14:26:37.203583+00 |
updated_at | 2025-03-08 14:55:49.970614+00 |
description | Terraform Model Context Protocol Tool - A CLI tool to manage Terraform through MCP |
homepage | |
repository | https://github.com/nwiizo/tfmcp |
max_upload_size | |
id | 1584566 |
Cargo.toml error: | TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
⚠️ 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:
The first stable release of tfmcp (v0.1.0) is now available on Crates.io! You can easily install it using Cargo:
cargo install tfmcp
🚀 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.
# Clone the repository
git clone https://github.com/nwiizo/tfmcp
cd tfmcp
# Build and install
cargo install --path .
cargo install tfmcp
$ tfmcp --help
✨ A CLI tool to manage Terraform configurations and operate Terraform through the Model Context Protocol (MCP).
Usage: tfmcp [OPTIONS] [COMMAND]
Commands:
mcp Launch tfmcp as an MCP server
analyze Analyze Terraform configurations
help Print this message or the help of the given subcommand(s)
Options:
-c, --config <PATH> Path to the configuration file
-d, --dir <PATH> Terraform project directory
-V, --version Print version
-h, --help Print help
To use tfmcp with Claude Desktop:
If you haven't already, install tfmcp:
cargo install tfmcp
Find the path to your installed tfmcp executable:
which tfmcp
Add the following configuration to ~/Library/Application\ Support/Claude/claude_desktop_config.json
:
{
"mcpServers": {
"tfmcp": {
"command": "/path/to/your/tfmcp", // Replace with the actual path from step 2
"args": ["mcp"],
"env": {
"HOME": "/Users/yourusername", // Replace with your username
"PATH": "/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin",
"TERRAFORM_DIR": "/path/to/your/terraform/project" // Optional: specify your Terraform project
}
}
}
}
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 tfmcp server logs are available at:
~/Library/Logs/Claude/mcp-server-tfmcp.log
Common issues and solutions:
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.When using tfmcp, please be aware of the following security considerations:
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/amazing-feature
)git commit -m 'Add some amazing feature'
)git push origin feature/amazing-feature
)Here are some planned improvements and future features for tfmcp:
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.
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.
This project is licensed under the MIT License - see the LICENSE file for details.