Terragrunt-Docs

Documentação do Terragrunt sempre atualizada.

Documentação

Servidor MCP: Provedor de Documentação do Terragrunt

Language License

Um servidor Model Context Protocol (MCP) construído com Deno e TypeScript, projetado para fornecer informações contextuais relacionadas ao Terragrunt.

Visão Geral

Este servidor atua como um provedor MCP, expondo ferramentas e recursos que permitem que agentes de IA ou outros clientes MCP consultem informações sobre a documentação do Terragrunt e informações de desenvolvimento, como issues do GitHub.

  • Assista a uma demonstração realista 📺 no Claude Desktop aqui

Por quê?

Ao escrever configurações de IaC, principalmente em terragrunt, o suporte da IDE não é tão bom; no VSCode o plugin do terraform é bom, mas não para terragrunt; ele não reconhece os blocos do terragrunt e não fornece nenhum autocompletar. Ao interagir com autocompletar de IA, é comum obter resultados incorretos ou erros de linting falso-positivos. Com este servidor MCP, você pode fornecer ao seu assistente de LLM/IA a documentação mais recente e as issues do repositório GitHub do Terragrunt, para que ele possa usar isso para fornecer as informações mais precisas.

Ferramentas

Nota: Todas as ferramentas exigem um token GitHub válido definido como variável de ambiente: GITHUB_TOKEN, GH_TOKEN ou GITHUB_PERSONAL_ACCESS_TOKEN.

Nome da FerramentaFinalidadeEntradasSaídasCaso de Uso
list-doc-categoriesRecuperar todas as categorias de documentação dos docs do Terragrunt.NenhumaArray de objetos com propriedades name (string) e link (string)Use quando precisar explorar a estrutura de documentação disponível ou ao construir um sistema de navegação de documentação. Esta é normalmente a primeira ferramenta a ser chamada ao começar a trabalhar com os docs do Terragrunt.
list-all-docs-by-categoryListar todos os documentos em uma categoria específica.categoria (string)Array de objetos com name (string), link (string) e content (string)Use quando precisar ver toda a documentação disponível dentro de uma categoria específica, como ao construir um visualizador de documentação por categoria ou quando precisar examinar todos os documentos de uma área específica.
read-document-from-categoryLer um documento específico de uma categoria.categoria (string), documento (string)Objeto contendo content (string) com o conteúdo completo em markdownUse quando precisar acessar o conteúdo completo de um documento específico, como ao implementar busca na documentação ou quando precisar referenciar documentação específica na sua aplicação.
read-all-docs-from-categoryRecuperar e mesclar todos os documentos de uma categoria em uma resposta.categoria (string)Objeto contendo content (string) com todos os documentos mesclados em um sóUse quando precisar de uma visão abrangente de toda a documentação dentro de uma categoria, como ao construir um recurso de busca na documentação ou quando precisar analisar o conjunto completo de documentação para um tópico específico.
get-all-open-issuesRecuperar todas as issues abertas do repositório GitHub do Terragrunt.all (booleano, opcional)Array de objetos com title (string), number (number), state (string), created_at (string), updated_at (string), body (string) e labels (string[])Use quando precisar acompanhar ou analisar issues atuais no projeto Terragrunt, como ao construir um painel de issues, realizar triagem de issues, ou quando precisar se manter atualizado com os desafios e discussões mais recentes do projeto.

Configuração

  1. Instalar Deno:

  2. Clonar o repositório:

    git clone https://github.com/Excoriate/mcp-terragrunt-docs.git
    cd mcp-terragrunt-docs
    
  3. Definir seu token GitHub como variável de ambiente:

    • No Unix/macOS:

      export GITHUB_TOKEN=ghp_xxx... # or GH_TOKEN or GITHUB_PERSONAL_ACCESS_TOKEN
      
    • No Windows (cmd):

      set GITHUB_TOKEN=ghp_xxx...
      

Nota: Você também pode definir o token no arquivo .env.

  1. Executar o servidor 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
    

O método mais direto é usá-lo diretamente do JSR (Javascript Registry ❤️)

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

# run it
deno run -A jsr:@excoriate/mcp-terragrunt-docs@0.1.0

Uso com Claude Desktop

Para usar este servidor MCP baseado em Deno com o Claude Desktop, adicione o seguinte ao seu claude_desktop_config.json:

Usando Deno

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

Usando Docker

{
  "mcpServers": {
    "terragrunt_docs": {
      "command": "docker",
      "args": [
        "run",
        "-e", "GITHUB_TOKEN=<YOUR_TOKEN>", "mcp-terragrunt-docs"
      ],
      "env": {
        "GITHUB_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

Usando JSR

{
  "mcpServers": {
    "terragrunt_docs": {
      "command": "deno",
      "args": [
        "run",
        "-A",
        "jsr:@excoriate/mcp-terragrunt-docs@0.1.0"
      ],
      "env": {
        "GITHUB_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

Construir a imagem Docker

docker build -t mcp-terragrunt-docs .

Executar o servidor MCP no Docker

docker run -it --rm \
  -e GITHUB_TOKEN=ghp_xxx... \
  mcp-terragrunt-docs
  • Substitua ghp_xxx... pelo seu Token de Acesso Pessoal do GitHub com as permissões apropriadas.
  • Você também pode usar GH_TOKEN ou GITHUB_PERSONAL_ACCESS_TOKEN como nome da variável de ambiente.
  • Se quiser usar um arquivo .env local, você pode passá-lo com --env-file .env.

Contribuindo

Consulte docs/CONTRIBUTING.md para diretrizes detalhadas de contribuição, incluindo configuração, estilo de código, processo de PR e referência da estrutura do código.

Segurança

Consulte SECURITY.md para a política de segurança do projeto, incluindo como relatar vulnerabilidades e diretrizes de divulgação responsável.

Licença

Este projeto está licenciado sob a Licença MIT.