Skip to main content
Glama

Diagram a configuration file

config_diagram

Draw the architecture of a configuration file as Mermaid flowchart source, using the technology-specific model: Compose services, ports, volumes, networks and depends_on; Kubernetes Ingress → Service → workload → ConfigMap/Secret; CI jobs, stages and needs; OpenAPI endpoints and schemas; Ansible plays, hosts, tasks and handlers. Use it when the user wants to see or explain how the pieces connect. For generic YAML use visualize_yaml instead.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "content": "<content>"
    },
    "name": "config_diagram"
  }
}

Input Schema

NameRequiredDescriptionDefault
techNoForce the technology instead of auto-detecting it
detailNofull: ports and mounts as nodes; compact: folded into labels. Default: auto
contentYesThe full text of the configuration file (YAML or JSON)
filenameNoFile name or path, e.g. "docker-compose.prod.yml" or ".github/workflows/ci.yml". Improves detection; pass it whenever you know it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and does disclose the key trait: the output is Mermaid flowchart source, not an image or a saved diagram. It also reveals that technology is auto-detected and can be forced, and that a filename improves detection. It does not state what happens on unsupported or malformed input, which is the main remaining gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose and the technology list are front-loaded in a single dense sentence, followed by the usage condition and the alternative. The semicolon-separated tech enumeration is long but each clause maps to a real enum value, so little is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description compensates by stating the return artifact is Mermaid flowchart source. For a single-pass rendering tool with fully documented parameters, this is nearly complete; only error/unsupported-technology behavior is left unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents tech, detail, content and filename, including the enum values and the auto default. The description adds meaning only indirectly by describing what each tech model yields (e.g. Compose services, ports, volumes; K8s Ingress → Service → workload); it gives no extra syntax or format guidance for content or filename beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ("Draw the architecture of a configuration file as Mermaid flowchart source") and enumerates the technology-specific models it produces. It also explicitly contrasts itself with the sibling visualize_yaml, so an agent can tell the two apart without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use it when the user wants to see or explain how the pieces connect" plus "For generic YAML use visualize_yaml instead" gives a clear triggering condition and one named alternative. It stops short of routing vs. other diagram siblings like create_diagram or list_supported_technologies, so it is strong but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources