벨로그(velog) 글 발행·수정을 MCP 도구로 노출하는 서버 / MCP server for publishing and updating velog posts
Server has 8 tools with consistent naming (verb_noun pattern: velog_*), detailed descriptions in Korean, and explicit input schemas with types and descriptions. Tool annotations (READ_ONLY, WRITE, DESTRUCTIVE) are properly declared. However, output schemas are not documented in the code, responses are shaped ad-hoc via _shape_post() helper without formal schema declarations. Error handling is present but generic (ToolError wrapping). Parameter descriptions are strong (e.g., timeout_sec with min/max), but some tools lack comprehensive validation guidance. No pagination metadata (total_count, next_cursor) visible in list tools despite accepting cursor parameter.
벨로그 글을 삭제합니다. 되돌릴 수 없으므로 confirm=True 를 명시해야 합니다.
url_slug 로 글 하나를 가져옵니다. 마크다운 본문(body)까지 포함합니다.
벨로그 글 목록을 최신순으로 가져옵니다. username 을 생략하면 VELOG_USERNAME 을 씁니다. drafts_only=True 로 내 임시저장 글만 볼 수 있습니다(인증 필요).
벨로그 시리즈 목록을 가져옵니다. username 을 생략하면 VELOG_USERNAME 을 씁니다.
벨로그 로그인 창을 열어 토큰을 발급받아 저장합니다. 토큰이 만료돼 쓰기 도구가 인증 오류를 낼 때 이 도구를 호출하면 됩니다. 벨로그에는 비밀번호 로그인이 없어 브라우저에서 사용자가 직접 인증해야 하며, 한 번 로그인하면 프로필이 저장돼 다음부터는 headless=True 로 창 없이 갱신할 수 있습니다.
로컬 마크다운 파일을 벨로그에 발행합니다. 프런트매터에 velog_post_id 가 있으면 수정, 없으면 새 글입니다.
Output schemas not formally documented. Responses are shaped via _shape_post() helper without JSON Schema declarations. LLMs cannot predict response structure or plan downstream tool calls reliably.
Pagination support incomplete. velog_list_posts accepts 'cursor' parameter but no documentation of next_cursor in response or total_count. LLMs cannot reliably iterate through large result sets.
Error messages are generic ToolError wraps. No recovery guidance (e.g., 'Try velog_login() if auth fails'). LLMs cannot self-correct or plan recovery steps.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 71 | <=2025-11-25 | v2 |
벨로그에 글을 발행하거나 수정합니다. id 를 넘기면 수정, 생략하면 새 글입니다.
현재 설정된 토큰으로 로그인되는 벨로그 계정을 확인합니다. 발행 전 인증 점검용입니다.
velog_login requires 'playwright' optional dependency but no clear error if missing. Should detect and guide user to install 'pip install velog-mcp[login]'.
velog_publish_markdown_file accepts 'file_path' as string but no validation of absolute path or existence check documented. Path traversal risk if LLM passes relative paths.