# TerraVision

Draws infrastructure diagrams from Terraform code or prompts, using official AWS, Azure and GCP icons. Runs entirely client-side without cloud access.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 1660
- Author: patrickchugh
- License: AGPL-3.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/patrickchugh/terravision
- Updated: 2026-10-23
- HTML: https://affpapa.org/en/nevibecode/mcp/terravision

## What it does

TerraVision parses Terraform files and variables, generates architecture visuals with resource layout. Full AWS support (200+ services), partial GCP and Azure coverage. The tool runs client-side: source code stays on your machine, no cloud account required. Needs Python 3.10+, Terraform 1.x, Git and Graphviz.

You can embed the server in CI/CD: call diagram generation after `terraform plan` and push updated docs. The project is alpha status, distributed as-is without warranties. Supports YAML annotations to add external systems not captured in Terraform.

Fits automated documentation sync with infrastructure code, audits and architecture reviews.

## Requirements
- Needs: Python and uv (commands run via uvx)
- Works with: AWS, Azure, Terraform

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add terravision -- uvx terravision
```
uvx runs the command named after the package; if the README names another one, use uvx --from terravision <command>

### Codex

**Platform CLI**
```bash
codex mcp add terravision -- uvx terravision
```
uvx runs the command named after the package; if the README names another one, use uvx --from terravision <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "terravision": {
            "command": "uvx",
            "args": [
                "terravision"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from terravision <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "terravision": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "terravision"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from terravision <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add terravision uvx terravision
```
uvx runs the command named after the package; if the README names another one, use uvx --from terravision <command>

## When to use it
- Generate AWS, GCP or Azure architecture diagrams from Terraform code
- Keep infrastructure schemas up to date without manual Visio edits
- Embed diagram generation in CI/CD pipelines after terraform plan
- Visualize conditionally created resources and environment variables
- Document cloud infrastructure without runtime access

## Example prompts
- Build an architecture diagram from files in `./terraform/prod`
- Generate an AWS infrastructure schema from code in `main.tf`
- Turn the Terraform plan into a visual diagram with service icons

## Similar
- [mcp-server](https://affpapa.org/en/nevibecode/mcp/mcp-server.md) — MCP server · ★ 43872
- [Coder](https://affpapa.org/en/nevibecode/mcp/coder.md) — MCP server · ★ 17160
- [Radar Kubernetes MCP Server](https://affpapa.org/en/nevibecode/mcp/radar-kubernetes-mcp-server.md) — MCP server · ★ 3905
- [Supabase](https://affpapa.org/en/nevibecode/mcp/supabase.md) — MCP server · ★ 2969
- [Azure DevOps (ADO)](https://affpapa.org/en/nevibecode/mcp/azure-devops-ado.md) — MCP server · ★ 2067
- [Terraform](https://affpapa.org/en/nevibecode/mcp/terraform.md) — MCP server · ★ 1553

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
