FIXES
- Disable client-supplied
TFE_ADDRESSin streamable-http mode. Previously a client could override the Terraform address via HTTP header or query parameter, redirecting the server's requests and Authorization bearer token to an arbitrary endpoint. The address must now be configured server-side via theTFE_ADDRESSenv var. This is a breaking change: clients supplying the address via header or query parameter now receive a 403. 389 - Fix http server not serving TLS when configured 391
- Make client IP sourcing configurable and fix insecure X-Forwarded-For handling. The server previously trusted the leftmost
X-Forwarded-Forvalue,had no IPv6 support, and did not validate IPs. Sourcing is now configurable viaMCP_REMOTE_IP_METHOD(RemoteAddr,X-Real-IP,X-Forwarded-For) andMCP_XFF_TRUSTED_HOPS, defaulting to the secureRemoteAddr. This is a breaking change: proxy deployments relying on automaticX-Forwarded-Forforwarding must now setMCP_REMOTE_IP_METHOD=X-Forwarded-ForandMCP_XFF_TRUSTED_HOPS. 388
FEATURES
- [New Tool]
force_unlock_workspaceForce unlocks a Terraform workspace stuck in a run-held lock. Requires workspace admin permissions and is gated behindENABLE_TF_OPERATIONS=true
FEATURES
- [New Tool]
get_sentinel_mockExport and download Sentinel mock bundle data for a Terraform plan
IMPROVEMENTS
- Add loadtest CLI and CI workflow for HTTP server saturation testing 342
- Add a new metric to capture client type and version 355
- Run as a non-root user for Kubernetes compatibility. [356] #356
- Bump go version to 1.26.4 383
- Add support for X-Forwarded-For header 367
- Add an organization allowlist gate for StreamableHTTP deployments 386
FIXES
- Fix JSON marshalling in update_workspace tool 370
FIXES
- Fix
--toolsalone being falsely flagged as conflicting with--toolsets380
IMPROVEMENTS
- Add http server metrics instrumentation 330
- Add support for configuring TFE token via credentials.tfrc.json 333
- Bump golang to 1.26.2 to fix security scan
HOTFIX
- Bump mark3labs/mcp-go package to fix race condition crash bug
IMPROVEMENTS
- Fix
cleanMakefile target to correctly remove binary frombin/directory - Add Kiro CLI to README installation instructions
FEATURES
- [New Tool]
get_plan_json_outputRetrieves the structured JSON output of a Terraform plan, providing detailed resource changes in a machine-readable format that is easier to parse than plain logs - [New Tool]
get_plan_detailsFetches detailed metadata about a specific Terraform plan - [New Tool]
get_plan_logsRetrieves the execution logs of a specific Terraform plan - [New Tool]
get_apply_detailsFetches detailed metadata about a specific Terraform apply - [New Tool]
get_apply_logsRetrieves the execution logs of a specific Terraform apply
IMPROVEMENTS
- Add
Authorization: Bearerheader support for Terraform token in proxy environments - Add
--heartbeat-intervalCLI flag andMCP_HEARTBEAT_INTERVALenv var for HTTP heartbeat in load-balanced environments - Set custom User-Agent header for TFE API requests to enable tracking MCP server usage separately from other go-tfe clients 268
- Adding a new cli flags
--log-levelto set the desired log level for the server logs and--log-formatfor the logs formatting 286 - Add OpenTelemtry instrumentation for tool call metrics - tool call count, tool error count and tool call latency 300
FIXES
list_runswas returning empty response due to JSON marshalling error
FEATURES
-
[New Tool]
list_workspace_policy_setsRead all policy sets attached to a workspace -
[New Tool]
attach_policy_set_to_workspacesAttach a policy set to one or more workspaces -
Toolsets Flag: Added
--toolsetsflag to selectively enable tool groups. Three toolset groups are available:registry(public Terraform Registry),registry-private(private TFE/TFC registry), andterraform(TFE/TFC operations). Default isregistryonly. -
Individual Tools Flag: Added
--toolsflag to enable specific tools by name for fine-grained control. Accepts comma-separated list of tool names with validation and security checks. -
Added
get_token_permissionstool to allow listing permissions for current token. -
Added Stacks support with
list_stacksandget_stack_detailstools.
FIXES
- Skip TLS flag was not propogated properly 243
- Change Dockerfile CMD to ENTRYPOINT 246
- Truncate large responses in
list_tools to top level summaries - Embedd pagination information in
list_responses
IMPROVEMENTS
- Return input validation errors as Tool Execution Errors instead of Protocol Errors
IMPROVEMENTS
- Adding support for searching Terraform List Resources documentation
FEATURES
-
[New Tool]
get_provider_capabilitiesAdding provider capability discovery tool to analyze available resources, data sources, functions, guides, and actions -
[New Tool]
create_no_code_workspaceAdding capability to trigger a workspace run using a no code module
FIXES
- Added a module id validator to fix issue 182
- Fixes in readme for
TFE_HOSTNAMEv/sTFE_ADDRESS
IMPROVEMENTS
- Added official MCP Registry Server JSON Specification file server.json to the repo. See #200
FEATURES
- Adding Gemini extension. See 189
IMPROVEMENTS
- Adding support for searching Terraform Actions documentation
FIXES
- Minor fixes to example configuration for VS Code, Cursor, etc.
FEATURES
- Adding tools for working with workspaces in HCP Terraform and TFE.
- Authentication for HCP Terraform & TFE and restructure the repo. See #121 See #145
- Adding 2 new HCP TF/TFE tools for admins. List Terraform organizations & projects. See #121
- Adding 4 new HCP TF/TFE tools for private registry support. See #142
- Adding 3 HCP TF/TFE tools for workspace variables support. See #170
- Adding 2 new HCP TF/TFE tools for workspace tags. See #171
- Adding 4 new HCP TF/TFE tools for creating Terraform runs. See #159
- Adding 6 new HCP TF/TFE tools for Variable Sets. See #174
IMPROVEMENTS
- Changes to tool names to be more consistent. See #121
- Implement dynamic tool registration. See #121
- Implement pagination utility. See #121
- Updating
mark3labs/mcp-goandhashicorp/tfe-goversions. See #121 - Adding instructions to the server. See #156
- Implementing TLS for the http mode of the MCP server. See #168
- Implemented rate limiting with the MCP server. See #155
- Enabled explicit approval for certain tools. See #172
- Improved README with one-click install badges for VSCode/VSCode Insiders/Cursor. See #173
FIXES
- Fixing paths using in-built library instead of string manipulation. See #143
- Explicitly setting destructive annotation to false. See #143
SECURITY
- Rename TFE_SKIP_TLS_VERIFY environment variable and fix GitHub Action security issue. See #164
- Update go version from 1.24.6 to 1.24.7
FEATURES
- User agent to identify calls made to the Terraform registry. See 133
- Adding Issue templates, GitHub workflows and golang version. See 134
FIXES
- run-http command in makefile is fixed. See 132
FEATURES
- 2 New tools, get latest provider and module versions. See #122
IMPROVEMENTS
- Restructure the codebase, changes too tool names from camelCase to snake_case. See #118
- Change tool names to be more consistent. See #123
FIXES
- Enhanced provider documentation tool. See #120
- StreamableHttp endpoint customization, thanks to @sachinmalanki. See #116
SECURITY
- Added support for CORS (strict, development, disabled), default mode is strict. See #108
- Added support for CORS allowed origins, default is empty. See #108
- Added support for stateless streamable HTTP mode, see #108
IMPROVEMENTS
- Improved the HTTP retry to the registry. See #109
SECURITY
- Updated Docker base image to
scratchfor smaller, more secure production images. - Integrated security scanning (CodeQL, security scanner) and improved CI workflows for better code quality and vulnerability detection.
- Update golang stdlib version to 1.24.4
FEATURES
- Added support for publishing Docker images to Amazon ECR
- Added support for searching and getting documentation for policies from the Terraform Registry
- Enhanced toolset for resolving provider documentation, fetching provider docs, searching modules, and retrieving module details from the Terraform Registry.
- Added support for Streamable HTTP, see #99
IMPROVEMENTS
- Migrated to
stretchr/testifyfor more robust test assertions and refactored test structure for maintainability. - Improved and expanded README with installation, usage, and development instructions.
- Refined GitHub Actions workflows for more reliable builds, security scanning, and dependency management.
- Updated and pinned dependencies for improved reliability and security.
- Upgraded
mcp-gofrom 0.27.0 to 0.32.0 to support streamable HTTP, update how tool arguments are accesseed. see #99 - Updated e2e test to accomodate both stdio and HTTP mode, improve test report by adding test name and improve clean up process. see #99
FIXES
- Fixed function names and improved documentation links for better usability.
- Addressed issues with CI security scanner and permissions.
- Corrected Go module name in
go.modfor compatibility.
FEATURES
- First public release of Terraform MCP Server.
- Provides seamless integration with Terraform Registry APIs for provider and module discovery, documentation retrieval, and advanced IaC automation.
- Initial support for VS Code and Claude Desktop integration.
- Includes basic CI/CD, Docker build, and test infrastructure.