# Velog (npm · velog-mcp-claude)

Write, publish, and manage Velog (velog.io) posts, series, comments, and trends. 29 tools.

- Trust score: 91/100 (high trust)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-21

## Components

- npm · `velog-mcp-claude`: 91/100 (this document), [markdown](https://verifymcp.io/servers/seongwon030-velog/velog-mcp-claude.md), [page](https://verifymcp.io/servers/seongwon030-velog/velog-mcp-claude)

## Channel facts

- Registry: `npm`
- Package: `velog-mcp-claude`
- Version: `0.22.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-21.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 31 of 97 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 100/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to seongwon030/velog_mcp).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 21 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 81/100
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 2311 tokens (~79/item across 29 items; 29 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 73/100
  - Stability observed for 22 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "velog_publish_post" implies "publish" and declares no destructiveHint at all, which the MCP spec reads as destructive by default.
  - An AI judge read all 29 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Velog MCP server?

Velog runs locally as an npm package, launched with npx -y velog-mcp-claude. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add seongwon030-velog -- npx -y velog-mcp-claude
```

### Cursor

```json
{
  "mcpServers": {
    "seongwon030-velog": {
      "command": "npx",
      "args": [
        "-y",
        "velog-mcp-claude"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "seongwon030-velog": {
      "command": "npx",
      "args": [
        "-y",
        "velog-mcp-claude"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add seongwon030-velog -- npx -y velog-mcp-claude
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "seongwon030-velog": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "velog-mcp-claude"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add seongwon030-velog --command npx --arg -y --arg velog-mcp-claude
```

### Hermes

```yaml
mcp_servers:
  seongwon030-velog:
    command: "npx"
    args: ["-y", "velog-mcp-claude"]
```

### Netclaw

```json
{
  "McpServers": {
    "seongwon030-velog": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "velog-mcp-claude"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add seongwon030-velog -t stdio -c npx -a -y velog-mcp-claude
```

### Other

```json
{
  "mcpServers": {
    "seongwon030-velog": {
      "command": "npx",
      "args": [
        "-y",
        "velog-mcp-claude"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-21 (score 91, +1)

No change was recorded against any check on this day. Stability & Change Management went from 70 to 73. That category is still filling its 30-day observation window: 21 days of observed history at the previous scan, 22 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-19 (score 90, +1)

No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-17 (score 89, +1)

No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-15 (score 88, +1)

No change was recorded against any check on this day. Stability & Change Management went from 50 to 53. That category is still filling its 30-day observation window: 15 days of observed history at the previous scan, 16 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-12 (score 87, +1)

No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-10 (score 86, +1)

No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-08 (score 85, +1)

No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-07 (score 84, +4)

- [functional improvement] Stability: unverified → 0.27

## MCP tools (29)

### `velog_draft_post` (~158 tokens)

Velog 포스트 초안을 세션 메모리에 저장합니다. 발행 전 사용자가 검토할 수 있도록 draft_id를 반환합니다.

Input parameters:

- `body` (string, required): 마크다운 본문
- `is_private` (boolean): 비공개 여부 (기본값: false)
- `series_id` (string): 발행할 시리즈 ID (velog_list_series 또는 velog_create_series 응답에서 확인)
- `short_description` (string): 포스트 요약
- `tags` (array): 태그 목록
- `thumbnail` (string): 썸네일 이미지 URL (velog_upload_image로 업로드한 URL 또는 외부 URL)
- `title` (string, required): 포스트 제목

### `velog_publish_post` (~73 tokens)

초안(draft_id)을 Velog에 발행합니다. velog_draft_post 호출 후 사용하세요.

Input parameters:

- `draft_id` (string, required): velog_draft_post에서 반환된 draft_id
- `is_private` (boolean): 비공개 발행 여부 (초안 설정 덮어씀)

### `velog_list_posts` (~113 tokens)

Velog 포스트 목록을 가져옵니다. username을 지정하면 타 유저 포스트도 조회할 수 있습니다.

Input parameters:

- `cursor` (string): 페이지네이션 커서 (이전 응답의 next_cursor 값)
- `limit` (number): 가져올 포스트 수 (기본값: 20)
- `tag` (string): 태그 필터 (예: React, TypeScript)
- `username` (string): 조회할 유저명 (생략 시 본인 포스트)

### `velog_get_post` (~69 tokens)

특정 Velog 포스트의 전체 내용을 가져옵니다. username을 지정하면 타 유저 포스트도 조회할 수 있습니다.

Input parameters:

- `url_slug` (string, required): 포스트 URL slug
- `username` (string): 포스트 작성자 유저명 (생략 시 본인)

### `velog_update_post` (~154 tokens)

기존 Velog 포스트를 수정합니다.

Input parameters:

- `body` (string): 새 마크다운 본문
- `is_private` (boolean): 비공개 여부
- `series_id` (string): 포스트를 추가할 시리즈 ID. null을 넘기면 시리즈에서 제거. 생략하면 현재 시리즈 유지
- `short_description` (string): 새 요약
- `tags` (array): 새 태그 목록
- `thumbnail` (string): 새 썸네일 URL. null을 넘기면 썸네일 제거
- `title` (string): 새 제목
- `url_slug` (string, required): 수정할 포스트의 URL slug (예: my-post-title)

### `velog_delete_post` (~31 tokens)

Velog 포스트를 삭제합니다.

Input parameters:

- `post_id` (string, required): 삭제할 포스트 ID

### `velog_upload_image` (~76 tokens)

로컬 이미지 파일을 Velog에 업로드하고 URL을 반환합니다. 반환된 URL을 마크다운 본문에 사용하세요.

Input parameters:

- `file_path` (string, required): 업로드할 이미지 파일의 절대 경로 또는 상대 경로 (.jpg, .jpeg, .png, .gif, .webp)

### `velog_write_comment` (~71 tokens)

Velog 포스트에 댓글을 작성합니다. comment_id를 지정하면 대댓글로 작성됩니다.

Input parameters:

- `comment_id` (string): 대댓글 작성 시 부모 댓글 ID
- `text` (string, required): 댓글 내용
- `url_slug` (string, required): 댓글을 달 포스트의 URL slug

### `velog_delete_comment` (~29 tokens)

Velog 댓글을 삭제합니다.

Input parameters:

- `comment_id` (string, required): 삭제할 댓글 ID

### `velog_update_comment` (~39 tokens)

Velog 댓글 내용을 수정합니다.

Input parameters:

- `comment_id` (string, required): 수정할 댓글 ID
- `text` (string, required): 새 댓글 내용

### `velog_get_comments` (~89 tokens)

특정 Velog 포스트의 댓글 목록을 가져옵니다. 댓글 ID를 확인하여 삭제에 활용할 수 있습니다. username을 지정하면 타 유저 포스트의 댓글도 조회할 수 있습니다.

Input parameters:

- `url_slug` (string, required): 댓글을 조회할 포스트의 URL slug
- `username` (string): 포스트 작성자 유저명 (생략 시 본인)

### `velog_like_post` (~36 tokens)

Velog 포스트에 좋아요를 누릅니다.

Input parameters:

- `post_id` (string, required): 좋아요할 포스트 ID

### `velog_unlike_post` (~38 tokens)

Velog 포스트 좋아요를 취소합니다.

Input parameters:

- `post_id` (string, required): 좋아요 취소할 포스트 ID

### `velog_search_posts` (~65 tokens)

Velog 포스트를 키워드로 검색합니다. username을 지정하면 특정 유저의 포스트만 검색합니다.

Input parameters:

- `keyword` (string, required): 검색 키워드
- `username` (string): 검색할 유저 이름 (생략 시 전체 검색)

### `velog_get_trending` (~82 tokens)

Velog 트렌딩 포스트 목록을 가져옵니다. timeframe으로 기간을 지정할 수 있습니다.

Input parameters:

- `limit` (number): 가져올 수 (기본값: 20)
- `offset` (number): 오프셋 (기본값: 0)
- `timeframe` (string): 기간 (기본값: week)

### `velog_trend_report` (~102 tokens)

Velog 트렌딩 포스트를 분석하여 최근 개발 동향 리포트 데이터를 반환합니다. 각 포스트의 태그, 요약, 좋아요/댓글 수를 포함하며 Claude가 이를 분석해 트렌드 문서를 작성합니다.

Input parameters:

- `limit` (number): 분석할 포스트 수 (기본값: 20, 최대: 40)
- `timeframe` (string): 분석 기간 (기본값: week)

### `velog_get_notifications` (~63 tokens)

내 Velog 알림 목록을 가져옵니다. 좋아요·댓글·팔로우 알림과 읽지 않은 알림 수를 반환합니다.

Input parameters:

- `mark_as_read` (boolean): 조회 후 읽음 처리 여부 (기본값: false)

### `velog_get_reading_list` (~67 tokens)

내 Velog 읽을 목록(북마크)을 가져옵니다. 저장한 포스트 목록을 반환합니다.

Input parameters:

- `type` (string): 목록 유형: READ(읽을 목록) / LIKED(좋아요 목록) (기본값: READ)

### `velog_get_rss` (~56 tokens)

특정 Velog 유저의 RSS 피드를 가져옵니다. 인증 없이 최신 포스트 목록을 조회할 수 있습니다.

Input parameters:

- `username` (string, required): 조회할 Velog 유저명 (예: velopert)

### `velog_list_tags` (~27 tokens)

내 Velog 태그 목록과 태그별 포스트 수를 조회합니다.

### `velog_list_temp_posts` (~25 tokens)

Velog 임시저장 포스트 목록을 가져옵니다.

### `velog_list_series` (~20 tokens)

내 Velog 시리즈 목록을 조회합니다.

### `velog_create_series` (~59 tokens)

새 Velog 시리즈를 생성합니다.

Input parameters:

- `description` (string): 시리즈 설명
- `name` (string, required): 시리즈 이름
- `url_slug` (string): 시리즈 URL slug (생략 시 이름으로 자동 생성)

### `velog_update_series` (~66 tokens)

Velog 시리즈의 이름 또는 URL slug를 수정합니다.

Input parameters:

- `name` (string, required): 새 시리즈 이름
- `series_id` (string, required): 수정할 시리즈 ID
- `url_slug` (string): 새 URL slug (생략 시 이름으로 자동 생성)

### `velog_append_to_series` (~78 tokens)

포스트를 시리즈에 추가합니다. post_id는 velog_publish_post 또는 velog_list_posts 응답에서 확인할 수 있습니다.

Input parameters:

- `post_id` (string, required): 추가할 포스트 ID
- `series_id` (string, required): 시리즈 ID (velog_list_series 또는 velog_create_series 응답에서 확인)

### `velog_delete_series` (~41 tokens)

Velog 시리즈를 삭제합니다. 시리즈 내 포스트는 삭제되지 않습니다.

Input parameters:

- `series_id` (string, required): 삭제할 시리즈 ID

### `velog_topic_research` (~161 tokens)

Velog 트렌딩 포스트를 분석해 내가 아직 쓰지 않은 인기 주제(gap)를 찾아줍니다. 트렌딩 태그 빈도와 내 포스트 태그 이력을 교차분석해 주제 발굴에 활용하세요.

Input parameters:

- `compare_with_my_posts` (boolean): 내 포스트 태그와 비교해 gap 분석 포함 여부 (기본값: true)
- `focus_tags` (array): 관심 태그 필터 — 지정하면 해당 태그만 분석 (생략 시 전체)
- `limit` (number): 분석할 트렌딩 포스트 수 (기본값: 15, 최대: 20)
- `timeframe` (string): 분석 기간 (기본값: week)

### `velog_import_from_github` (~190 tokens)

GitHub 블로그 저장소의 마크다운 파일을 Velog 초안으로 가져옵니다. Jekyll/Hugo/기타 정적 블로그의 _posts 폴더를 지원합니다. dry_run: true로 먼저 미리보기를 확인하세요.

Input parameters:

- `branch` (string): 브랜치명 (기본값: main)
- `dry_run` (boolean): true이면 초안을 생성하지 않고 파싱 결과만 미리 보여줍니다 (기본값: false)
- `github_token` (string): Private 저장소 접근 또는 API 한도 초과 시 GitHub Personal Access Token
- `path` (string): 마크다운 파일이 있는 폴더 경로 (예: _posts, content/posts). 생략 시 루트
- `repo` (string, required): GitHub 저장소 (예: octocat/my-blog)

### `velog_git_to_post` (~233 tokens)

git 커밋 이력과 diff를 분석해 Velog 블로그 초안용 컨텍스트를 반환합니다. 코딩 후 '오늘 작업한 거 블로그에 올려줘'라고 하면 자동으로 커밋 내역과 변경 코드를 수집해 Claude가 초안을 작성할 수 있도록 합니다.

Input parameters:

- `commits` (number): 분석할 최근 커밋 수 (기본값: 5). since 파라미터가 있으면 무시됩니다.
- `include_diff` (boolean): 실제 코드 diff 포함 여부 (기본값: true)
- `max_diff_lines` (number): diff_excerpt 최대 라인 수 (기본값: 200)
- `repo_path` (string): git 레포 경로 (기본값: 현재 디렉터리 '.')
- `since` (string): 특정 커밋 해시 또는 'HEAD~10' 이후의 커밋을 분석. 제공 시 commits 무시.
- `tags` (array): 블로그 태그 힌트. 생략 시 변경 파일 확장자로 자동 추정.

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/seongwon030-velog/velog-mcp-claude#diagnostics

## Score history

- 2026-09-21: 91
- 2026-09-20: 90
- 2026-09-19: 90
- 2026-09-18: 89
- 2026-09-17: 89
- 2026-09-16: 88
- 2026-09-15: 88
- 2026-09-14: 87
- 2026-09-13: 87
- 2026-09-12: 87
- 2026-09-11: 86
- 2026-09-10: 86
- 2026-09-09: 85
- 2026-09-08: 85
- 2026-09-07: 84
- 2026-09-06: 80
- 2026-09-05: 80
- 2026-09-04: 80
- 2026-09-03: 80
- 2026-09-02: 80
- 2026-09-01: 80
- 2026-08-31: 80
- 2026-08-30: 65

## Common questions

### What is the Velog MCP server?

Velog is an MCP server listed in the public MCP registry as io.github.seongwon030/velog. Write, publish, and manage Velog (velog.io) posts, series, comments, and trends. 29 tools. This page covers its npm package (velog-mcp-claude).

### Is the Velog MCP server safe to use?

Velog scores 91 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 21 September 2026. It declares no install or post-install scripts. Its build provenance is signed and verified. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Velog MCP server expose?

Velog exposes 29 tools: velog_draft_post, velog_publish_post, velog_list_posts, velog_get_post, velog_update_post, and 24 more. Their descriptions and schemas cost roughly 2,311 tokens of context every time the server is loaded.

### Is the Velog MCP server still maintained?

Velog is still listed as active in the MCP registry. We last reached this channel on 21 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the Velog MCP server under?

Velog declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/velog-mcp-claude
- Socket report: https://socket.dev/npm/package/velog-mcp-claude
- Repository: https://github.com/seongwon030/velog_mcp
- Website: https://www.npmjs.com/package/velog-mcp-claude
- Changelog RSS feed: https://verifymcp.io/servers/seongwon030-velog/velog-mcp-claude.xml
- Changelog JSON feed: https://verifymcp.io/servers/seongwon030-velog/velog-mcp-claude.json
- HTML version of this page: https://verifymcp.io/servers/seongwon030-velog/velog-mcp-claude
