Token导航 LogoToken导航TokenDH.com
Dpaas Tf MCP Server logo
运维云端stdio官方级别未说明来源级核验

Dpaas Tf MCP Server

MCP Server

@dpaas/terraform-mcp-server

DPaaS Terraform MCP Server是一个基于AI的Terraform模块生成器,用于为Azure资源动态生成符合DPaaS规范的生产就绪模块。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
基础设施即代码GoClaudeClaude DesktopClaudeCursorVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

dammyboss

提供方

dammyboss

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx @dpaas/terraform-mcp-server --version

详细介绍

DPaaS地形MCP服务器

![Go](https://go.dev/) ![Terraform](https://www.terraform.io/) ![MCP](https://modelcontextprotocol.io/) ![Azure](https://azure.microsoft.com/) ](https://github.com) ![LinkedIn](https://linkedin.com/in/damilola-onadeinde) ![YouTube](https://youtube.com/@devopswithdami) ![Buy Me A Coffee](https://buymeacoffee.com/devopswithdami)

A. 模型上下文协议(MCP) 为Azure资源生成DPaaS内源Terraform模块的服务器。在AI编码助手的支持下,它动态提取提供者模式,获取文档驱动的枚举值,并生成符合DPaaS约定的生产就绪的Terraform模块。

运作原理

You (AI prompt) ──> MCP Client ──> DPaaS MCP Server ──> Terraform Provider Schema
                                                     ──> Azure Provider Docs
                                                     ──> Generated Module Output
  1. 您描述了所需的Azure资源(例如,“为Azure rm_storage_account生成一个DPaaS模块”)
  2. MCP服务器从Terraform提供程序中提取完整的资源模式
  3. 枚举值和描述从官方Azure提供程序文档中获取
  4. 按照DPaaS惯例生成一个完整的、可用于生产的模块

特性

  • 动态模式提取 --从实时的Terraform提供程序模式生成模块,而不是模板
  • 文档驱动枚举 --从官方Azure提供商文档中获取枚举值和描述
  • 符合DPaaS公约 --输出遵循具有空标签集成的内部源代码模块结构
  • 多种测试场景 --生成 default, complete,以及 disabled 判例
  • 无硬编码值 --一切都是从模式和文档中动态派生出来的
  • 交叉平台的 --可作为npm包(macOS、Linux、Windows)、Docker镜像或本地二进制文件提供
  • 多客户端支持 --适用于Claude Desktop、Amazon Q、VS Code、Cursor和任何兼容MCP的客户端

生成的模块结构

expn-tf-azure-{resource}/
  main.tf              # Resource definition with all attributes
  variables.tf         # Typed variables with descriptions and enum validations
  outputs.tf           # Standard outputs (id, name, resource group)
  locals.tf            # Local values and naming
  versions.tf          # Provider and Terraform version constraints
  context.tf           # Null-label context integration
  CHANGELOG.md         # Initial changelog
  README.md            # Module documentation
  .gitignore           # Standard ignores
  .pre-commit-config.yaml
  tests/
    default/           # Required attributes only
      main.tf
      versions.tf
    complete/          # All attributes and blocks populated
      main.tf
      versions.tf
    disabled/          # Module with enabled = false
      main.tf
      versions.tf

先决条件

  • (1.22+)--如果从源头开始构建
  • 地形 --架构提取所需(terraform providers schema -json)
  • Node.js (v16+)——如果通过npm安装
  • 码头工人 --如果使用Docker镜像(镜像中包含Terraform)

安装

选项1:npm包(推荐)

从Azure DevOps工件提要安装:

  1. 将作用域注册表添加到您的 ~/.npmrc:
@dpaas:registry=https://pkgs.dev.azure.com//
/_packaging//npm/registry/
  1. 在中设置身份验证 ~/.npmrc (参见 Azure DevOps工件文档):
; begin auth token
//pkgs.dev.azure.com//
/_packaging//npm/registry/:username=
//pkgs.dev.azure.com//
/_packaging//npm/registry/:_password=
//pkgs.dev.azure.com//
/_packaging//npm/registry/:email=npm requires email to be set but doesn't use the value
//pkgs.dev.azure.com//
/_packaging//npm/:username=
//pkgs.dev.azure.com//
/_packaging//npm/:_password=
//pkgs.dev.azure.com//
/_packaging//npm/:email=npm requires email to be set but doesn't use the value
; end auth token
  1. 验证安装:
npx @dpaas/terraform-mcp-server --version

选项2:Docker

git clone 
cd dpaas-tf-mcp-server
docker build --target=dpaas -t terraform-mcp-dpaas .
Docker镜像中包含了Terraform——无需在本地安装Terraform。

选项3:从源代码构建

git clone 
cd dpaas-tf-mcp-server
make build

二进制将位于 bin/terraform-mcp-server.

MCP客户端配置

克劳德桌面/亚马逊Q开发人员

添加到MCP客户端配置(claude_desktop_config.json 或同等):

npm:

{
  "mcpServers": {
    "terraform-dpaas": {
      "command": "npx",
      "args": ["-y", "@dpaas/terraform-mcp-server", "stdio"]
    }
  }
}

Docker:

{
  "mcpServers": {
    "terraform-dpaas": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-v", "/path/to/output:/output",
        "terraform-mcp-dpaas"
      ]
    }
  }
}

本地二进制文件:

{
  "mcpServers": {
    "terraform-dpaas": {
      "command": "/path/to/bin/terraform-mcp-server",
      "args": ["stdio"]
    }
  }
}

VS代码

添加到用户设置(JSON)或 .vscode/mcp.json:

{
  "mcp": {
    "servers": {
      "terraform-dpaas": {
        "command": "npx",
        "args": ["-y", "@dpaas/terraform-mcp-server", "stdio"]
      }
    }
  }
}

克劳德代码

claude mcp add terraform-dpaas -s user -t stdio -- npx -y @dpaas/terraform-mcp-server stdio

用法

连接到MCP客户端后,使用自然语言提示:

生成模块(仅默认测试)

“在/path/to/output中为azure rm_storage_account生成一个DPaaS Terraform模块”

使用特定的测试场景生成

为azure rm_storage_account生成一个DPaaS Terraform模块。将test_scenarios设置为“默认、完整、禁用”

生成所有测试场景

为azure rm_load_test生成一个DPaaS Terraform模块。将test_scenarios设置为“默认、完整、禁用”

测试场景

场景描述
default只有必需的属性和块——验证最小可行配置
complete用示例值填充的所有属性和块--验证完整的资源覆盖率
disabled模块与 enabled = false --验证该模块是否可以完全禁用

可用的MCP工具

工具说明
dpaas_generate_innersource_module为Azure资源生成完整的DPaaS Terraform模块
dpaas_extract_resource_schema提取并查看资源的原始Terraform提供程序模式
dpaas_list_azure_resources列出来自Terraform提供程序的可用Azure资源
dpaas_validate_module根据DPaaS标准验证生成的模块

示例提示

以下是示例提示,您可以使用AI编码助手与每个工具进行交互:

生成模块

“为生成DPaaS内部源代码Terraform模块 azurerm_storage_account 并将其输出到 /path/to/output"
“为生成DPaaS模块 azurerm_application_gateway 所有测试场景(默认、完整、禁用)”
“为Azure负载测试创建DPaaS Terraform模块”

列出可用资源

“列出我可以为其生成模块的所有可用Azure资源”
“显示Terraform提供程序中可用的所有Azure网络相关资源”
“列出与‘存储’匹配的Azure资源”

提取资源架构

“提取的Terraform提供程序架构 azurerm_key_vault 并向我展示它的所有属性和块”
“什么属性起作用 azurerm_virtual_network 支持?提取其架构”
“显示的完整架构 azurerm_container_registry 包括嵌套块”

验证模块

“在以下位置验证DPaaS模块 /path/to/expn-tf-azure-storage-account 符合DPaaS标准”
“在我刚刚生成的存储帐户模块上运行DPaaS验证”
“检查生成的应用程序网关模块是否通过了所有22个DPaaS合规性检查”

环境变量

变量描述默认值
TRANSPORT_MODE运输方式: stdiostreamable-httpstdio
TRANSPORT_HOST主机绑定HTTP服务器127.0.0.1
TRANSPORT_PORTHTTP服务器端口8080
MCP_ENDPOINTHTTP服务器端点路径/mcp

发展

构建命令

命令描述
make build为您的平台构建二进制文件
make npm-build为npm包构建跨平台二进制文件
make npm-publish NPM_REGISTRY=构建并发布npm包
make docker-build构建Docker镜像
make test运行所有测试
make clean删除构建工件
make help显示所有可用命令

发布新版本

# Build cross-platform binaries and publish to Azure DevOps Artifacts
make npm-build
cd npm && npm publish

项目架构

pkg/
  dpaas/
    schema/           # Schema extraction, docs fetcher, types
    generators/       # File generators (main.tf, variables.tf, tests, etc.)
    templates/        # Static template files (null-label, versions, etc.)
    validation/       # Terraform validate wrapper
  tools/
    dpaas/            # MCP tool handlers
cmd/
  terraform-mcp-server/  # Entry point and CLI setup
npm/                  # npm package wrapper (cli.js, install.js)
scripts/              # Build scripts (build-npm.sh)

贡献

欢迎投稿!请随时提交拉取请求。对于重大更改,请先打开一个问题来讨论您想要更改的内容。

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/AmazingFeature)
  3. 提交您的更改(git commit -m 'Add some AmazingFeature')
  4. 推到分支(git push origin feature/AmazingFeature)
  5. 打开拉取请求

关于开发者

达米洛拉·奥纳丁德 *DevOps/AI工程师|云基础设施专家|开源贡献者*

联系我:

支持开发者

如果你觉得这个项目很有帮助,并想支持我的工作,可以考虑给我买杯咖啡!

![Buy Me A Coffee](https://buymeacoffee.com/devopswithdami)

您的支持帮助我继续创建开源工具并改进这个项目!

许可证

此项目根据MPL-2.0开源许可证的条款获得许可。请参考 许可证 完整的条款。

目录标签

目录标签

基础设施即代码GoClaudeTerraform模块本地部署Azure自动化AI辅助开发云资源管理

支持客户端

Claude DesktopClaudeCursorVS Code

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

@dpaas/terraform-mcp-server

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP