Velog(벨로그)에 로컬 Markdown과 이미지를 안전하게 업로드/임시저장/발행/백업하는 MCP Server & CLI
Server has 5 tools with complete schemas and descriptions, but quality is uneven. Tool names follow verb_noun convention (velog_upload_image, velog_create_post, velog_list_posts, velog_get_post, velog_pull_post). Descriptions are present but vary in clarity, velog_create_post has detailed context (180+ chars) explaining the safety default (is_temp=True), while velog_upload_image is minimal (80 chars). Parameter descriptions exist for all tools but lack constraint details (e.g., no guidance on file path format, image size limits, or tag count). Output schemas are not explicitly documented, tools return strings rather than structured objects, forcing LLMs to parse unstructured text. Error handling is absent from visible code; no guidance on retryability or recovery paths. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (WRITE vs READ_ONLY).
로컬 마크다운 파일을 Velog에 포스트(임시저장 또는 즉시 출간)로 등록합니다. 본문 내의 로컬 이미지(./images/...)를 자동으로 Velog CDN으로 업로드하고 치환합니다. 기본값은 임시저장(is_temp=True)으로, 실수로 즉시 출간되는 것을 막는 안전망입니다.
특정 출간 글의 본문 마크다운과 상세 정보를 조회합니다.
내가 Velog에 출간한 글 또는 임시저장된 글 목록을 조회합니다.
Velog 글을 로컬 마크다운 파일과 이미지로 백업(역다운로드)합니다.
Velog 공식 스토리지에 로컬 이미지를 업로드하고 CDN URL을 반환합니다.
Output schemas not documented. All tools return plain strings (e.g., 'velog_create_post' returns formatted text). LLMs cannot extract structured data (post_id, url, tags) for downstream chaining. Violates pattern:response-shaper.
Parameter constraints missing. 'file_path' and 'markdown_path' lack format guidance (absolute vs relative, supported extensions). 'tags' array has no length/item constraints. 'limit' in velog_list_posts has no min/max bounds. Violates pattern:constrained-input.
No tool annotations despite clear risk levels. velog_create_post (WRITE, destructive if is_temp=False) and velog_pull_post (WRITE, creates files) lack destructiveHint. velog_list_posts and velog_get_post lack readOnlyHint. Prevents agents from reasoning about side effects.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
No error handling or recovery guidance in visible code. If authentication fails, file not found, or API rate-limits, tools return raw exceptions. LLMs receive no actionable next steps. Violates pattern:recovery-guide.
Descriptions lack dependency hints. velog_create_post mentions auto-uploading local images but does not explain when to call velog_upload_image separately. velog_pull_post does not clarify prerequisites (e.g., must know url_slug). Violates pattern:tool-description.