MCP server providing access to Terragrunt documentation and GitHub issues from the official Terragrunt repository
The server defines 5 tools with explicit schemas and detailed descriptions. Tool names follow verb-noun conventions (list-, read-, get-). Descriptions are comprehensive and include workflow guidance, chaining hints, and when-to-use scenarios, exceeding typical baselines (avg 194 chars; these range 300-800 chars). However, several issues prevent a higher score: (1) Parameter descriptions, while present, are minimal (e.g., 'The category of documentation to get the document from' repeated verbatim across 3 tools); (2) No explicit output schema documentation, return types are described narratively but not formally structured; (3) No enum constraints despite obvious candidates (category, all boolean flag); (4) No error handling guidance or recovery paths documented; (5) Security: GitHub token handled via env var (good), but no documentation of permission model or audit requirements; (6) Composition: tool names like 'list-doc-categories' and 'list-all-docs-by-category' are slightly redundant in their prefix structure; (7) No pagination guidance despite tools potentially returning large lists (docs per category, all open issues).
Use this tool to retrieve all open issues from the official Terragrunt GitHub repository. This tool is essential for tracking bugs, feature requests, and ongoing work. **When to use:** - When you need to fetch the complete list of open issues for triage, reporting, or analysis. - When you want to monitor the current state of the Terragrunt issue tracker. - For building dashboards, reports, or integrations that require up-to-date issue data. **How to chain:** - If you need to correlate issues with documentation, use the documentation tools in combination. **Inputs:** - all (optional): Whether to retrieve all open issues or just the first 30. **Outputs:** - List of open issues with detailed metadata (ID, title, state, URL, labels, author, timestamps, etc.). **Related tools:** - Documentation tools (to correlate issues with docs) **Example workflow:** 1. Call 'get-all-open-issues' with or without the 'all' flag. 2. Present or process the returned issues as needed.
Use this tool to retrieve a list of all documentation files within a specific category. This is the SECOND STEP after discovering categories with 'list-doc-categories' if you do not already know the document name. **When to use:** - When you know the category but not the document name, or need to present all available docs in a category. - As a prerequisite for 'read-document-from-category' or 'read-all-docs-from-category' if the document name is unknown. **How to chain:** - If the user requests a document but only specifies a category, call this tool to list available docs, then select the appropriate document for reading. - If a tool returns an error about an unknown document, use this tool to recover. **Inputs:** - category (required): Use a value from 'list-doc-categories'. **Outputs:** - Structured list of all documentation files in the specified category. **Related tools:** - 'list-doc-categories' (to discover categories) - 'read-document-from-category' (to read a specific doc) - 'read-all-docs-from-category' (to merge all docs in a category) **Example workflow:** 1. Call 'list-doc-categories' if category is unknown. 2. Call 'list-all-docs-by-category' with the chosen category. 3. Use 'read-document-from-category' or 'read-all-docs-from-category' as needed.
Output schemas not formally documented. Tool descriptions state outputs narratively ('Structured list of all available documentation categories') but do not provide JSON Schema definitions of return types. LLMs cannot reliably chain tools without knowing field names and types.
Parameter descriptions are generic and repeated. 'The category of documentation to get the document from' appears identically in list-all-docs-by-category, read-document-from-category, and read-all-docs-from-category. Descriptions lack actionable context: what constitutes a valid category? How are they formatted? What are examples?
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 53 | <=2025-11-25 | v2 |
| 2026-03-09 | C | 60 | - | v1 |
Use this tool to retrieve a complete, up-to-date list of all documentation categories available in the official Terragrunt documentation. This is the FIRST STEP for any workflow where you do not already know the category name required by other tools. **When to use:** - When you need to discover what documentation categories exist before selecting or reading documents. - As a prerequisite for 'list-all-docs-by-category', 'read-document-from-category', or 'read-all-docs-from-category' if the category is unknown or user input is ambiguous. **How to chain:** - If the user requests a document or overview but does not specify a category, call this tool first, then present or select from the results before proceeding. - If a tool returns an error about an unknown category, use this tool to recover. **Inputs:** - None (GitHub token is now sourced from environment variable). **Outputs:** - Structured list of all available documentation categories, each with a name and link. **Related tools:** - 'list-all-docs-by-category' (to list docs in a category) - 'read-document-from-category' (to read a specific doc) - 'read-all-docs-from-category' (to merge all docs in a category) **Example workflow:** 1. Call 'list-doc-categories' to get categories. 2. Use 'list-all-docs-by-category' with a selected category. 3. Use 'read-document-from-category' or 'read-all-docs-from-category' as needed.
Use this tool to retrieve and merge all documentation files from a specific category into a single, comprehensive response. This is ideal for overviews, summaries, or when the user requests "everything" in a category. **When to use:** - When the user requests a full overview, merged summary, or all docs in a category. - When you want to provide a unified document containing all markdown files in a category. **How to chain:** - If the category is unknown, use 'list-doc-categories' first. - If the category is empty or an error occurs, inform the user and suggest using discovery tools. **Inputs:** - category (required): Use a value from 'list-doc-categories'. **Outputs:** - A single merged document, with each file's content clearly separated and labeled. If the category is empty, a message indicating no documents were found. **Related tools:** - 'list-doc-categories' (to discover categories) - 'list-all-docs-by-category' (to discover docs in a category) - 'read-document-from-category' (to read a specific doc) **Example workflow:** 1. Call 'list-doc-categories' if category is unknown. 2. Call 'read-all-docs-from-category' with the chosen category.
Use this tool to retrieve and read a specific documentation file from a specific category. This is the FINAL STEP when you know both the category and document name. **When to use:** - When you know both the category and document name (from user input or previous tool calls). - To access detailed information about a specific Terragrunt feature, command, or concept. **How to chain:** - If the user request is ambiguous or missing category/document, use 'list-doc-categories' and/or 'list-all-docs-by-category' first. - If this tool returns an error about missing/invalid category or document, fallback to discovery tools. **Inputs:** - category (required): Use a value from 'list-doc-categories'. - document (required): Use a value from 'list-all-docs-by-category'. **Outputs:** - The full content of the specified documentation file. **Related tools:** - 'list-doc-categories' (to discover categories) - 'list-all-docs-by-category' (to discover docs in a category) - 'read-all-docs-from-category' (to merge all docs in a category) **Example workflow:** 1. If category or document is unknown, call discovery tools in order. 2. Call 'read-document-from-category' with both values.
No enum or constraint definitions for parameters. 'category' parameter could be enumerated (cli, reference, configuration, community, troubleshooting, as examples in the description suggest). The 'all' boolean in get-all-open-issues lacks semantic context: does it mean 'fetch unlimited' vs 'fetch 30'? What are the performance implications?
No error handling or recovery guidance documented. Tool descriptions do not explain failure modes: What if category does not exist? What if GitHub API rate-limits? What if a document is malformed? Descriptions do mention fallback patterns in chaining sections, but no explicit error responses or recovery hints.
No pagination guidance. get-all-open-issues accepts an 'all' flag but does not document limits, result counts, or pagination tokens. Returning all issues from a live repository could exceed context windows. Tools should cap results and offer pagination.
Tool names are slightly redundant. 'list-doc-categories' vs 'list-all-docs-by-category' both start with 'list-' but have subtle prefix variations. Consider: 'list-categories' and 'list-documents-in-category' for clearer distinction.