mcpField
M
MCP Server: Terraform AWS Provider Docs

MCP Server: Terraform AWS Provider Docs

本地服务
github.com/Excoriate云与基础设施178 周前更新

关于 MCP Server: Terraform AWS Provider Docs

这款基于 Deno 和 TypeScript 的 MCP 服务提供 Terraform AWS Provider 文档、GitHub 问题与发布信息,以及 AWS 资源示例,面向编写 Terraform 基础设施代码的开发者。

主要功能

  1. 01列出资源与数据源文档
  2. 02按名称或模糊搜索获取文档
  3. 03查询未关闭问题及其详情
  4. 04列出发布版本并获取详情
  5. 05提供 AWS 资源示例

适用场景

  1. 01编写 Terraform 模块时查阅 AWS 资源
  2. 02确认 Provider 行为是否对应已知问题
  3. 03查看版本变更及相关问题

MCP 相关

向 MCP 客户端提供工具和资源,用于查询 Terraform AWS Provider 文档、GitHub 问题与发布信息及 AWS 示例。使用工具需要通过环境变量提供 GitHub token。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP 服务:Terraform AWS Provider 文档

语言 许可证

这是一个使用 Deno 和 TypeScript 构建的 Model Context Protocol (MCP) 服务,旨在提供与 Terraform AWS Provider 相关的上下文信息。

目录

概述

此服务作为 MCP 服务,提供工具和资源,让 AI Agent 或其他 MCP 客户端能够查询有关 Terraform AWS Provider 的信息,例如:

  • ✅ 资源文档。
  • ✅ Provider 配置,包括临时资源、指南和函数。
  • ✅ GitHub Issues(已开启、已关闭和全部)
  • ✅ AWS 资源示例
什么是 Model Context Protocol (MCP),它如何运作?

Model Context Protocol (MCP) 是一种开放协议,可实现大模型应用与外部数据源和工具之间的无缝集成。无论你是在构建 AI 驱动的 IDE、增强聊天界面,还是创建自定义 AI 工作流,MCP 都提供了一种标准化方式,将大模型与它们所需的上下文连接起来。

— Model Context Protocol README


为什么?

编写 IaC 或设计 terraform 模块时,通常需要深入了解实际 AWS 资源、功能和能力,以便设计出适用于生产环境、接口稳定、可组合且可复用的模块。

此 MCP 服务旨在通过 Terraform AWS Provider 注册表网站上的最新文档、问题和示例提供这些信息。始终保持最新,始终源自官方来源。

工具

重要

所有工具都需要将有效的 GitHub 令牌设置为环境变量: GITHUB_TOKEN、GH_TOKEN 或 GITHUB_PERSONAL_ACCESS_TOKEN。

目前提供以下工具(后续还会添加,欢迎提交 issue 或 PR):

工具名称用途输入输出使用场景
list-resources列出所有 AWS 资源文档文件及其元数据无资源对象数组,包含 id、subcategory、page_title、description、resource、resource_description、source、file_path发现 Terraform AWS Provider 支持的所有 AWS 资源,获取文件名/路径以供后续查询,并构建仪表板、摘要或分析报告。
get-resource-doc按名称或模糊搜索获取单个 AWS 资源文档文件aws_resource(字符串,可选):资源名称或描述
file_name(字符串,可选):确切文件名(优先使用)
请求的资源文档,经解析和格式化,包含所有元数据字段和完整的 Markdown 正文获取特定 AWS 资源的详细文档,解析含糊或自然语言查询,并向大模型或客户端提供结构化资源信息。
list-datasources列出所有 AWS 数据源文档文件及其元数据无数据源对象数组,包含 id、subcategory、page_title、description、datasource、datasource_description、source、file_path发现 Terraform AWS Provider 支持的所有 AWS 数据源,获取文件名/路径以供后续查询,并构建仪表板、摘要或分析报告。
get-datasource-doc按名称或模糊搜索获取单个 AWS 数据源文档文件aws_datasource(字符串,可选):数据源名称或描述
file_name(字符串,可选):确切文件名(优先使用)
请求的数据源文档,经解析和格式化,包含所有元数据字段和完整的 Markdown 正文获取特定 AWS 数据源的详细文档,解析含糊或自然语言查询,并向大模型或客户端提供结构化数据源信息。
get-open-issues从 Terraform AWS Provider GitHub 仓库获取未关闭的问题all(布尔值,可选):获取全部问题或前 30 个问题问题对象数组,包含 ID、标题、描述、来源、状态、用户、标签、创建/更新时间戳和评论分析、分类处理或报告当前未关闭的问题。构建仪表板,将问题与文档关联,并了解 Terraform 行为是否符合预期或与已知问题相关。
get-issue获取特定 GitHub 问题的详细信息issueNumber(数字,必填):确切的 GitHub 问题编号包含完整元数据的问题对象,包括正文、时间戳、标签和评论详细调查特定问题;通常在使用 get-open-issues 后调用,以获取某个关注问题的完整信息。
list-all-releases从 Terraform AWS Provider GitHub 仓库获取所有版本发布信息无版本发布对象数组,包含 ID、标签、名称、作者、发布日期、URL、资源数量和摘要正文列出所有可用版本,构建仪表板、变更日志或分析报告,并将 Provider 版本与文档、问题或升级指南关联起来。
get-release-by-tag按标签获取特定版本发布的详细信息tag(字符串,必填):版本发布标签(例如,'v5.96.0')
include_issues(布尔值,可选):同时获取引用的问题
版本发布对象,包含完整元数据;如果 include_issues 为 true,还包含发布说明中所有引用问题的详细信息深入调查特定版本,包括其中引用的问题。可在使用 list-all-releases 后调用,也可在已知标签时直接调用。
get-latest-release获取最新版本发布的详细信息include_issues(布尔值,可选):同时获取引用的问题最新版本发布对象,包含完整元数据;如果 include_issues 为 true,还包含发布说明中所有引用问题的详细信息快速查看最新版本,了解新功能或错误修复,并可选择查看引用的问题。

开始使用

安装并在 Claude Desktop 中使用

要在 Claude Desktop 中使用此基于 Deno 的 MCP 服务,请将以下内容添加到 claude_desktop_config.json:

使用 Deno
{
  "mcpServers": {
    "tf_aws_provider_docs": {
      "command": "deno",
      "args": [
        "run",
        "-A",
        "main.ts"
      ],
      "env": {
        "GITHUB_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

或者,推荐直接通过 JSR 使用 deno

{
  "mcpServers": {
    "tf_aws_provider_docs": {
      "command": "deno",
      "args": [
        "run",
        "-A",
        "jsr:@excoriate/[email protected]"
      ],
      "env": {
        "GITHUB_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}
使用 Docker
{
  "mcpServers": {
    "tf_aws_provider_docs": {
      "command": "docker",
      "args": [
        "run",
        "-e",
        "GITHUB_TOKEN=<YOUR_TOKEN>",
        "mcp-terraform-aws-provider-docs"
      ],
      "env": {
        "GITHUB_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}
在 IDE/编辑器中安装
在 Cursor 中安装

前往:Settings -> Cursor Settings -> MCP -> Add new global MCP server

建议将以下配置粘贴到 Cursor 的 ~/.cursor/mcp.json 文件中。更多信息请参阅 Cursor MCP 文档。

{
  "mcpServers": {
    "tf_aws_provider_docs": {
      "command": "deno",
      "args": ["-A", "jsr:@excoriate/mcp-terraform-aws-provider-docs@latest"]
    }
  }
}
在 Windsurf 中安装

将以下内容添加到 Windsurf MCP 配置文件中。更多信息请参阅 Windsurf MCP 文档。

{
  "mcpServers": {
    "tf_aws_provider_docs": {
      "command": "deno",
      "args": ["-A", "jsr:@excoriate/mcp-terraform-aws-provider-docs@latest"]
    }
  }
}
在 VSCode 中安装

将以下内容添加到 VSCode MCP 配置文件中。更多信息请参阅 VSCode MCP 文档。

{
  "servers": {
    "Context7": {
      "type": "stdio",
      "command": "deno",
      "args": ["-A", "jsr:@excoriate/mcp-terraform-aws-provider-docs@latest"]
    }
  }
}

开发与贡献

有关调试、测试和为此项目做贡献的更多详情,请参阅 DEVELOPER_GUIDE 和 CONTRIBUTING。

直接从 JSR 运行

你可以直接通过 JSR 使用 MCP 服务(Javascript Registry ❤️)

# export your github token
export GITHUB_TOKEN=ghp_xxx...

# run it
deno run -A jsr:@excoriate/mcp-terraform-aws-provider-docs@latest
调试与故障排除

如果你想调试,请使用内置调试器 (inspector)。我们提供了一个 justfile 配方来帮助你。

# start the mcp server, and the inspector
just inspect
使用 Docker

构建 Docker 镜像

docker build -t mcp-terraform-aws-provider-docs .

在 Docker 中运行 MCP 服务

docker run -it --rm \
  -e GITHUB_TOKEN=ghp_xxx... \
  mcp-terraform-aws-provider-docs

提示

将 ghp_xxx... 替换为具有适当权限的 GitHub 个人访问令牌。

你也可以使用 GH_TOKEN 或 GITHUB_PERSONAL_ACCESS_TOKEN 作为 环境变量名。

如果要使用本地 .env 文件,可以通过 --env-file .env 传入。

路线图

  • 添加用于获取提供商配置的工具。
  • 集成专用后端,用于建立索引并提供高级搜索/代码助手文档,避免触发 GitHub API 速率限制。

贡献

有关详细的贡献指南,包括设置、代码风格、PR 流程和代码库结构参考,请参阅 CONTRIBUTING.md。

安全

有关项目安全策略,包括如何报告漏洞和负责任披露指南,请参阅 SECURITY.md。

许可证

本项目采用 MIT License 许可。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。