Diagrams MCP

Generate cloud architecture diagrams, flowcharts, and sequence diagrams.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
66%
이름 품질
100%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,118토큰 (도구 정의)
~908 B일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.65%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "diagrams-mcp-server": {
      "command": "uvx",
      "args": [
        "diagrams-mcp-server"
      ]
    }
  }
}

실행 가능한 패키지

pypidiagrams-mcp-server0.1.2stdio

원격 엔드포인트

https://diagrams-mcp-production.up.railway.app/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (9)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢render_diagram(code, filename, format, download_link)

Render a mingrammer/diagrams Python snippet to PNG and return the image. The code must be a complete Python script using `from diagrams import ...` imports and a `with Diagram(...)` context manager block. Use search_nodes to verify node names and get correct import paths before writing code. Read the diagrams://reference/diagram, diagrams://reference/edge, and diagrams://reference/cluster resources for constructor options and usage examples. Args: code: Full Python code using the diagrams library. filename: Output filename without extension. format: Output format — ``"png"`` (default), ``"svg"``, or ``"pdf"``. download_link: If True, return a temporary download URL path (/images/{token}) that expires after 15 minutes; if False, return inline image bytes. Defaults to True (URL) — set ``DIAGRAMS_INLINE_DEFAULT=true`` on the server to flip the default. SVG/PDF and PNGs larger than the inline limit always use a download link.

입력 스키마

{
  "type": "object",
  "properties": {
    "code": {
      "type": "string"
    },
    "filename": {
      "default": "diagram",
      "type": "string"
    },
    "format": {
      "default": "png",
      "enum": [
        "png",
        "svg",
        "pdf"
      ],
      "type": "string"
    },
    "download_link": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "code"
  ],
  "additionalProperties": false
}
🟢list_providers

List all available diagram providers (aws, gcp, azure, k8s, onprem, etc.). Use list_providers -> list_services -> list_nodes to browse available node types for a specific provider.

입력 스키마

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "description": "Generic wrapper for non-object return types.",
  "x-fastmcp-wrap-result": true
}
🟢list_services(provider)

List service categories for a provider (e.g. 'aws' -> ['compute', 'database', ...]). Args: provider: Provider name from list_providers (e.g. 'aws', 'gcp', 'k8s').

입력 스키마

{
  "type": "object",
  "properties": {
    "provider": {
      "type": "string"
    }
  },
  "required": [
    "provider"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "description": "Generic wrapper for non-object return types.",
  "x-fastmcp-wrap-result": true
}
🟢list_nodes(provider, service)

List available node classes for a provider.service combo. Args: provider: Provider name (e.g. 'aws', 'gcp', 'k8s'). service: Service category (e.g. 'compute', 'database', 'network'). Returns: List of nodes with keys: name, import, alias_of (optional).

입력 스키마

{
  "type": "object",
  "properties": {
    "provider": {
      "type": "string"
    },
    "service": {
      "type": "string"
    }
  },
  "required": [
    "provider",
    "service"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "description": "Generic wrapper for non-object return types.",
  "x-fastmcp-wrap-result": true
}
🟢search_nodes(query)

Search for diagram nodes by keyword across all providers and services. For targeted browsing when you know the provider, use list_providers -> list_services -> list_nodes instead. Args: query: Search term (case-insensitive substring match). Returns: List of matching nodes with keys: node, provider, service, import, alias_of (optional). Sorted by relevance: exact match first, then prefix, then substring.

입력 스키마

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string"
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "description": "Generic wrapper for non-object return types.",
  "x-fastmcp-wrap-result": true
}
🟢render_mermaid(definition, filename, format, download_link)

Render a Mermaid diagram definition and return the image with metadata. The definition should be valid Mermaid syntax (e.g. flowchart, sequence, class, ER, state, or Gantt diagram). Returns a list of content blocks: the rendered image plus a JSON text block with metadata including a mermaid.live edit link for opening the diagram in a browser editor. Args: definition: Mermaid diagram definition text. filename: Output filename without extension. format: Output format — ``"png"`` (default), ``"svg"``, or ``"pdf"``. download_link: If True, return a temporary download URL path (/images/{token}) that expires after 15 minutes; if False, return inline image bytes. Defaults to True (URL) — set ``DIAGRAMS_INLINE_DEFAULT=true`` on the server to flip the default. SVG/PDF and PNGs larger than the inline limit always use a download link.

입력 스키마

{
  "type": "object",
  "properties": {
    "definition": {
      "type": "string"
    },
    "filename": {
      "default": "diagram",
      "type": "string"
    },
    "format": {
      "default": "png",
      "enum": [
        "png",
        "svg",
        "pdf"
      ],
      "type": "string"
    },
    "download_link": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "definition"
  ],
  "additionalProperties": false
}
🟢render_plantuml(definition, filename, format, download_link)

Render a PlantUML diagram definition and return the image. The definition should be valid PlantUML syntax wrapped in @startuml/@enduml (sequence, class, component, activity, state, deployment, etc.). Args: definition: PlantUML diagram definition text. filename: Output filename without extension. format: Output format — ``"png"`` (default) or ``"svg"``. PDF is not supported (requires Batik/FOP). download_link: If True, return a temporary download URL path (/images/{token}) that expires after 15 minutes; if False, return inline image bytes. Defaults to True (URL) — set ``DIAGRAMS_INLINE_DEFAULT=true`` on the server to flip the default. SVG and PNGs larger than the inline limit always use a download link.

입력 스키마

{
  "type": "object",
  "properties": {
    "definition": {
      "type": "string"
    },
    "filename": {
      "default": "diagram",
      "type": "string"
    },
    "format": {
      "default": "png",
      "enum": [
        "png",
        "svg",
        "pdf"
      ],
      "type": "string"
    },
    "download_link": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "definition"
  ],
  "additionalProperties": false
}
🟢find_equivalent(node, target_provider)

Find cross-provider equivalents for a diagram node by infrastructure role. Given a node name (e.g. 'EC2', 'Lambda', 'ComputeEngine'), returns the infrastructure role category it belongs to and the equivalent nodes from other providers. If a node name is ambiguous, use list_categories to see all mapped roles and pick a provider-specific node name. Args: node: Node class name to look up (case-insensitive, e.g. 'EC2', 'lambda'). target_provider: Optional provider to filter equivalents to (e.g. 'gcp', 'azure', 'aws'). If omitted, all equivalents across all other providers are returned. Returns: A dict with keys: category (str): Infrastructure role category name. description (str): Human-readable description of the category. source (dict): The matched node with keys node, provider, service, import. equivalents (list[dict]): Equivalent nodes, each with keys node, provider, service, import.

입력 스키마

{
  "type": "object",
  "properties": {
    "node": {
      "type": "string"
    },
    "target_provider": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "node"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "additionalProperties": true
}
🟢list_categories

List all infrastructure role categories with their mapped nodes. Use this to browse all available equivalence mappings, or to disambiguate node names when find_equivalent reports ambiguity. Returns a list of category dicts, each with: category (str): Category identifier (e.g. 'virtual_machine'). description (str): Human-readable description. providers (list[str]): Providers covered by this category. nodes (dict): Mapping of provider → list of node names in that category.

입력 스키마

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "result": {
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": [
    "result"
  ],
  "description": "Generic wrapper for non-object return types.",
  "x-fastmcp-wrap-result": true
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 9개