B

Terraform MCP Server

Official HashiCorp MCP server for Terraform Registry lookups and Terraform Cloud/Enterprise workspace management

Overall Score82/100

Score Breakdown

Server Info

Package
terraform-mcp-server
Registry
go
Maintainer
HashiCorpVendor
Category
Cloud & Infrastructure
Tags
iacterraformdevops
Last Scanned
7 Apr 2026

Findings

4 issues

Authentication & Identity

MEDIUMHTTP/SSE transport supports per-request credentials

Supports both stdio and StreamableHTTP transport (via TRANSPORT_MODE=http env var). Registry tools (search/get providers/modules/policies) require no authentication and access the public Terraform Registry. TFE tools require TFE_TOKEN and TFE_ADDRESS for Terraform Cloud/Enterprise. Per-session TFE client initialization via hooks. No MCP OAuth implementation.

Remediation

Implement the MCP OAuth spec so users authenticate directly without platform mediation.

Tool Schema Quality

MEDIUMOnly 4 of 41 schemas have parameter constraints

Most schemas lack maxLength, enum, or pattern constraints on string parameters.

Remediation

Add constraints to string parameters, especially on write operations.

LLM Safety

HIGHTool descriptions contain instructional language

Descriptions include directives that could influence LLM behavior beyond tool selection.

Remediation

Remove instructional language. Descriptions should be purely factual.

Data Exposure

LOWNo field selection on responses

Responses return full records rather than projected fields.

Remediation

Implement field selection to return only relevant fields.

Tools

41 total
NameDescriptionRisk
search_providersThis tool retrieves a list of potential documents based on the 'service_slug' and 'provider_document_type' provided. You MUST call this function before 'get_provider_details' to obtain a valid tfprovider-compatible 'provider_doc_id'.read
get_provider_detailsFetches up-to-date documentation for a specific service from a Terraform provider. You must call 'search_providers' tool first to obtain the exact tfprovider-compatible provider_doc_id required to use this tool.read
get_latest_provider_versionFetches the latest version of a Terraform provider from the public registryread
get_provider_capabilitiesGet the capabilities of a Terraform provider including the types of resources, data sources, functions, guides, and other features it supports.read
search_modulesResolves a Terraform module name to obtain a compatible module_id for the get_module_details tool and returns a list of matching Terraform modules.read
get_module_detailsFetches up-to-date documentation on how to use a Terraform module. You must call 'search_modules' first to obtain the exact valid and compatible module_id required to use this tool.read
get_latest_module_versionFetches the latest version of a Terraform module from the public registryread
search_policiesSearches for Terraform policies based on a query string.read
get_policy_detailsFetches up-to-date documentation for a specific policy from the Terraform registry. You must call 'search_policies' first to obtain the exact terraform_policy_id required to use this tool.read
list_terraform_orgsList Terraform organizations accessible with the current tokenread
list_terraform_projectsList Terraform projects in an organizationread
list_workspacesSearch and list Terraform workspaces within a specified organization. Returns all workspaces when no filters are applied, or filters results based on name patterns, tags, or search queries. Supports pagination for large result sets.read
get_workspace_detailsGet detailed information about a specific Terraform workspaceread
create_workspaceCreates a new Terraform workspace in the specified organization. This is a destructive operation that will create new infrastructure resources.write
update_workspaceUpdate an existing Terraform workspacewrite
delete_workspace_safelySafely deletes a Terraform workspace by ID only if it is not managing any resources. This prevents accidental deletion of workspaces that still have active infrastructure. This is a destructive operation.admin
search_private_providersSearch private providers in Terraform Cloud/Enterprise registryread
get_private_provider_detailsGet detailed information about a private Terraform providerread
search_private_modulesSearch private modules in Terraform Cloud/Enterprise registryread
get_private_module_detailsGet detailed information about a private Terraform moduleread
create_workspace_tagsCreate tags on a Terraform workspacewrite
read_workspace_tagsRead tags from a Terraform workspaceread
list_runsList runs for a Terraform workspaceread
create_runCreates a new Terraform run in the specified workspace.write
action_runPerforms a variety of actions on a Terraform run. It can be used to approve and apply, discard or cancel a run.admin
get_run_detailsGet detailed information about a specific Terraform runread
create_no_code_workspaceCreate a no-code Terraform workspace from a modulewrite
list_variable_setsList all variable sets in an organization. Returns all if query is empty.read
create_variable_setCreate a new variable set in an organization.write
create_variable_in_variable_setCreate a variable within a variable setwrite
delete_variable_in_variable_setDelete a variable from a variable setadmin
attach_variable_set_to_workspacesAttach a variable set to one or more workspaceswrite
detach_variable_set_from_workspacesDetach a variable set from one or more workspaceswrite
attach_policy_set_to_workspacesAttach a policy set to one or more workspaceswrite
list_workspace_policy_setsList policy sets attached to a workspaceread
list_workspace_variablesList variables in a Terraform workspaceread
create_workspace_variableCreate a variable in a Terraform workspacewrite
update_workspace_variableUpdate a variable in a Terraform workspacewrite
get_token_permissionsGet the list of permissions for the current TFE_TOKEN in a particular organizationread
list_stacksList Terraform stacks in an organizationread
get_stack_detailsGet details about a specific Terraform stackread

Deploy Terraform MCP Server securely

CompleteFlow adds per-user authentication, permission scoping, and audit logging to any MCP server out of the box.

Deploy on CompleteFlow