mcpField
I
infraport

infraport

本地服务
github.com/CloudCorpRecords云与基础设施02 周前更新

关于 infraport

infraport 通过命令行和 stdio MCP 提供 Terraform Registry 记录及 HCP Terraform 工作区的访问方式。它适合搜索模块、Provider 或策略并查看工作区;Registry 调用无需凭据,工作区调用使用 `TFE_TOKEN`。

主要功能

  1. 01搜索 Registry 模块、Provider 和策略
  2. 02读取 Registry 记录及最新版本
  3. 03列出并查看 HCP Terraform 工作区
  4. 04提供命令行和 stdio MCP 服务

适用场景

  1. 01按查询查找 Terraform 模块
  2. 02查看 Provider 或策略记录
  3. 03检查组织中的工作区

MCP 相关

stdio MCP 服务提供八个 Terraform Registry 工具和两个工作区工具。工作区工具需要 `TFE_TOKEN`;Registry 工具无需凭据。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudcorprecords-infraport": {
"command": "npx",
"args": [
"-y",
"@reneturcios/infraport"
]
}
}
}
启动命令npx -y @reneturcios/infraport

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@reneturcios/infraport0.1.0
ocighcr.io/cloudcorprecords/infraport:0.1.0

工具

10

收录的工具列表 · 更新于 1 周前

参数类型必填说明
querystring是用于在 Terraform Registry 中查找模块的搜索文本。
offsetnumber否模块搜索结果的可选分页偏移量。
providerstring否可选的提供程序名称,用于将模块搜索结果筛选为单个提供程序。

详细介绍

infraport

infraport 是一个用于读取 Terraform 两个公开接口的小型工具。 Terraform Registry 用于发布模块、提供程序和 Sentinel 策略集;infraport 可搜索 Registry,并读取单个模块、提供程序或策略集的 记录,包括模块或提供程序最新发布的版本。HCP Terraform 用于管理工作区; infraport 可列出组织中的工作区,并按名称读取一个工作区。一个二进制文件同时提供 命令行界面和 stdio MCP 服务。

这两个接口有一个重要区别:Registry 无需密钥。Registry 命令和工具无需任何凭据 即可使用,且绝不会向其发送 Authorization 标头。只有两个 工作区工具需要令牌——通过 TFE_TOKEN 环境变量提供的 HCP Terraform API 令牌,并以 Authorization: Bearer 的形式发送至 app.terraform.io。如果缺少 TFE_TOKEN,工作区 调用会在发出任何请求之前失败,并提示该变量的名称;Registry 调用不受影响。

安装

npx @reneturcios/infraport search-modules vpc

或者运行容器镜像:

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

容器默认启动 MCP 服务(见下文)。传入 CLI 参数即可将其用作 CLI。

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

每条命令都会输出上游 JSON 载荷。两个 *-version 命令会输出一个小型对象,其中包含提取出的 version 以及其来源的完整 Registry 载荷。退出代码: 成功时为 0;调用失败时为 1(包括工作区命令缺少 TFE_TOKEN 或 API 错误);用法错误时为 2。

MCP 服务

一个二进制文件同时提供这两种用途。mcp 子命令会启动一个 stdio MCP 服务:

npx -y @reneturcios/infraport mcp

MCP 客户端配置:

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

只有两个工作区工具需要 env 条目;八个 Registry 工具无需该条目即可使用。

工具
工具输入返回内容
search_modulesquery(必填)、provider、offset(可选)与查询匹配的 Registry 模块。
get_module_detailsnamespace、name、provider(必填)、version(可选)模块记录。
get_latest_module_versionnamespace、name、provider(必填)从模块记录中提取的最新版本,以及该记录。
search_providersquery(必填)、offset(可选)与查询匹配的 Registry 提供程序。
get_provider_detailsnamespace、type(必填)、version(可选)提供程序记录。
get_latest_provider_versionnamespace、type(必填)从提供程序记录中提取的最新版本,以及该记录。
search_policiesquery(必填)、offset(可选)与查询匹配的 Registry 策略集。
get_policy_detailsnamespace、name(必填)策略集记录。
list_workspacesorganization(必填)组织中的工作区。需要 TFE_TOKEN。
get_workspaceorganization、workspace(必填)一个工作区。需要 TFE_TOKEN。

Registry 调用使用 https://registry.terraform.io/v1,且不发送 授权信息。工作区调用使用 https://app.terraform.io/api/v2, 并携带 Bearer 令牌及 application/vnd.api+json 内容类型。

此版本涵盖一组核心功能:上述八个 Registry 工具, 以及工作区列表和读取功能。它不会管理运行任务、创建 或修改工作区、编辑变量,也不会发布模块、提供程序 或策略。

开发

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

许可证

MIT——参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。