Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ARCH_DIAGRAM_FONTNoFont family; auto picks Segoe UI on Windows, Helvetica Neue on macOS, DejaVu Sans on Linux.auto
ARCH_DIAGRAM_PNG_DPINoPNG/JPG resolution (72-300).144
ARCH_DIAGRAM_STORAGENoArtifact storage backend: local, s3, azure, or gcs.local
ARCH_DIAGRAM_AUTH_MODENoAuthentication mode: none, token, or oidc; inferred from the variables below when set to auto.auto
ARCH_DIAGRAM_HTTP_HOSTNoHTTP bind address.127.0.0.1
ARCH_DIAGRAM_HTTP_PORTNoHTTP bind port.8000
ARCH_DIAGRAM_LOG_LEVELNoJSON logs go to stderr, one audit line per tool call.INFO
ARCH_DIAGRAM_MAX_EDGESNoMaximum number of edges allowed in a diagram spec.800
ARCH_DIAGRAM_MAX_NODESNoMaximum number of nodes allowed in a diagram spec.300
ARCH_DIAGRAM_S3_REGIONNoAWS region for S3 artifact storage.
ARCH_DIAGRAM_URL_TTL_SNoDownload-link lifetime in seconds (60 s to 7 days).3600
ARCH_DIAGRAM_AUTH_TOKENNoLegacy single bearer token for token authentication; still supported.
ARCH_DIAGRAM_OUTPUT_DIRNoWhere diagrams are written.~/architecture-diagrams
ARCH_DIAGRAM_AUTHOR_ROLENoRole name for author access when using OIDC RBAC.
ARCH_DIAGRAM_AUTH_TOKENSNoNamed bearer tokens in the format name=secret,... for token authentication.
ARCH_DIAGRAM_INPUT_ROOTSNoos.pathsep-separated directories that diagram_from_terraform(path=...) may read.cwd + output dir
ARCH_DIAGRAM_OIDC_ISSUERNoOIDC issuer URL used to validate JWTs.
ARCH_DIAGRAM_READER_ROLENoRole name for reader access when using OIDC RBAC.
ARCH_DIAGRAM_MAX_CLUSTERSNoMaximum number of clusters allowed in a diagram spec.100
ARCH_DIAGRAM_ALLOWED_HOSTSNoComma-separated Host allow-list for DNS-rebinding protection.
ARCH_DIAGRAM_OIDC_AUDIENCENoExpected OIDC JWT audience.
ARCH_DIAGRAM_OIDC_JWKS_URINoOptional OIDC JWKS URI; otherwise discovered from the issuer.
ARCH_DIAGRAM_S3_KMS_KEY_IDNoOptional KMS key ID for S3 SSE-KMS encryption.
ARCH_DIAGRAM_RETENTION_DAYSNoDeletes generated files older than N days; 0 keeps files forever.0
ARCH_DIAGRAM_STORAGE_BUCKETNoBucket or container used by the configured cloud storage backend.
ARCH_DIAGRAM_STORAGE_PREFIXNoKey prefix for objects in cloud storage.diagrams/
ARCH_DIAGRAM_ALLOWED_ORIGINSNoComma-separated Origin allow-list for DNS-rebinding protection.
ARCH_DIAGRAM_KEEP_DOT_SOURCENoKeeps the .dot file for hand-editing.true
ARCH_DIAGRAM_PUBLIC_BASE_URLNoExternal URL used for download links and OAuth metadata.
ARCH_DIAGRAM_URL_SIGNING_KEYNoHMAC key for local download links; at least 32 characters; must be shared across replicas.
ARCH_DIAGRAM_RENDER_TIMEOUT_SNoGraphviz is killed after this many seconds.60
ARCH_DIAGRAM_AZURE_ACCOUNT_URLNoAzure Blob Storage account URL for Azure artifact storage.
AZURE_STORAGE_CONNECTION_STRINGNoAzure Storage connection string used as an alternative account-key credential for Azure artifact storage.
ARCH_DIAGRAM_MAX_TERRAFORM_BYTESNoTerraform input size limit.25 MB
ARCH_DIAGRAM_INLINE_PNG_MAX_BYTESNoLarger PNGs are returned as a path only.4 MB
ARCH_DIAGRAM_OIDC_REQUIRED_SCOPESNoOptional required OIDC scopes.
ARCH_DIAGRAM_ALLOW_UNAUTHENTICATEDNoAllows a non-loopback bind without a token; only use behind an authenticating proxy.false
ARCH_DIAGRAM_DELETE_LOCAL_AFTER_UPLOADNoRemoves local files after a successful cloud storage upload.false

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_iconsB

Search ~1,900 official icons by service name, alias or category.

Examples: 'ecs', 's3', 'aks', 'cloud run', 'postgres', 'redis', 'kafka', 'load balancer'. Returns canonical ids (usable as node type) and their aliases.

list_icon_categoriesA

List every category of a provider and the service icons in each.

list_templatesB

List bundled reference architectures (AWS, Azure, GCP) that can be loaded with get_template.

get_templateA

Return a reference architecture spec to customise and pass to generate_architecture_diagram.

validate_diagramA

Check a spec without rendering: icon ids (with suggestions), references, nesting, limits.

generate_architecture_diagramA

Render an architecture diagram with official provider icons.

spec.nodes: services (type = icon id from search_icons). spec.clusters: boundaries (account, subscription, project, region, VPC/VNet, subnet, AZ, namespace), nested with parent. spec.edges: node-to-node connections with optional label, colour and style. spec.output_formats: any of png, svg (self-contained), pdf, jpg. Returns file paths and an inline PNG preview.

review_architectureA

Heuristic Well-Architected review of a spec (security, reliability, operations, performance).

Returns a 0-100 score, grade, and findings with recommendations. Findings reflect only what the diagram shows.

diagram_from_terraformA

Build a diagram from Terraform: terraform show -json plan.out, state JSON, or a .tfstate file.

Pass the JSON text in terraform_json, or a file path inside the configured input roots. VPC/VNet/subnet/resource-group become nested boundaries; references become edges (dashed = inferred through listeners, NICs, role assignments, etc.). Returns the generated spec so it can be refined and re-rendered.

diagram_from_inventoryA

Diagram infrastructure that is already running, from the cloud's own inventory, with real names.

Google Cloud: pass the output of gcloud asset list --project <id> --content-type resource --format json (or gcloud asset export newline-delimited JSON) in inventory_json, or a file path inside the configured input roots. Works however the resources were created (console, gcloud, IaC).

Layout: Project > VPC > Subnet > GKE cluster > namespace. Edges come from configuration (Cloud SQL/secret/Pub/Sub references, URLs matched to Cloud Run services, load balancer backends, push subscriptions, Scheduler targets, VPC connectors). Filter with projects, regions and labels (e.g. {"app": "payments"}); include_neighbors keeps resources that matched resources connect to. Calls made only in application code are not visible: add those edges to the returned spec and re-render with generate_architecture_diagram.

server_infoA

Report version, Graphviz status, icon count, storage, auth mode, caller identity and limits.

Prompts

Interactive templates invoked by user choice

NameDescription
design_architectureGuide the model through designing, rendering and reviewing an architecture.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.7/5.0

Scored across 10 tools

Disambiguation4/5

Most tools have clearly distinct purposes: rendering (generate_architecture_diagram), discovery (search_icons, list_icon_categories, list_templates, get_template), validation (validate_diagram vs review_architecture), and import (diagram_from_terraform vs diagram_from_inventory). Minor overlap between search_icons and list_icon_categories (both surface icons) and between validate_diagram and review_architecture (both inspect a spec), but descriptions clarify the intent difference.

Naming Consistency4/5

Most tools follow a verb_noun pattern (search_icons, list_templates, get_template, validate_diagram, review_architecture) and the two import tools consistently use diagram_from_<source>. Deviations exist: server_info is noun-only and generate_architecture_diagram is a longer verb phrase, but the set reads predictably overall.

Tool Count5/5

Ten tools is well-scoped for a diagram generation server, covering rendering, discovery, templates, validation, review, and two import sources without redundancy. Each tool earns its place in the workflow.

Completeness4/5

The surface covers the full diagram lifecycle: discover icons, load templates, generate, validate, review, and import from Terraform/inventory. Minor gaps remain—no explicit tool to save/manage custom templates or to retrieve/edit previously generated diagram files—but core workflows are well supported.

Maintenance

ActivityMaintained
ResponsivenessNo issues