Token导航 LogoToken导航

MCP Server · 运维云端

Tf Dialect

tf-dialect是一个MCP服务器,用于向AI编码代理暴露组织的Terraform风格指南,确保生成的代码符合组织特定的基础设施即代码标准。

未说明官方级别未说明来源级核验工具 0
TypeScriptClaude基础设施即代码Claude DesktopCline

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
UtpalJayNadiger
提供方
UtpalJayNadiger

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

2 个

MCP World

选型结论

Tf Dialect 属于运维云端类 MCP Server,公开资料标注 0 个工具,通过传输方式未标注接入,适配 Claude Desktop、Claude、Cline,没有现成的安装命令;接入前先确认权限范围。

分类

运维云端

传输方式

未说明

认证方式

无需认证

部署方式

仅本地运行

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    先确认运行方式

    公开资料没有标注传输方式,先看仓库 README,确认是本地进程还是远程地址。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

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

  4. 4

    验证是否可用

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

接入前确认

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

公开资料仍需确认:安装命令

详细介绍

tf方言

tf方言 是一个MCP(模型上下文协议)服务器,它向AI编码代理公开您组织的Terraform风格指南,确保它们生成上下文感知的、特定于组织的基础设施代码,而不是通用的HCL。

配置一次,与任何支持MCP的编码代理(Claude Desktop、Cline等)一起使用。

快速开始

# Clone the repository
git clone https://github.com/utpaljaynadiger/tf-dialect.git
cd tf-dialect

# Install dependencies
npm install

# Build the project
npm run build

# Create your style configuration
cp terraform-style.example.yaml terraform-style.yaml

# Edit terraform-style.yaml with your organization's standards
# Then configure in your MCP client (see "Running the Server" section)

为什么使用tf方言?

问题

AI编码助手生成违反组织标准的通用Terraform代码。您现有的工具(tflint、Sentinel、模块注册表)是 反应式--它们在编写代码后发现违规行为。开发商浪费时间解决可预防的问题。

解决方案

tf方言在代码生成之前通过MCP将您的Terraform标准暴露给AI代理。AI学习你的命名约定、所需标签、批准的模块和安全默认值,然后在第一次尝试时生成符合要求的代码。

之前/之后

没有tf方言:

# AI generates generic code
resource "aws_s3_bucket" "logs" {
  bucket = "my-logs-bucket"
}
# ❌ Wrong naming, missing tags, no encryption, not using approved module
# → 3 commits to fix tflint/Sentinel violations

使用tf方言:

# AI calls get_style_guide() + list_examples() first
module "logs_bucket" {
  source = "../modules/s3-bucket"
  
  name = "acme-prod-logs"
  kms_key_id = data.aws_kms_key.standard.arn
  
  tags = {
    CostCenter  = "engineering"
    Team        = "platform"
    Environment = "prod"
  }
}
# ✅ Passes all checks on first commit

定位

工具阶段目的
tf方言前一代教AI你的标准
模块注册表参考提供可重用的模块
tflint/checkov后生成静态分析
哨兵/OPA运行时策略执行

tf方言 互补的--它使AI代理知道您的模块注册表,并帮助生成通过现有验证工具的代码。

目标用户

  • 平台团队: 在整个组织中标准化人工智能生成的IaC
  • 开发者: 使用Claude/Copilot/ChatGPT进行地形建模
  • 组织机构: 基于人工智能不了解的现有Terraform标准

特性

  • 📚 风格指南管理:在单个YAML文件中定义您的Terraform约定
  • 🔍 验证:根据组织的规则检查Terraform代码片段
  • 📝 代码示例:为常见模式提供可重用的代码段
  • 🛡️ 安全默认值:自动执行安全最佳实践
  • 🏗️ 代码生成:生成兼容的Terraform资源
  • 🤖 人工智能原生:与支持MCP的编码代理无缝协作

安装

npm install
npm run build

配置

  1. 复制示例配置:
cp terraform-style.example.yaml terraform-style.yaml
  1. 编辑 terraform-style.yaml 为了符合贵组织的标准:
modules:
  pattern: "root + shared-modules"
  shared_module_path: "modules/"
  prefer_shared_modules: true

naming:
  resource_format: "
---"
  variable_case: "snake_case"
  output_case: "snake_case"

tagging:
  required_tags:
    - "environment"
    - "owner"
    - "cost_center"
  defaults:
    environment: "${var.environment}"
    owner: "infra-team"

security_defaults:
  s3_bucket:
    block_public_acls: true
    versioning: true
    encryption: "aws:kms"
  rds:
    storage_encrypted: true
    backup_retention_period: 7

examples:
  s3_private_bucket: |
    module "logs_bucket" {
      source = "../modules/s3-bucket"
      name   = "${local.project}-${var.environment}-logs"
      tags   = local.default_tags
    }

运行服务器

独立

npm run mcp

使用克劳德桌面

添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):

{
  "mcpServers": {
    "tf-dialect": {
      "command": "node",
      "args": ["/absolute/path/to/tf-dialect/dist/index.js"],
      "env": {
        "TERRAFORM_STYLE_PATH": "/absolute/path/to/your/terraform-style.yaml"
      }
    }
  }
}

或者如果 terraform-style.yaml 与服务器位于同一目录中:

{
  "mcpServers": {
    "tf-dialect": {
      "command": "node",
      "args": ["/absolute/path/to/tf-dialect/dist/index.js"]
    }
  }
}

使用Cline VSCode扩展

添加到MCP设置中:

{
  "mcpServers": {
    "tf-dialect": {
      "command": "node",
      "args": ["/absolute/path/to/tf-dialect/dist/index.js"]
    }
  }
}

MCP工具

服务器公开了AI代理可以使用的四个工具:

1. get_style_guide

获取完整的Terraform样式指南配置。

输入: 无

输出:

{
  "modules": { ... },
  "naming": { ... },
  "tagging": { ... },
  "providers": { ... },
  "security_defaults": { ... },
  "examples": { ... }
}

代理提示示例:

“显示此项目的Terraform样式指南”

______________________________________________________________________

2. list_examples

列出代码示例,可选择按资源类型或搜索词进行筛选。

输入:

{
  "resourceType": "s3_bucket",  // optional
  "search": "postgres"          // optional
}

输出:

{
  "examples": [
    {
      "name": "s3_private_bucket",
      "code": "module \"logs_bucket\" { ... }"
    }
  ]
}

代理提示示例:

“显示S3存储桶的示例” “列出所有RDS示例”

______________________________________________________________________

3. validate_snippet

根据样式指南验证Terraform代码。

输入:

{
  "code": "resource \"aws_s3_bucket\" \"example\" { ... }",
  "filePath": "main.tf"  // optional
}

输出:

{
  "valid": false,
  "violations": [
    {
      "ruleId": "required_tag_missing",
      "severity": "error",
      "message": "Missing required tags: environment, owner",
      "line": 5,
      "suggestion": "Add the following tags: environment = \"...\", owner = \"...\""
    }
  ]
}

代理提示示例:

“根据我们的样式指南验证此Terraform代码” “检查此S3存储桶配置是否符合要求”

______________________________________________________________________

4. generate_resource

根据组织标准生成Terraform资源。

输入:

{
  "resourceType": "aws_s3_bucket",
  "env": "prod",
  "service": "analytics",
  "purpose": "logs",       // optional
  "extraTags": {           // optional
    "team": "data"
  }
}

输出:

{
  "code": "resource \"aws_s3_bucket\" \"this\" { ... }"
}

支持的资源类型:

  • aws_s3_bucket
  • aws_db_instance
  • 其他(生成带有TODO的通用存根)

代理提示示例:

“为prod分析日志生成S3存储桶” “为暂存API数据库创建RDS实例”

______________________________________________________________________

验证规则

tf方言执行以下规则:

必填标签

确保所有资源都包含配置中定义的必需标签。

禁止模式

阻止危险模式,如:

  • 0.0.0.0/0 在安全组中
  • 硬编码凭证
  • 您定义的自定义正则表达式模式

安全默认值

实施安全最佳实践:

S3铲斗:

  • 阻止公众访问
  • 启用版本控制
  • 启用加密(KMS或AES256)

RDS实例:

  • 启用存储加密
  • 设置备份保留期
  • 其他可配置的默认值

命名约定

验证资源名称是否符合您的格式:

  • `

---`

  • 检查组件数量和结构

发展

# Install dependencies
npm install

# Build
npm run build

# Watch mode
npm run dev

工作流示例

  1. 客服询问风格:

- 客服电话 get_style_guide - 了解组织的惯例

  1. Agent需要一个示例:

- 客服电话 list_examples 随着 resourceType: "rds" - 获取可用的RDS配置示例

  1. 代理生成代码:

- 客服电话 generate_resource 或编写代码 - 然后打电话 validate_snippet 检查合规性

  1. 代理修复违规:

- 读取违规建议 - 更新代码以符合要求

用例

  • 入职:新团队成员的人工智能助手会立即学习你的标准
  • 一致性:所有Terraform代码在团队中都遵循相同的模式
  • 安全:在生成的代码中自动执行安全默认值
  • 生产力:AI在第一次尝试时生成符合要求的代码,而不是通用的HCL

许可证

麻省理工学院

贡献

欢迎投稿!这是一个为IaC高级用户设计的OSS友好项目。

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

TerraformTypeScript本地部署基础设施即代码AI编码代理风格指南自动化验证

支持客户端

Claude DesktopClaudeCline

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

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 已经适配 Claude Desktop、Claude、Cline,换客户端不用重新研究配置。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

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

MCP World · 本页

0未说明未标注2 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

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

常见问题

5 条

Tf Dialect 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

Tf Dialect 怎么在 Claude Desktop、Cursor 里配置?

它是传输方式未标注,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Tf Dialect 收费吗?

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

Tf Dialect 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Tf Dialect 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude、Cline;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP