mcp-tf提供者文档
一个可配置的MCP服务器,从本地Git仓库索引和提供Terraform/Tofu提供者文档,以支持准确、上下文感知的代码生成。
目的
mcp-tf-provider-docs 旨在提供一个可以访问Terraform资源的MCP服务器。这需要签出相应的Terraform Git存储库,例如 hashicorp/terraform提供商谷歌 这将在本文档中用作示例。但是,此MCP服务器是通用的,也可以配置为与其他Terraform提供程序一起工作。提供的MCP工具允许您的代理查找Terraform文档,这在代码生成中很有用,因为GCP等提供者会定期添加和更新他们的API,因此属性和功能在训练数据中不存在是很常见的,因此提供最新的文档可以改进代码生成。
发布
所有官方版本 mcp-tf提供者文档 发表于 。由于此MCP服务器是用Go编写的,因此每个版本都为macOS、Linux和Windows提供了预编译的可执行文件,可以随时下载和运行。
或者,如果您已安装Go,则可以安装 mcp-tf提供者文档 使用以下命令直接从源代码获取:
go install github.com/UnitVectorY-Labs/mcp-tf-provider-docs@latest配置
服务器是使用环境变量和YAML文件配置的。
环境变量
TF_CONFIG:配置YAML文件的路径。(必填)
YAML配置文件
配置文件用于指定MCP服务器的配置,允许为不同的Terraform提供程序进行自定义。
可以在文件中指定以下属性:
docs_path:指向文档文件所在的根目录的路径,通常是指定文档文件夹位置的Terraform提供程序的Git存储库,通常/website/docs。(必填)match_pattern:一种正则表达式模式,用于从文档文件中提取完全限定的资源或数据源名称。此模式应与Terraform提供程序使用的前缀匹配。例如,对于谷歌云平台提供商,模式将是\\bgoogle_[a-z0-9_]+\\b。(必填)tool_name:MCP工具的名称。如果未指定,则默认为lookup_provider_docs。这允许您自定义工具名称以匹配您的用例或命名约定。(可选)tool_description:MCP工具用于为文档提供上下文的描述,这有助于用户理解该工具的功能。(必填)
配置文件的结构如下:
# Path to the root directory where documentation files live, a Git repository to the Terraform provider
docs_path: "/path-to/terraform-provider-google/website/docs"
# Regex to extract fully-qualified resource or data source names, this looks for the prefix that is used by the Terraform provider
match_pattern: "\\bgoogle_[a-z0-9_]+\\b"
# (Optional) Name to use for the MCP tool. If omitted, defaults to 'lookup_provider_docs'.
tool_name: "lookup_gcp_tf_docs"
# Description used by the MCP tool to provide context for the documentation
tool_description: "Lookup Terraform documentation for Google Cloud Platform based on the provider name."
局限性
此应用程序构建的索引非常基础,因为它只是对文档文件执行正则表达式匹配,以查找每个文件中存在的资源名称,并返回所有匹配文件的全部内容。这是由于Terraform文档的局限性造成的,即提供者之间甚至同一提供者内部没有一致的结构或命名约定。
