Skip to main content
Glama

다이어그램 그리기

velog_render_diagram

Creates architecture/flow diagrams from coordinates, renders to PNG, returns Markdown for Velog. Auto-sizes canvas and checks text overflow, line crossings, and overlap before upload.

Instructions

구성도·흐름도를 그려 PNG 로 만들고 벨로그에 올린다. 본문에 붙일 마크다운을 돌려준다. 좌표만 주면 나머지는 렌더러가 맞춘다 — 노드 폭·캔버스 크기·선 꺾임·라벨 위치는 브라우저 실측으로 정해지고, 글자 삐져나옴/선 관통/겹침은 자가감사가 잡는다. 감사에 걸리면 올리지 않고 무엇이 문제인지 알려준다. 이 판단은 끌 수 없고, 감사에 걸린 산출물은 velog_upload_image 로도 받지 않는다. 고쳐서 다시 그릴 것. 밋밋하게 나오면 입력이 밋밋한 것이다. 사람 손 그림처럼 보이게 하는 셋: 노드마다 icon 과 tag(포트·버전·역할), 관련 노드는 groups 로 묶기, 흐름 종류가 둘 이상이면 planes 로 색 가르기. 나란한 노드는 y 를 맞추면 선이 곧게 나간다. 아이콘: alert arrow bell bolt branch browser cache chart check clock cloud code cross database file gear key layers lock mail mobile network package retry search server terminal user 톤: slate gray blue green amber yellow purple teal rose indigo

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
altNo이미지 대체 텍스트
edgesNo
nodesYes
titleYes그림 제목 (좌상단)
groupsNo
legendNo
planesNo흐름 종류. 생략하면 요청/외부 호출/데이터/관측 4종
uploadNo
post_idNo붙일 글 id. 주면 벨로그가 내 글인지 확인한 뒤 받는다
subtitleNo한 줄 설명·근거

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv0.9.2
    • addedInput schema / properties / edges / items / properties / label_at / additionalItems
      Added value: +false
    • addedInput schema / properties / edges / items / properties / label_at / maxItems
      Added value: +2
    • addedInput schema / properties / edges / items / properties / label_at / minItems
      Added value: +2
    • addedInput schema / properties / edges / items / properties / points / items / additionalItems
      Added value: +false
    • addedInput schema / properties / edges / items / properties / points / items / maxItems
      Added value: +2
    • addedInput schema / properties / edges / items / properties / points / items / minItems
      Added value: +2
  2. First observedv0.3.0

TDQS

A4/5.0
Behavior5/5

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

With annotations only declaring readOnlyHint=false/idempotentHint=false/destructiveHint=false, the description carries the full burden of behavioral disclosure and delivers richly. It reveals that the tool uploads to Velog (mutation), that a self-check can refuse to upload and explain the problem, that this gate cannot be disabled, and that rejected outputs are also barred from velog_upload_image. It also discloses auto-layout mechanics (browser-measured node width, canvas, line bends, label positions). This is exactly the kind of value annotations don't provide. No contradiction with annotations.

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 description is longer than average but every block earns its place: purpose first, then mechanics, then the rejection gate, then style tips, then the two value enumerations. The icon/tone lists are verbose but essential since they're the sole source of valid values. The '밋밋하게 나오면 입력이 밋밋한 것이다' (dull input yields dull output) line is a memorable editorial touch that conveys a real constraint.

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?

There is no output schema, so the description correctly states the return contract: 'returns markdown to attach to the post body.' For a complex tool with 10 parameters and nested structures, the description covers the key decision-critical behaviors: auto-layout, rejection gate, and upload semantics. The post_id and subtitle parameters are documented in the schema, so their omission from the description is acceptable.

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

Parameters4/5

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

Schema description coverage is only 50%, so the description must compensate, and it does. It enumerates the valid icon values (alert arrow bell bolt ... terminal user) and tone values (slate gray blue ... rose indigo), which appear nowhere in the schema. It explains the coordinate philosophy ('origin can be anywhere — canvas auto-fits'), how w is measured when omitted, and how to use groups/planes for visual grouping. It adds real semantic value beyond the schema fields.

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

Purpose4/5

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

The description opens with a specific verb-resource pair: 'Draws a configuration/flow diagram, creates a PNG, uploads to Velog, returns markdown.' This clearly distinguishes a diagram-generation tool from the write/read/post siblings. However, it does not explicitly differentiate from the render_* siblings (velog_render_sequence, velog_render_cover); the distinction is only implicit via '구성도·흐름도' (architecture/flow diagram). It does reference velog_upload_image explicitly, which helps.

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

Usage Guidelines3/5

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

The description provides strong how-to-use guidance: give coordinates and let the renderer auto-layout, use icons/tags/groups/planes for a hand-drawn look, align y for straight lines, and expect rejection if the self-check fails. What's missing is explicit when-to-use vs alternative routing — it never says 'for sequence diagrams use velog_render_sequence' or 'for covers use velog_render_cover.' The velog_upload_image mention is only negative (rejected outputs aren't accepted there).

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