MCP服务器:Terraform AWS提供商文档
 
A. 模型上下文协议(MCP) 使用Deno构建的服务器 以及TypeScript,旨在提供与以下内容相关的上下文信息 Terraform AWS提供商.
目录
- 目录 - 概述 - 什么是模型上下文协议(MCP),它是如何工作的? - 为什么? - 工具 - 入门指南 - 与Claude Desktop一起安装和使用 - 使用Deno - - 在IDE/编辑器中安装 - 在游标上安装 - 安装在Windsurf上 - 在VSCode上安装 - 发展与贡献 - 直接从JSR运行它 - 调试与故障排除 - - 路线图 - 贡献 - 安全 - 许可证
概述
该服务器充当MCP服务器,公开允许AI的工具和资源 代理或其他MCP客户端查询以下信息 Terraform AWS提供商 信息,例如:
- ✅ 资源文档。
- ✅ 提供商的配置,包括临时资源、指南和
功能。
- ✅ GitHub问题(打开、关闭和所有)
- ✅ AWS资源示例
什么是模型上下文协议(MCP),它是如何工作的?
模型上下文协议(MCP)是一种开放协议,可实现LLM应用程序与外部数据源和工具之间的无缝集成。无论您是在构建基于AI的IDE、增强聊天界面,还是创建自定义AI工作流程,MCP都提供了一种标准化的方式将LLM与所需的上下文连接起来。 — 模型上下文协议README
______________________________________________________________________
为什么?
在编写IaC或设计时 地形模块,它经常 需要对实际AWS有很好的了解、理解和背景 设计生产级的资源、特征和能力 模块,具有稳定的接口,可组合和可重用。
该MCP服务器旨在提供最新文档, 问题和例子 Terraform AWS提供商 注册网站。始终保持最新,始终从源头开始。
工具
\[!重要\] 所有工具都需要将有效的GitHub令牌设置为环境变量:GITHUB_TOKEN,GH_TOKEN,或GITHUB_PERSONAL_ACCESS_TOKEN.
目前,以下工具可用(更多工具即将推出,或随时访问 提交 问题 或 公关):
| 工具名称 | 目的 | 输入 | 输出 | 用例 |
|---|---|---|---|---|
list-resources | 列出所有具有元数据的AWS资源文档文件 | 无 | 具有id、子类别、page_title、描述、资源、resource_description、source、file_path的资源对象数组 | 发现Terraform AWS Provider支持的所有AWS资源,获取文件名/路径以进行进一步查询,构建仪表板、摘要或分析。 |
get-resource-doc | 按名称或模糊搜索获取单个AWS资源文档文件 | aws_resource (字符串,可选):资源名称或描述 | ||
file_name (字符串,可选):确切的文件名(优先) | 所请求资源的解析和格式化文档,包括所有元数据字段和完整的markdown正文 | 检索特定AWS资源的详细文档,解决歧义或自然语言查询,为LLM或客户端提供结构化资源信息。 | ||
list-datasources | 列出所有包含元数据的AWS数据源文档文件 | 无 | 包含id、子类别、page_title、描述、数据源、datasource_description、source、file_path的数据源对象数组 | 发现Terraform AWS Provider支持的所有AWS数据源,获取文件名/路径以进行进一步查询,构建仪表板、摘要或分析。 |
get-datasource-doc | 按名称或模糊搜索获取单个AWS数据源文档文件 | aws_datasource (字符串,可选):数据源名称或描述 | ||
file_name (字符串,可选):确切的文件名(优先) | 所请求数据源的解析和格式化文档,包括所有元数据字段和完整的markdown正文 | 检索特定AWS数据源的详细文档,解决歧义或自然语言查询,为LLM或客户端提供结构化数据源信息。 | ||
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、资产计数和摘要正文的发布对象数组 | 列出所有可用版本/版本、构建仪表板、变更日志或分析,将提供程序版本与文档、问题或升级指南相关联。 |
get-release-by-tag | 按标签获取特定版本的详细信息 | tag (字符串,必填):发布标签(例如“v5.96.0”) | ||
include_issues (boolean,可选):同时获取引用的问题 | 释放具有完整元数据的对象,如果 include_issues 是真的,发布说明中所有引用问题的详细信息 | 深入调查特定版本,包括引用问题。使用后 list-all-releases 或者如果标签已知,则直接使用。 | ||
get-latest-release | 获取最新版本的详细信息 | include_issues (boolean,可选):还获取引用的问题 | 具有完整元数据的最新版本对象,如果 include_issues 是真的,发布说明中所有引用问题的详细信息 | 快速访问最新版本,检查新功能或错误修复,并可选择查看引用问题。 |
入门指南
与Claude Desktop一起安装和使用
要将此基于Deno的MCP服务器与Claude Desktop一起使用,请将以下内容添加到您的 claude_desktop_config.json:
使用Deno
{
"mcpServers": {
"tf_aws_provider_docs": {
"command": "deno",
"args": [
"run",
"-A",
"main.ts"
],
"env": {
"GITHUB_TOKEN": ""
}
}
}
}或者,推荐的方式,直接从deno JSR公司
{
"mcpServers": {
"tf_aws_provider_docs": {
"command": "deno",
"args": [
"run",
"-A",
"jsr:@excoriate/mcp-terraform-aws-provider-docs@0.1.0"
],
"env": {
"GITHUB_TOKEN": ""
}
}
}
}使用Docker
{
"mcpServers": {
"tf_aws_provider_docs": {
"command": "docker",
"args": [
"run",
"-e",
"GITHUB_TOKEN=",
"mcp-terraform-aws-provider-docs"
],
"env": {
"GITHUB_TOKEN": ""
}
}
}
}在IDE/编辑器中安装
在游标上安装
首选 Settings -> Cursor Settings -> MCP -> Add new global MCP server
将以下配置粘贴到游标中 ~/.cursor/mcp.json 文件 这是推荐的方法。看 光标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"]
}
}
}发展与贡献
有关调试、测试和为该项目做出贡献的更多详细信息, 看见 开发者指南,以及 贡献.
直接从JSR运行它
您可以直接从以下位置使用MCP服务器 JSR公司 (Javascript 注册表❤️)
# export your github token
export GITHUB_TOKEN=ghp_xxx...
# run it
deno run -A jsr:@excoriate/mcp-terraform-aws-provider-docs@latest调试与故障排除
如果要调试它,请使用内置调试器 (检查员).有一个 只需将食谱归档,即可助你一臂之力。
# 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...与你的 拥有适当的权限。 您还可以使用GH_TOKEN或GITHUB_PERSONAL_ACCESS_TOKEN随着 环境变量名称。 如果你想使用本地.env文件,你可以通过--env-file .env.
路线图
- \[\]添加工具以检索提供程序的配置。
- \[\]与专用后端集成,用于索引,并提供高级搜索/代码助理文档,避免GitHub API速率限制。
贡献
看 贡献.md 详细贡献 指导方针,包括设置、代码风格、PR流程和代码库结构 参考。
安全
看 安全.md 项目的安全策略,包括如何 报告漏洞和负责任的披露指南。
许可证
该项目根据 MIT许可证.
