Terragrunt-Docs

Documentación de Terragrunt siempre actualizada.

Documentación

Servidor MCP: Proveedor de Documentación de Terragrunt

Language License

Un servidor Model Context Protocol (MCP) construido con Deno y TypeScript, diseñado para proporcionar información contextual relacionada con Terragrunt.

Resumen

Este servidor actúa como un proveedor de MCP, exponiendo herramientas y recursos que permiten a agentes de IA u otros clientes MCP consultar información sobre la documentación de Terragrunt e información de desarrollo, como problemas de GitHub.

  • Mira una demo realista 📺 en Claude Desktop aquí

¿Por qué?

Al escribir configuraciones de IaC, principalmente en terragrunt, el soporte del IDE no es muy bueno; en VSCode el plugin de terraform es bueno, pero no para terragrunt; no reconoce los bloques de terragrunt y no proporciona autocompletado. Al interactuar con el autocompletado de IA, es común obtener resultados incorrectos o errores de linting falsos positivos. Con este servidor MCP, puedes proporcionar a tu asistente de LLM/IA la documentación y los problemas más recientes del repositorio de GitHub de Terragrunt, para que pueda usarlos y brindarte la información más precisa.

Herramientas

Nota: Todas las herramientas requieren un token de GitHub válido configurado como variable de entorno: GITHUB_TOKEN, GH_TOKEN, o GITHUB_PERSONAL_ACCESS_TOKEN.

Nombre de la herramientaPropósitoEntradasSalidasCaso de uso
list-doc-categoriesRecuperar todas las categorías de documentación de Terragrunt.NingunaArreglo de objetos con propiedades name (string) y link (string)Úsalo cuando necesites explorar la estructura de documentación disponible o al construir un sistema de navegación de documentación. Esta es típicamente la primera herramienta a llamar al comenzar a trabajar con la documentación de Terragrunt.
list-all-docs-by-categoryListar todos los documentos en una categoría específica.category (string)Arreglo de objetos con name (string), link (string) y content (string)Úsalo cuando necesites ver toda la documentación disponible dentro de una categoría específica, como al construir un visor de documentación específico de una categoría o cuando necesites revisar todos los documentos en un área particular.
read-document-from-categoryLeer un documento específico de una categoría.category (string), document (string)Objeto que contiene content (string) con el contenido completo de markdownÚsalo cuando necesites acceder al contenido completo de un documento específico, como al implementar búsqueda de documentación o cuando necesites hacer referencia a documentación específica en tu aplicación.
read-all-docs-from-categoryRecuperar y fusionar todos los documentos de una categoría en una sola respuesta.category (string)Objeto que contiene content (string) con todos los documentos fusionados en unoÚsalo cuando necesites una vista completa de toda la documentación dentro de una categoría, como al construir una función de búsqueda de documentación o cuando necesites analizar el conjunto completo de documentación para un tema específico.
get-all-open-issuesRecuperar todos los problemas abiertos del repositorio de GitHub de Terragrunt.all (boolean, optional)Arreglo de objetos con title (string), number (number), state (string), created_at (string), updated_at (string), body (string) y labels (string[])Úsalo cuando necesites rastrear o analizar problemas actuales en el proyecto Terragrunt, como al construir un panel de problemas, realizar triaje de problemas, o cuando necesites mantenerte actualizado con los últimos desafíos y discusiones del proyecto.

Configuración

  1. Instalar Deno:

  2. Clonar el repositorio:

    git clone https://github.com/Excoriate/mcp-terragrunt-docs.git
    cd mcp-terragrunt-docs
    
  3. Configura tu token de GitHub como variable de entorno:

    • En Unix/macOS:

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

      set GITHUB_TOKEN=ghp_xxx...
      

Nota: También puedes configurar el token en el archivo .env.

  1. Ejecutar el 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
    

El método más directo es usarlo directamente desde JSR (Registro de JavaScript ❤️)

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

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

Uso con Claude Desktop

Para usar este servidor MCP basado en Deno con Claude Desktop, agrega lo siguiente a tu 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 la imagen de Docker

docker build -t mcp-terragrunt-docs .

Ejecutar el servidor MCP en Docker

docker run -it --rm \
  -e GITHUB_TOKEN=ghp_xxx... \
  mcp-terragrunt-docs
  • Reemplaza ghp_xxx... con tu Token de Acceso Personal de GitHub con los permisos adecuados.
  • También puedes usar GH_TOKEN o GITHUB_PERSONAL_ACCESS_TOKEN como nombre de variable de entorno.
  • Si deseas usar un archivo .env local, puedes pasarlo con --env-file .env.

Contribuciones

Consulta docs/CONTRIBUTING.md para obtener pautas detalladas de contribución, incluyendo configuración, estilo de código, proceso de PR y referencia de la estructura del código base.

Seguridad

Consulta SECURITY.md para conocer la política de seguridad del proyecto, incluyendo cómo reportar vulnerabilidades y pautas de divulgación responsable.

Licencia

Este proyecto está licenciado bajo la MIT License.