使用说明

项目简介

Terragrunt文档MCP服务器是一个基于Model Context Protocol (MCP) 的应用后端,旨在为大型语言模型(LLM)客户端提供关于 Terragrunt 文档和GitHub issues的上下文信息。该服务器通过标准化的MCP协议,允许LLM应用安全、可扩展地访问Terragrunt的最新文档和项目动态,从而提升LLM在IaC(基础设施即代码)领域的应用能力,例如代码自动补全、问题诊断和知识检索。

主要功能点

  • 资源访问:
    • 提供 Terragrunt GitHub 仓库链接资源,方便客户端了解项目来源。
  • 文档检索工具:
    • 'list-doc-categories': 获取 Terragrunt 文档的所有分类,帮助用户快速了解文档结构。
    • 'list-all-docs-by-category': 列出特定文档分类下的所有文档,方便用户浏览和选择。
    • 'read-document-from-category': 读取特定分类下的指定文档内容,获取文档详细信息。
    • 'read-all-docs-from-category': 获取并合并特定分类下的所有文档内容,方便用户进行全面的学习和分析。
  • Issue跟踪工具:
    • 'get-all-open-issues': 检索 Terragrunt GitHub 仓库的所有开放 issue,帮助用户了解项目最新的问题和讨论。

安装步骤

  1. 安装 Deno: 请根据 Deno 官方安装指南 安装 Deno 运行时。

  2. 克隆仓库: 打开终端,执行以下命令克隆仓库到本地:

    git clone https://github.com/Excoriate/mcp-terragrunt-docs.git
    cd mcp-terragrunt-docs
  3. 设置 GitHub Token 环境变量: 为了访问 GitHub API,您需要设置 GitHub Personal Access Token 作为环境变量。请访问 GitHub Personal Access Tokens 获取Token。

    • Unix/macOS:
      export GITHUB_TOKEN=ghp_your_token
    • Windows (cmd):
      set GITHUB_TOKEN=ghp_your_token

    注意: 您也可以将 Token 写入 '.env' 文件。

  4. 运行 MCP 服务器: 在仓库根目录下,选择以下方式运行服务器:

    • 直接使用 Deno:
      deno run -A main.ts
    • 使用 Justfile (简化命令): 如果安装了 'just',可以直接运行:
      just run
    • 使用 JSR (Javascript Registry):
      deno run -A jsr:@excoriate/[email protected]

服务器配置 (MCP 客户端)

以下是在 MCP 客户端(如 Claude Desktop)中配置 Terragrunt 文档 MCP 服务器的 JSON 格式示例。您需要根据您选择的运行方式选择对应的配置。

{
  "mcpServers": {
    "terragrunt_docs": { // 服务器名称,客户端用以识别和调用
      "command": "deno", // 运行服务器的命令,这里使用 deno 运行时
      "args": [ // 命令参数
        "run",
        "-A", // 允许所有权限 (网络、env等)
        "main.ts" // 服务器入口文件
      ],
      "env": { // 环境变量
        "GITHUB_TOKEN": "<YOUR_TOKEN>" // 您的 GitHub Token,请替换为实际 Token
      },
      // "cwd": "/path/to/mcp-terragrunt-docs" // (可选) 工作目录,如果需要可以指定
    }
  }
}

Docker 镜像配置示例:

{
  "mcpServers": {
    "terragrunt_docs": {
      "command": "docker", // 使用 docker 运行
      "args": [
        "run",
        "-e", "GITHUB_TOKEN=<YOUR_TOKEN>", // 通过环境变量传递 GitHub Token
        "mcp-terragrunt-docs" // Docker 镜像名称
      ],
      "env": { // 环境变量 (可选,如果 Docker 容器内不需要额外的环境变量可以为空)
        // "GITHUB_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

JSR 方式配置示例:

{
  "mcpServers": {
    "terragrunt_docs": {
      "command": "deno",
      "args": [
        "run",
        "-A",
        "jsr:@excoriate/[email protected]" // 使用 JSR 包运行
      ],
      "env": {
        "GITHUB_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

基本使用方法

  1. 启动 MCP 客户端 (如 Claude Desktop)。
  2. 在 MCP 客户端的配置中添加上述服务器配置,并填入您的 GitHub Token。
  3. 客户端成功连接到 Terragrunt 文档 MCP 服务器后,您可以通过客户端的界面或指令,调用服务器提供的工具,例如:
    • 请求列出所有文档分类,以便了解 Terragrunt 文档结构。
    • 请求读取特定分类下的文档,获取详细的 Terragrunt 功能或配置信息。
    • 请求获取最新的 Terragrunt GitHub issues,了解项目动态和已知问题。
  4. LLM 应用可以利用这些上下文信息,更准确地理解用户关于 Terragrunt 的问题,并给出更专业的回答或建议。

信息

分类

开发者工具