mcp-server-hcp-terraform
@dulltz
MCP server for working with HCP Terraform
Overview
What is mcp-server-hcp-terraform?
An MCP server that integrates with the HCP Terraform Cloud/Enterprise API, allowing AI agents to search for Terraform modules and retrieve module details. It is designed for developers using Terraform Cloud/Enterprise who want to discover and inspect modules via MCP.
How to use mcp-server-hcp-terraform?
Set the environment variables HCP_TERRAFORM_TOKEN (required), HCP_TERRAFORM_ORG (required), and optionally HCP_TERRAFORM_BASE_URL. Then run the server using uv with the mcp CLI, referencing path/to/mcp-server-hcp-terraform/server.py. The server provides two tools: hcp_terraform_search_private_modules and hcp_terraform_get_module.
Key features of mcp-server-hcp-terraform
- Search private Terraform modules in the Private Registry.
- Filter search results by provider (e.g., aws, gcp, azure).
- Limit search results to a configurable maximum.
- Retrieve detailed information about a specific module.
- Support for both private and public registry modules.
Use cases of mcp-server-hcp-terraform
- An AI assistant can help a team discover internal Terraform modules.
- Automate dependency analysis by fetching module details.
- Enable natural-language queries for Terraform module lookup.
FAQ from mcp-server-hcp-terraform
What prerequisites are needed?
Python 3.13+ is required, along with a HCP Terraform Cloud/Enterprise account and an access token.
How do I configure authentication?
Set the HCP_TERRAFORM_TOKEN environment variable to your HCP Terraform access token. Also set HCP_TERRAFORM_ORG to your organization name.
Can I use a custom Terraform Cloud/Enterprise base URL?
Yes, set the optional HCP_TERRAFORM_BASE_URL environment variable. The default is https://app.terraform.io.
What tools does the server expose?
Two tools: hcp_terraform_search_private_modules (with query, optional provider, and optional limit parameters) and hcp_terraform_get_module (with module_name, provider, optional registry_name, and optional namespace).
Is there any limit on the number of search results?
The limit parameter defaults to 10, but you can set a custom maximum.