Back to Browse

Infraport MCP Server

Developer ToolsModerate6.3MCP RegistryLocal
Free

Server data from the Official MCP Registry

Terraform Registry modules, providers and policies, plus HCP Terraform workspaces.

About

Terraform Registry modules, providers and policies, plus HCP Terraform workspaces.

Security Report

6.3
Moderate6.3Moderate Risk

infraport is a small, well-scoped Terraform Registry and HCP Terraform reader. Registry calls are keyless and send no Authorization header, and the only credential, TFE_TOKEN, is sent as a Bearer token solely to the fixed app.terraform.io host. No malicious patterns, shell execution, or dynamic code execution were found, and the only finding is an informational note on network and env var access that matches the server's purpose. Supply chain analysis found 4 known vulnerabilities in dependencies (0 critical, 2 high severity). Package verification found 1 issue.

8 files analyzed · 6 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

TFE_TOKENRequired

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-cloudcorprecords-infraport": {
      "env": {
        "TFE_TOKEN": "your-tfe-token-here"
      },
      "args": [
        "-y",
        "@reneturcios/infraport"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

infraport

infraport is a small reader for Terraform's two public surfaces. The Terraform Registry is where modules, providers, and Sentinel policy sets are published; infraport searches it and reads the record for a single module, provider, or policy set, including the latest published version of a module or provider. HCP Terraform is where workspaces live; infraport lists the workspaces in an organization and reads one workspace by name. One binary serves a command-line interface and a stdio MCP server.

The two surfaces differ in one important way: the Registry is keyless. Registry commands and tools work with no credentials at all, and no Authorization header is ever sent to it. Only the two workspace tools need a token — an HCP Terraform API token in the TFE_TOKEN environment variable, sent as Authorization: Bearer to app.terraform.io. When TFE_TOKEN is missing, a workspace call fails with an error that names the variable, before any request is made; registry calls are unaffected.

Install

npx @reneturcios/infraport search-modules vpc

Or run the container image:

docker run -i -e TFE_TOKEN ghcr.io/cloudcorprecords/infraport

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead.

CLI

infraport search-modules vpc
infraport module terraform-aws-modules vpc aws
infraport module-version terraform-aws-modules vpc aws
infraport search-providers aws
infraport provider hashicorp aws
infraport provider-version hashicorp aws
infraport search-policies tags
infraport policy hashicorp enforce-tags

export TFE_TOKEN=<your HCP Terraform token>
infraport workspaces my-org
infraport workspace my-org prod

infraport --version

Each command prints the upstream JSON payload. The two *-version commands print a small object holding the extracted version plus the full registry payload it came from. Exit codes: 0 on success, 1 when a call fails (including a missing TFE_TOKEN for workspace commands, or an API error), 2 for usage errors.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

npx -y @reneturcios/infraport mcp

MCP client configuration:

{
  "mcpServers": {
    "infraport": {
      "command": "npx",
      "args": ["-y", "@reneturcios/infraport", "mcp"],
      "env": { "TFE_TOKEN": "..." }
    }
  }
}

The env entry is only needed for the two workspace tools; the eight registry tools work without it.

Tools

ToolInputWhat it returns
search_modulesquery (required), provider, offset (optional)Registry modules matching the query.
get_module_detailsnamespace, name, provider (required), version (optional)The module record.
get_latest_module_versionnamespace, name, provider (required)The latest version extracted from the module record, plus that record.
search_providersquery (required), offset (optional)Registry providers matching the query.
get_provider_detailsnamespace, type (required), version (optional)The provider record.
get_latest_provider_versionnamespace, type (required)The latest version extracted from the provider record, plus that record.
search_policiesquery (required), offset (optional)Registry policy sets matching the query.
get_policy_detailsnamespace, name (required)The policy set record.
list_workspacesorganization (required)Workspaces in the organization. Requires TFE_TOKEN.
get_workspaceorganization, workspace (required)One workspace. Requires TFE_TOKEN.

Registry calls use https://registry.terraform.io/v1 and send no authorization. Workspace calls use https://app.terraform.io/api/v2 with a Bearer token and the application/vnd.api+json content type.

This build covers a core subset: the eight registry tools above plus workspace listing and reading. It does not manage runs, create or change workspaces, edit variables, or publish modules, providers, or policies.

Development

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)
npm run dev     # run the CLI from source via tsx

License

MIT — see LICENSE.

Reviews

No reviews yet

Be the first to review this server!