UML · Capability

PlantUML Server API — Diagrams

PlantUML Server API — Diagrams. 5 operations. Lead operation: Get Diagram HTML Image Map. Self-contained Naftiko capability covering one Uml business surface.

Run with Naftiko UmlDiagrams

What You Can Do

GET
Getdiagramimagemap — Get Diagram HTML Image Map
/v1/map/{encoded}
GET
Getdiagrampdf — Get Diagram as PDF
/v1/pdf/{encoded}
GET
Getdiagrampng — Get Diagram as PNG
/v1/png/{encoded}
GET
Getdiagramsvg — Get Diagram as SVG
/v1/svg/{encoded}
GET
Getdiagramascii — Get Diagram as ASCII Art
/v1/txt/{encoded}

MCP Tools

get-diagram-html-image-map

Get Diagram HTML Image Map

read-only idempotent
get-diagram-pdf

Get Diagram as PDF

read-only idempotent
get-diagram-png

Get Diagram as PNG

read-only idempotent
get-diagram-svg

Get Diagram as SVG

read-only idempotent
get-diagram-ascii-art

Get Diagram as ASCII Art

read-only idempotent

Capability Spec

plantuml-server-diagrams.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: PlantUML Server API — Diagrams
  description: 'PlantUML Server API — Diagrams. 5 operations. Lead operation: Get Diagram HTML Image Map. Self-contained Naftiko
    capability covering one Uml business surface.'
  tags:
  - Uml
  - Diagrams
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    UML_API_KEY: UML_API_KEY
capability:
  consumes:
  - type: http
    namespace: plantuml-server-diagrams
    baseUri: https://www.plantuml.com/plantuml
    description: PlantUML Server API — Diagrams business capability. Self-contained, no shared references.
    resources:
    - name: map-encoded
      path: /map/{encoded}
      operations:
      - name: getdiagramimagemap
        method: GET
        description: Get Diagram HTML Image Map
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: encoded
          in: path
          type: string
          description: Deflate + base64url encoded PlantUML source
          required: true
    - name: pdf-encoded
      path: /pdf/{encoded}
      operations:
      - name: getdiagrampdf
        method: GET
        description: Get Diagram as PDF
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: encoded
          in: path
          type: string
          description: Deflate + base64url encoded PlantUML source
          required: true
    - name: png-encoded
      path: /png/{encoded}
      operations:
      - name: getdiagrampng
        method: GET
        description: Get Diagram as PNG
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: encoded
          in: path
          type: string
          description: Deflate + base64url encoded PlantUML source
          required: true
    - name: svg-encoded
      path: /svg/{encoded}
      operations:
      - name: getdiagramsvg
        method: GET
        description: Get Diagram as SVG
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: encoded
          in: path
          type: string
          description: Deflate + base64url encoded PlantUML source
          required: true
    - name: txt-encoded
      path: /txt/{encoded}
      operations:
      - name: getdiagramascii
        method: GET
        description: Get Diagram as ASCII Art
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: encoded
          in: path
          type: string
          description: Deflate + base64url encoded PlantUML source
          required: true
  exposes:
  - type: rest
    namespace: plantuml-server-diagrams-rest
    port: 8080
    description: REST adapter for PlantUML Server API — Diagrams. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/map/{encoded}
      name: map-encoded
      description: REST surface for map-encoded.
      operations:
      - method: GET
        name: getdiagramimagemap
        description: Get Diagram HTML Image Map
        call: plantuml-server-diagrams.getdiagramimagemap
        with:
          encoded: rest.encoded
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/pdf/{encoded}
      name: pdf-encoded
      description: REST surface for pdf-encoded.
      operations:
      - method: GET
        name: getdiagrampdf
        description: Get Diagram as PDF
        call: plantuml-server-diagrams.getdiagrampdf
        with:
          encoded: rest.encoded
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/png/{encoded}
      name: png-encoded
      description: REST surface for png-encoded.
      operations:
      - method: GET
        name: getdiagrampng
        description: Get Diagram as PNG
        call: plantuml-server-diagrams.getdiagrampng
        with:
          encoded: rest.encoded
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/svg/{encoded}
      name: svg-encoded
      description: REST surface for svg-encoded.
      operations:
      - method: GET
        name: getdiagramsvg
        description: Get Diagram as SVG
        call: plantuml-server-diagrams.getdiagramsvg
        with:
          encoded: rest.encoded
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/txt/{encoded}
      name: txt-encoded
      description: REST surface for txt-encoded.
      operations:
      - method: GET
        name: getdiagramascii
        description: Get Diagram as ASCII Art
        call: plantuml-server-diagrams.getdiagramascii
        with:
          encoded: rest.encoded
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: plantuml-server-diagrams-mcp
    port: 9090
    transport: http
    description: MCP adapter for PlantUML Server API — Diagrams. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: get-diagram-html-image-map
      description: Get Diagram HTML Image Map
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: plantuml-server-diagrams.getdiagramimagemap
      with:
        encoded: tools.encoded
      outputParameters:
      - type: object
        mapping: $.
    - name: get-diagram-pdf
      description: Get Diagram as PDF
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: plantuml-server-diagrams.getdiagrampdf
      with:
        encoded: tools.encoded
      outputParameters:
      - type: object
        mapping: $.
    - name: get-diagram-png
      description: Get Diagram as PNG
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: plantuml-server-diagrams.getdiagrampng
      with:
        encoded: tools.encoded
      outputParameters:
      - type: object
        mapping: $.
    - name: get-diagram-svg
      description: Get Diagram as SVG
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: plantuml-server-diagrams.getdiagramsvg
      with:
        encoded: tools.encoded
      outputParameters:
      - type: object
        mapping: $.
    - name: get-diagram-ascii-art
      description: Get Diagram as ASCII Art
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: plantuml-server-diagrams.getdiagramascii
      with:
        encoded: tools.encoded
      outputParameters:
      - type: object
        mapping: $.