mcpField
M
MCP Server: Terragrunt Docs Provider

MCP Server: Terragrunt Docs Provider

本地服务
github.com/Excoriate记忆与知识2079 周前更新

关于 MCP Server: Terragrunt Docs Provider

MCP Server: Terragrunt Docs Provider 是一个基于 Deno 和 TypeScript 构建的 MCP 服务,为 AI 助手提供 Terragrunt 文档及 GitHub 议题等上下文信息。它面向编写 Terragrunt 配置的用户,帮助模型给出更准确的回答。

主要功能

  1. 01列出 Terragrunt 文档分类
  2. 02读取指定分类下的文档内容
  3. 03合并读取某一分类的全部文档
  4. 04获取 Terragrunt 仓库的未关闭议题

适用场景

  1. 01让 AI 助手依据最新文档编写或检查 Terragrunt 配置
  2. 02跟踪 Terragrunt 项目当前的议题与讨论
  3. 03为文档搜索功能提供数据来源

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露用于查询 Terragrunt 文档分类、文档内容和开放议题的工具。使用 GitHub 相关工具需要配置 GitHub 令牌。

配置

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

暂未收录安装方式

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

代码仓库

工具

还没有获取到工具列表

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

详细介绍

MCP 服务:Terragrunt 文档提供方

Language License

这是一个使用 Deno 和 TypeScript 构建的 模型上下文协议(MCP) 服务,旨在提供与 Terragrunt 相关的上下文信息。

概述

此服务充当 MCP 提供方,公开工具和资源,让 AI Agent 或其他 MCP 客户端能够查询 Terragrunt 文档和开发信息,例如 GitHub issue。


为什么?

编写 IaC 配置时(大多使用 terragrunt),IDE 的支持并不理想。在 VSCode 中,terraform 插件很好用,但不支持 terragrunt;它无法识别 terragrunt 块,也不提供任何自动补全。使用 AI 自动补全时,常常会得到错误结果或误报的 lint 错误。借助此 MCP 服务,你可以向大模型/AI 助手提供 Terragrunt GitHub 仓库中的最新文档和 issue,让它据此为你提供最准确的信息。

工具

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

工具名称用途输入输出使用场景
list-doc-categories获取 Terragrunt 文档中的所有文档类别。无对象数组,包含 name(字符串)和 link(字符串)属性当你需要探索可用的文档结构,或构建文档导航系统时使用。开始使用 Terragrunt 文档时,通常首先调用此工具。
list-all-docs-by-category列出指定类别中的所有文档。category(字符串)对象数组,包含 name(字符串)、link(字符串)和 content(字符串)当你需要查看某个类别中的所有可用文档时使用,例如构建特定类别的文档查看器,或浏览某个领域中的所有文档。
read-document-from-category读取类别中的指定文档。category(字符串)、document(字符串)对象,包含完整 Markdown 内容的 content(字符串)当你需要访问某个特定文档的完整内容时使用,例如实现文档搜索,或在应用中引用特定文档。
read-all-docs-from-category获取并合并某个类别中的所有文档,作为单个响应返回。category(字符串)对象,包含合并所有文档后的 content(字符串)当你需要全面查看某个类别中的所有文档时使用,例如构建文档搜索功能,或分析特定主题的完整文档集。
get-all-open-issues获取 Terragrunt GitHub 仓库中的所有未关闭问题。all(布尔值,可选)对象数组,包含 title(字符串)、number(数字)、state(字符串)、created_at(字符串)、updated_at(字符串)、body(字符串)和 labels(字符串数组)当你需要跟踪或分析 Terragrunt 项目中的当前问题时使用,例如构建问题仪表板、进行问题分类,或了解项目的最新挑战和讨论。

设置

  1. 安装 Deno:

  2. 克隆仓库:

    git clone https://github.com/Excoriate/mcp-terragrunt-docs.git
    cd mcp-terragrunt-docs
    
  3. 将 GitHub 令牌设置为环境变量:

    • 在 Unix/macOS 上:

      export GITHUB_TOKEN=ghp_xxx... # 或 GH_TOKEN 或 GITHUB_PERSONAL_ACCESS_TOKEN
      
    • 在 Windows(cmd)上:

      set GITHUB_TOKEN=ghp_xxx...
      

注意:你也可以在 .env 文件中设置令牌。

  1. 运行 MCP 服务:

    # directly using deno
    deno run -A main.ts
    
    # Using the justfile
    just run
    
    # You can also debug it, and inspect it locally
    just inspect
    

最简单的方法是直接通过 JSR(Javascript Registry ❤️)使用

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

# run it
deno run -A jsr:@excoriate/[email protected]
在 Claude Desktop 中使用

若要将这个基于 Deno 的 MCP 服务与 Claude Desktop 搭配使用,请将以下内容添加到 claude_desktop_config.json:

使用 Deno
{
  "mcpServers": {
    "terragrunt_docs": {
      "command": "deno",
      "args": [
        "run",
        "-A",
        "main.ts"
      ],
      "env": {
        "GITHUB_TOKEN": "<YOUR_TOKEN>"
      },
    }
  }
}
使用 Docker
{
  "mcpServers": {
    "terragrunt_docs": {
      "command": "docker",
      "args": [
        "run",
        "-e", "GITHUB_TOKEN=<YOUR_TOKEN>", "mcp-terragrunt-docs"
      ],
      "env": {
        "GITHUB_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}
使用 JSR
{
  "mcpServers": {
    "terragrunt_docs": {
      "command": "deno",
      "args": [
        "run",
        "-A",
        "jsr:@excoriate/[email protected]"
      ],
      "env": {
        "GITHUB_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}
构建 Docker 镜像
docker build -t mcp-terragrunt-docs .
在 Docker 中运行 MCP 服务
docker run -it --rm \
  -e GITHUB_TOKEN=ghp_xxx... \
  mcp-terragrunt-docs
  • 将 ghp_xxx... 替换为具有适当权限的 GitHub 个人访问令牌。
  • 你也可以将 GH_TOKEN 或 GITHUB_PERSONAL_ACCESS_TOKEN 用作环境变量名。
  • 如果想使用本地 .env 文件,可以通过 --env-file .env 传入。

贡献

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

安全

请参阅 SECURITY.md,了解项目的安全策略,包括如何报告漏洞以及负责任披露指南。

许可证

本项目采用 MIT 许可证授权。

评论

支持 Markdown

第一次接触 MCP?

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

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