Token导航 LogoToken导航

MCP Server · 开发工具

Terraform Ingest Example

一个用于管理和集成Terraform模块的工具,支持从GitHub导入模块、自动生成文档和代码示例,适用于Terraform项目迁移和开发效率提升。

stdio官方级别未说明来源级核验工具 0
开发工具Shell命令行工具

快速开始

作者 / 组织
zloeber
提供方
zloeber
运行时
Python

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

Terraform Ingest Example 属于开发工具类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 访问 Token。

分类

开发工具

传输方式

stdio

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

安装命令

uvx terraform-ingest --version

客户端配置示例

{
  "mcpServers": {
    "terraform-ingest-example": {
      "command": "uvx",
      "args": [
        "terraform-ingest",
        "--version"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

地形摄取示例

这是一个vscode的完整工作区示例,用于大型自定义地形模块集合,该集合来自一个我非常尊重的地形专业团队, Cloudposse。他们已经为社区生产了近200个专业质量的AWS地形模块以及更多。以下是如何通过地形摄取和MCP摄取他们的所有模块,作为进一步地形工作的基础。

安装

需要一些工具才能使其正常工作。您可以通过以下方式安装它们 布置 可以使用附带的为您的用户帐户安装 ./configure.sh 脚本。

注: 我建议你仔细阅读安装脚本,以了解你在做什么。我还强烈建议在用户shell中配置mise,以便在包含mise.toml配置文件的文件夹中自动激活。否则,你可以跑 mise en 以按需启用它。

对于这个例子,您还需要地形摄取工具。在本次练习中,我特意将其排除在自动化软件包安装之外。您可以使用uv作为工具来安装它:

uv tool install terraform-ingest
uvx terraform-ingest --version
备注 要升级运行 uv tool upgrade terraform-ingest

为了充分利用此MCP服务器,它应该与HashiCorp的terraform MCP服务器配对,甚至可能与云文档MCP配对(在这种情况下,AWS是所有这些模块的目标)。看看包括 vscode的MCP文件.

设置

我们可以使用terraform摄取直接导入目标github组织。因为Cloudposse非常擅长标准化模块和标记版本,所以我们有目的地只针对最新的标记版本和 ./src 路径。以下操作是在提交此项目之前完成的,不需要再次运行即可继续使用此示例项目:

uv tool run terraform-ingest init ./.vscode/cloudposse.yaml
uv tool run terraform-ingest import github --org cloudposse-terraform-components --token '' --terraform-only --base-path './src' --max-tags 1 --replace -c ./.vscode/cloudposse.yaml
备注 排除 --token 如果您的环境中已经有此参数,请将其设置为 GITHUB_TOKEN

由于模块太多,我发现最好在启动mcp服务器之前将它们全部摄取。使用以下命令可以轻松完成此操作:

uv tool run terraform-ingest ingest --auto-install-deps .vscode/cloudposse.yaml

重要 如果不包括--auto-install-deps,则MCP服务器可能无法正常运行,具体取决于您的配置。第一次运行此步骤时要有耐心,因为库非常大。

这需要一两分钟的时间,并以摄入模块的摘要结束。

...
Ingestion complete!
Processed 167 module(s)
Summaries saved to output

Vector Database Statistics:
  Collection: terraform_modules
  Documents: 167
  Strategy: chromadb-default

示例1-迁移

一个虚构的在线应用程序,出售天堂门票。

最初为使用本地AWS地形的AWS虚拟低成本订购系统生成了一堆地形。然后,在摄取地形摄取配置并启动MCP服务器以从清单创建转换文档以尽可能多地使用CloudPosse模块后,我提示Copilot使用地形摄取。已找到此文件 这里.

Create a document of possible terraform modules to use for the terraform code in ./terraform. Use search_modules_vector to find as many relevant modules as possible for this folder. If applicable modules are found, use get_module_details to get information needed to create the terraform module blocks need to use them. Ensure you create code for the modules that use the ssh git url format and repository ref as the version. Create a CONVERSION.md of the modules you would create and how you would convert the project.

你可以看到结果 这里 在那里,它正确地找到了可以使用的适用模块,并给出了分阶段迁移到这些模块的方法。

示例2-按需文档

此MCP服务器最简单的用例可能是无需离开编辑器即可轻松访问您的模块需求。

由于几十个模块分布在存储库中,当您编写新的或现有的Terraform时,回忆每个模块的输入/输出可能会很痛苦。为了解决这个问题,您可以使用地形摄取作为快速获取这些细节并生成示例模块块来使用它们的一种手段。

# Generate example module call for one of your custom modules
Generate an example terraform module call for aws-kms using the source format for ssh git

# Get expected inputs for one of your modules
What are the expected inputs for the aws-argocd-github-repo terraform module?

使用副驾驶中的最后一个提示,它将使用search_modules工具获取模块信息,在表中提供所有必需和可选的输入,并提供示例用法。漂亮!

示例2-输出

这是在代理聊天窗口中启动MCP服务器的情况下运行的,没有可供参考的文件,模块上的输出很好

What are the expected inputs for the aws-argocd-github-repo terraform module?

让我搜索aws-argocd-github repo模块以获取其预期的输入。

跑 search_modules 已完成输入:{ “query”:“aws argocd github仓库” }

根据搜索结果,以下是 aws argocd github repo Terraform模块的预期输入 (v2.2.0版本):

所需输入
变量类型描述
regionstringAWS区域
descriptionstring存储库的描述
gitignore_entrieslist(string).gitignore条目列表(例如。, [".idea/", ".vscode/"])
github_base_urlstringGitHub基础API端点(企业级必需)
github_codeowner_teamslist(string)CODEOWNERS文件的团队列表(例如。, ["@ACME/cloud-admins"])
github_userstringGitHub用户名
github_user_emailstringGitHub用户电子邮件
github_organizationstringGitHub组织名称
github_token_overridestringGitHub API令牌(可以改用SSM)
可选输入
变量类型默认值描述
environments列表(对象)[]ArgoCD应用程序设置和部署密钥的环境
permissions列表(对象)[]团队访问的存储库权限对象
create_repo bool的。 true是创建存储库还是使用现有存储库
deploy_keys_enabled bool的。 true启用ArgoCD同步的GitHub部署密钥
required_pull_request_reviews bool的。 true执行PR审查限制
push_restrictions_enabled bool的。 true对主要分支机构实施推送限制
vulnerability_alerts_enabled bool的。 false启用安全警报
web_commit_signoff_required bool的。 false要求提交签字
manifest_kubernetes_namespace字符串"argocd"ArgoCD的Kubernetes命名空间
ssm_github_api_key字符串"/argocd/github/api_key"指向GitHub API密钥的SSM路径
ssm_github_deploy_key_format字符串"/argocd/deploy_keys/%s"部署密钥的SSM路径格式
slack_notifications_channel字符串""用于通知的Slack频道
use_local_github_credentials bool的。 false使用环境变量而不是SSM
示例用法
module "argocd_github_repo" {
  source = "git::ssh://git@github.com/cloudposse-terraform-components/aws-argocd-github-repo.git//src?ref=v2.2.0"

  region                  = "us-east-1"
  description             = "ArgoCD desired state repository"
  github_user             = "ci-acme"
  github_user_email       = "ci@acme.com"
  github_organization     = "ACME"
  github_base_url         = "https://github.com/"
  github_codeowner_teams  = ["@ACME/cloud-admins", "@ACME/cloud-posse"]
  gitignore_entries       = [".idea/", ".vscode/", "*.tfvars"]
  
  permissions = [
    {
      team_slug  = "admins"
      permission = "admin"
    },
    {
      team_slug  = "engineering"
      permission = "push"
    }
  ]

  environments = [
    {
      tenant      = "mgmt"
      environment = "uw2"
      stage       = "sandbox"
      auto-sync   = true
    }
  ]

  deploy_keys_enabled            = true
  required_pull_request_reviews  = true
  push_restrictions_enabled      = true
  vulnerability_alerts_enabled   = false
}

示例3-直接模块插入

使用内联副目录,您可以查找并直接插入示例模块调用。以下是一个AWS KMS密钥的示例 ./示例/项目2 使用此内联聊天提示:

Find the best terraform module using terraform-ingest to deploy an ec2 auto-scale group into AWS running Amazon linux and create module blocks that use them via git ssh target format and the latest tagged release.

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

Shell本地部署Terraform模块管理AWS开发工具自动化

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到访问 Token的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Terraform Ingest Example

MCP World · 本页

0stdio有1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Terraform Ingest Example 怎么安装?

公开资料给出的安装命令是 uvx terraform-ingest --version,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Terraform Ingest Example 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Terraform Ingest Example 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Terraform Ingest Example 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Terraform Ingest Example 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP