Skip to main content
Glama

벨로그 글 발행

velog_publish_post
Destructive

Instantly publish a new Velog post without drafts; it goes out as private. Revert to draft anytime using the unpublish tool.

Instructions

새 글을 바로 발행한다. 초안을 거치지 않는다. 현재 설정에서는 비공개로만 발행된다 (공개 발행은 VELOG_ALLOW_PUBLIC=1 이 필요하다). 되돌리려면 velog_unpublish_post 로 초안으로 내릴 수 있다.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
bodyYes본문 (마크다운). 문체: 사람이 쓴 글처럼 자연스럽게. 긴 줄표(—)와 가운뎃점(·)을 쓰지 말고 쉼표나 마침표로 끊을 것. "**하나.** ... **둘.**" 식 볼드 번호 나열 금지(산문이나 평범한 불릿으로). 문단은 2~3문장으로 짧게, 200자가 넘으면 쪼갠다. "이 글의 한계" 같은 부록 절을 만들지 말고 해당 문단 자리에 한 문장으로 녹일 것.
tagsNo
titleYes글 제목. 긴 줄표(—) 금지. 부제는 콜론이나 괄호, 짧은 하이픈으로.
url_slugNo생략하면 제목에서 생성
series_idNo
thumbnailNo썸네일 이미지 URL (http/https). 생략하면 본문 첫 이미지로 자동 설정한다. 자동 설정을 원하지 않으면 null 을 준다
series_nameNo시리즈 **이름**(id 대신). 저장 전에 내 시리즈에서 찾아 같은 요청에 실어 보낸다 — 한 번의 호출로 시리즈까지 붙는다. 못 찾으면 저장하지 않고 목록을 알려준다

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changedv0.9.2
    • changedInput schema / properties / body / description
      Previous value: -"본문 (마크다운)"New value: +"본문 (마크다운). 문체: 사람이 쓴 글처럼 자연스럽게. 긴 줄표(—)와 가운뎃점(·)을 쓰지 말고 쉼표나 마침표로 끊을 것. \"**하나.** ... **둘.**\" 식 볼드 번호 나열 금지(산문이나 평범한 불릿으로). 문단은 2~3문장으로 짧게, 200자가 넘으면 쪼갠다. \"이 글의 한계\" 같은 부록 절을 만들지 말고 해당 문단 자리에 한 문장으로 녹일 것."
    • removedInput schema / properties / thumbnail / anyOf
      Removed value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]
    • addedInput schema / properties / thumbnail / type
      Added value: +[
      +  "string",
      +  "null"
      +]
    • addedInput schema / properties / title / description
      Added value: +"글 제목. 긴 줄표(—) 금지. 부제는 콜론이나 괄호, 짧은 하이픈으로."
    • addedInput schema / properties / title / maxLength
      Added value: +255
  2. Changed4 schema fields changedv0.6.0
    • addedInput schema / properties / series_name
      Added value: +{
      +  "description": "시리즈 **이름**(id 대신). 저장 전에 내 시리즈에서 찾아 같은 요청에 실어 보낸다 — 한 번의 호출로 시리즈까지 붙는다. 못 찾으면 저장하지 않고 목록을 알려준다",
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / thumbnail / anyOf
      Added value: +[
      +  {
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / thumbnail / description
      Added value: +"썸네일 이미지 URL (http/https). 생략하면 본문 첫 이미지로 자동 설정한다. 자동 설정을 원하지 않으면 null 을 준다"
    • removedInput schema / properties / thumbnail / type
      Removed value: -"string"
  3. First observedv0.3.0

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint:false and destructiveHint:true, but the description adds critical behavioral nuance: the private-only publishing constraint and the required environment variable, plus the fact that the action can be reversed via unpublish. This goes beyond the annotations and informs the agent of important side effects and preconditions. No contradiction with annotations; destructiveHint:true is consistent with the act of making a post live, though the description clarifies it is reversible.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the primary action ('새 글을 바로 발행한다'), followed by the crucial constraint and the undo alternative. Every sentence adds value, and it avoids fluff. It is optimally concise for the information density.

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?

For a publishing tool with 7 parameters (2 required) and no output schema, the description adequately covers the action's semantics, constraints, and reversal path. The only gap is that it doesn't mention the return value (e.g., the published post object) or error handling, but given the tool's simplicity and the schema's param details, this is a minor omission. The description is otherwise complete for correct invocation.

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?

The schema covers 71% of parameters with descriptions (body, title, thumbnail, series_name), and the tool description adds no parameter-specific semantics beyond what the schema provides. The description does mention the private-only behavior but not tied to any parameter. Since coverage is moderate (not below 50%), the baseline of 3 is appropriate; the description does not compensate for the uncovered parameters (tags, url_slug, series_id) but those are self-explanatory given their names and defaults.

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 clearly states the action: '새 글을 바로 발행한다' (publishes a new post immediately). It explicitly distinguishes from draft-based workflows ('초안을 거치지 않는다') and from the sibling velog_publish_draft (which publishes an existing draft). The resource (new post) and verb (publish) are specific, and the immediate/direct nature sets it apart from related tools.

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

Usage Guidelines5/5

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

The description gives explicit usage context: it publishes directly without a draft, and it notes the current configuration restricts to private-only unless VELOG_ALLOW_PUBLIC=1 is set. It also names the alternative for undoing the action (velog_unpublish_post). This provides clear when-to-use and when-not-to-use guidance, including a specific sibling.

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