使用说明
Terraform MCP服务器
Terraform MCP服务器是一个 模型上下文协议(MCP) 服务器,提供与Terraform注册表API的无缝集成,实现高级 基础设施即代码(IaC)开发的自动化和交互能力。
用例
- 自动化地形提供程序和模块发现
- 从Terraform注册表中提取和分析数据
- 获取有关提供程序资源和数据源的详细信息
- 探索和理解Terraform模块
注意: MCP服务器提供的输出和建议是动态生成的,可能因查询、模型和连接的MCP服务器而异。用户应该 彻底审查所有产出/建议 以确保他们与组织保持一致 安全最佳实践, 成本效益目标,以及 要求 在实施之前。
先决条件
- 要在容器中运行服务器,您需要 码头工人 安装。
- 安装Docker后,您需要确保Docker正在运行。
安装
使用VS代码
将以下JSON块添加到VS Code中的用户设置(JSON)文件中。您可以按 Ctrl + Shift + P 和打字 Preferences: Open User Settings (JSON).
更多关于在VS Code中使用MCP服务器工具的信息 代理模式文档.
{
"mcp": {
"servers": {
"terraform": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"hashicorp/terraform-mcp-server"
]
}
}
}
}
您可以选择将类似的示例(即不带mcp键)添加到名为的文件中 .vscode/mcp.json 在您的工作空间中。这将允许您与他人共享配置。
{
"servers": {
"terraform": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"hashicorp/terraform-mcp-server"
]
}
}
}
更多关于在Claude Desktop中使用MCP服务器工具的信息 用户文档.
使用Claude Desktop
{
"mcpServers": {
"terraform": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"hashicorp/terraform-mcp-server"
]
}
}
}
工具配置
可用工具集
以下工具可用:
| 工具集 | 工具 | 说明 |
|---|---|---|
providers |
resolveProviderDocID |
使用指定的查询Terraform注册表,查找并列出特定提供程序的可用文档 serviceSlug。返回资源、数据源、函数或指南的提供者文档ID及其标题和类别的列表。 |
providers |
getProviderDocs |
使用从获取的文档ID获取特定提供程序资源、数据源或函数的完整文档内容 resolveProviderDocID 工具。以markdown格式返回原始文档。 |
modules |
searchModules |
根据指定内容在Terraform注册表中搜索模块 moduleQuery 分页。返回模块ID及其名称、描述、下载计数、验证状态和发布日期的列表 |
modules |
moduleDetails |
使用从以下位置获得的模块ID检索模块的详细文档 searchModules 该工具包括输入、输出、配置、子模块和示例。 |
从源代码构建
如果你没有Docker,你可以使用 make build 直接从源代码构建二进制文件。您应该将服务器配置为使用构建的可执行文件作为其 command.
- 克隆存储库:
git clone https://github.com/hashicorp/terraform-mcp-server.git
cd terraform-mcp-server
- 构建二进制文件:
make build
{
"mcp": {
"servers": {
"terraform": {
"command": "/path/to/terraform-mcp-server",
"args": ["stdio"]
}
}
}
}
在本地构建Docker镜像
在使用服务器之前,您需要在本地构建Docker镜像:
- 克隆存储库:
git clone https://github.com/hashicorp/terraform-mcp-server.git
cd terraform-mcp-server
- 构建Docker镜像:
make docker-build
这将创建一个本地Docker镜像,您可以在以下配置中使用。
{
"servers": {
"terraform": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"terraform-mcp-server"
]
}
}
}
发展
先决条件
- 去(检查 go.mod 特定版本的文件)
- Docker(可选,用于容器构建)
运行测试
# Run all tests
make test
# Run e2e tests
make test-e2e
可用的生成命令
make build # Build the binary
make test # Run all tests
make test-e2e # Run end-to-end tests
make clean # Remove build artifacts
make deps # Download dependencies
make docker-build # Build docker image
贡献
- 分叉存储库
- 创建功能分支
- 进行更改
- 运行测试
- 提交拉取请求
许可证
此项目根据MPL-2.0开源许可证的条款获得许可。请参考 许可证 提交完整条款的文件。
安全
有关安全问题,请联系security@hashicorp.com或跟随我们 安全策略.
支持
有关错误报告和功能请求,请在GitHub上打开问题。
有关一般问题和讨论,请打开GitHub讨论。
