Fire in da houseTop Tip:Paying $100+ per month for Perplexity, MidJourney, Runway, ChatGPT and other tools is crazy - get all your AI tools in one site starting at $15 per month with Galaxy AI Fire in da houseCheck it out free

mcp-terragrunt-docs

MCP.Pizza Chef: Excoriate

mcp-terragrunt-docs is a Deno and TypeScript-based MCP server that exposes structured context and tools related to Terragrunt documentation and development. It enables AI agents and MCP clients to query Terragrunt docs, GitHub issues, and other relevant resources, improving infrastructure-as-code workflows where native IDE support is limited. This server bridges the gap for Terragrunt users by providing real-time, structured documentation context within AI-enhanced environments.

Use This MCP server To

Query Terragrunt documentation context for AI-assisted coding Access Terragrunt GitHub issues within AI workflows Enhance IDE support for Terragrunt via MCP integration Provide real-time Terragrunt config references to AI agents Enable AI-driven troubleshooting using Terragrunt docs and issues

README

MCP Server: Terragrunt Docs Provider

Language License

A Model Context Protocol (MCP) server built with Deno and TypeScript, designed to provide contextual information related to Terragrunt.

Overview

This server acts as an MCP provider, exposing tools and resources that allow AI agents or other MCP clients to query information about Terragrunt documentation and development information, such as GitHub issues.

  • Watch a realistic demo 📺 on Claude Desktop here

Why?

When writing IaC configurations, mostly in terragrunt, the IDE support isn't that good, in VSCode the terraform plugin is good, but not for terragrunt; it does not recognize the terragrunt blocks and does not provide any autocompletion. When interacting with AI autocompletion, it's common to get incorrect results, or false-positive linting errors. With this MCP server, you can provide to your LLM/AI assistant the latest documentation and issues from the Terragrunt GitHub repository, so it can use that to provide you with the most accurate information.

Tools

Note: All tools require a valid GitHub token set as an environment variable: GITHUB_TOKEN, GH_TOKEN, or GITHUB_PERSONAL_ACCESS_TOKEN.

Tool Name Purpose Inputs Outputs Use Case
list-doc-categories Retrieve all documentation categories from Terragrunt docs. None Array of objects with name (string) and link (string) properties Use when you need to explore the available documentation structure or when building a documentation navigation system. This is typically the first tool to call when starting to work with Terragrunt docs.
list-all-docs-by-category List all docs in a specific category. category (string) Array of objects with name (string), link (string), and content (string) Use when you need to see all available documentation within a specific category, such as when building a category-specific documentation viewer or when you need to scan through all docs in a particular area.
read-document-from-category Read a specific doc from a category. category (string), document (string) Object containing content (string) with the full markdown content Use when you need to access the complete content of a specific document, such as when implementing documentation search or when you need to reference specific documentation in your application.
read-all-docs-from-category Retrieve and merge all docs in a category into one response. category (string) Object containing content (string) with all docs merged into one Use when you need a comprehensive view of all documentation within a category, such as when building a documentation search feature or when you need to analyze the complete documentation set for a specific topic.
get-all-open-issues Retrieve all open issues from Terragrunt GitHub repo. all (boolean, optional) Array of objects with title (string), number (number), state (string), created_at (string), updated_at (string), body (string), and labels (string[]) Use when you need to track or analyze current issues in the Terragrunt project, such as when building an issue dashboard, performing issue triage, or when you need to stay updated with the latest project challenges and discussions.

Setup

  1. Install Deno:

  2. Clone the repository:

    git clone https://github.com/Excoriate/mcp-terragrunt-docs.git
    cd mcp-terragrunt-docs
  3. Set your GitHub token as an environment variable:

    • On Unix/macOS:

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

      set GITHUB_TOKEN=ghp_xxx...

Note: You can also set the token in the .env file.

  1. Run the MCP server:

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

The most straightforward method is to use it directly from 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

Usage with Claude Desktop

To use this Deno-based MCP server with Claude Desktop, add the following to your claude_desktop_config.json:

Using Deno
{
  "mcpServers": {
    "terragrunt_docs": {
      "command": "deno",
      "args": [
        "run",
        "-A",
        "main.ts"
      ],
      "env": {
        "GITHUB_TOKEN": "<YOUR_TOKEN>"
      },
    }
  }
}
Using Docker
{
  "mcpServers": {
    "terragrunt_docs": {
      "command": "docker",
      "args": [
        "run",
        "-e", "GITHUB_TOKEN=<YOUR_TOKEN>", "mcp-terragrunt-docs"
      ],
      "env": {
        "GITHUB_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}
Using JSR
{
  "mcpServers": {
    "terragrunt_docs": {
      "command": "deno",
      "args": [
        "run",
        "-A",
        "jsr:@excoriate/mcp-terragrunt-docs@0.1.0"
      ],
      "env": {
        "GITHUB_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

Build the Docker image

docker build -t mcp-terragrunt-docs .

Run the MCP server in Docker

docker run -it --rm \
  -e GITHUB_TOKEN=ghp_xxx... \
  mcp-terragrunt-docs
  • Replace ghp_xxx... with your GitHub Personal Access Token with appropriate permissions.
  • You can also use GH_TOKEN or GITHUB_PERSONAL_ACCESS_TOKEN as the environment variable name.
  • If you want to use a local .env file, you can pass it with --env-file .env.

Contributing

See docs/CONTRIBUTING.md for detailed contribution guidelines, including setup, code style, PR process, and codebase structure reference.

Security

See SECURITY.md for the project's security policy, including how to report vulnerabilities and responsible disclosure guidelines.

License

This project is licensed under the MIT License.

mcp-terragrunt-docs FAQ

How do I deploy the mcp-terragrunt-docs server?
Deploy it using Deno runtime by cloning the repo and running the main server script with Deno, ensuring network access for MCP clients.
Can this server provide live updates from Terragrunt GitHub issues?
Yes, it can expose current GitHub issues related to Terragrunt, enabling AI clients to access up-to-date development discussions.
Is the mcp-terragrunt-docs server compatible with multiple MCP clients?
Yes, it follows the MCP protocol standards, making it compatible with any MCP client supporting the protocol.
What programming languages is this server built with?
It is built using Deno and TypeScript, leveraging modern JavaScript runtime features.
Does this server improve IDE support for Terragrunt?
Indirectly, yes. By providing structured Terragrunt documentation context to AI agents, it enhances code assistance where native IDE plugins lack.
Is the source code for mcp-terragrunt-docs open source?
Yes, it is licensed under MIT and available on GitHub for community use and contributions.
Can I customize the documentation sources this server provides?
The server is designed to be extensible; you can modify or extend it to include additional Terragrunt-related resources.
What MCP features does this server support?
It supports exposing structured documentation context, querying GitHub issues, and providing real-time data to MCP clients.