Velog
NPM · @MILCHO0604/VELOG-MCP · SCANNED SEP 21
Claude 나 Codex 에서 벨로그(velog.io) 글을 읽고 쓰고 백업한다. 다이어그램과 시퀀스도 그린다. 공개 발행은 사람이 켤 때만 열린다.
Available components
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. How we score → Why this is hard to score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 31 of 95 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency100
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to milcho0604/velog-mcp). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 3 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability63
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 5171 tokens (~224/item across 23 items; 23 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management97
- Stability observed for 29 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage91
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 72% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 2 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 24 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Velog MCP server?
Velog runs locally as an npm package, launched with npx -y @milcho0604/velog-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
npm · @milcho0604/velog-mcp
claude mcp add milcho0604-velog -- npx -y @milcho0604/velog-mcp
{
"mcpServers": {
"milcho0604-velog": {
"command": "npx",
"args": [
"-y",
"@milcho0604/velog-mcp"
]
}
}
} {
"servers": {
"milcho0604-velog": {
"command": "npx",
"args": [
"-y",
"@milcho0604/velog-mcp"
]
}
}
} codex mcp add milcho0604-velog -- npx -y @milcho0604/velog-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"milcho0604-velog": {
"type": "local",
"command": [
"npx",
"-y",
"@milcho0604/velog-mcp"
],
"enabled": true
}
}
} openclaw mcp add milcho0604-velog --command npx --arg -y --arg @milcho0604/velog-mcp
mcp_servers:
milcho0604-velog:
command: "npx"
args: ["-y", "@milcho0604/velog-mcp"] {
"McpServers": {
"milcho0604-velog": {
"Transport": "stdio",
"Command": "npx",
"Arguments": [
"-y",
"@milcho0604/velog-mcp"
]
}
}
} assistant mcp add milcho0604-velog -t stdio -c npx -a -y @milcho0604/velog-mcp
{
"mcpServers": {
"milcho0604-velog": {
"command": "npx",
"args": [
"-y",
"@milcho0604/velog-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 21 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 +6
- Stability: 0.83 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Source repository: fail → pass ▲ security
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- Package version: 0.9.3 → 0.9.5 functional
- 17 Sept 26 +20
- Known CVEs: pass → unverified ▼ security
- Stability: 0.80 → unverified ▼ security
- Tool safety: pass → unverified ▼ security
- Source repository: pass → fail ▼ security
- Malware scan: unverified → pass ▲ security
- Provenance: fail → pass ▲ security
- The attested source repository moved: milcho0604/velog-mcp security
- Dependency health: 0.85 → unverified ▼ functional
- Capabilities: pass → unverified ▼ functional
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- Package version: 0.9.0 → 0.9.3 functional
- Package version: 0.9.0 → 0.9.2 functional
- Package version: 0.9.0 → 0.9.1 functional
- 16 Sept 26 −14
- Malware scan: pass → unverified ▼ security
- Schema quality: good → excellent functional
- Package version: 0.8.10 → 0.9.0 functional
- 14 Sept 26 +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.
- 12 Sept 26 +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.
- 10 Sept 26 +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.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 21 Sept 2026 · Analysed npm/@milcho0604/velog-mcp@0.9.5
Provenance Verified
A signed build attestation was found and verified, binding this exact artifact to the source repository it claims to come from.
| Result | Verified |
|---|---|
| Ecosystem | npm |
| Reason | Verified |
| Discovered via | Registry attestation endpoint |
| Source repo | milcho0604/velog-mcp |
| Certificate issuer | https://token.actions.githubusercontent.com |
| Certificate SAN | https://github.com/milcho0604/velog-mcp/.github/workflows/publish.yml@refs/tags/v0.9.5 |
| Rekor log index | 2881542171 |
| Predicate type | https://slsa.dev/provenance/v1 |
| Subject digest | sha512:a4068a1e3be1f7ece9cb0e88055f17d52304e9eeba22d77eff2547329ed894f54828a20377820ed108a0c5e70a49947f974fd35da9c331cc7321a0bd2 |
Background: How many MCP packages publish verified provenance →
Dependencies 95 packages
| Packages resolved | 95 |
|---|---|
| Stale | 31 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
velog_blog_stats 블로그 통계 ~141
한 사용자의 글 전체를 긁어 조회수·좋아요·댓글을 집계한다. 연도별·태그별 분포와 상위 글 순위를 함께 낸다. 벨로그에 없는 화면이라 직접 계산한다. 글이 많으면 여러 번 요청하므로 몇 초 걸릴 수 있다.
| Name | Type | Req | Description |
|---|---|---|---|
| max_pages | integer | – | 최대 페이지 수 (1페이지=50편). 과도한 요청 방지용 상한 |
| top | integer | – | 상위 몇 편까지 보여줄지 |
| username | string | – | @ 없이. 생략하면 인증된 내 계정을 쓴다 |
No output schema declared.
No examples provided.
velog_create_draft 벨로그 초안 작성 ~431
벨로그에 임시저장 글(초안)을 만든다. 발행되지 않으며 작성자 본인만 볼 수 있다. 이 도구는 어떤 설정에서도 발행하지 않는다 — 발행하려면 velog_publish_draft 를 따로 부를 것. body 는 마크다운으로 쓴다.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | 본문 (마크다운). 문체: 사람이 쓴 글처럼 자연스럽게. 긴 줄표(—)와 가운뎃점(·)을 쓰지 말고 쉼표나 마침표로 끊을 것. "**하나.** ... **둘.**" 식 볼드 번호 나열 금지(산문이나 평범한 불릿으로). 문단은 2~3문장으로 짧게, 200자가 넘으면 쪼갠다. "이 글의 한계" 같은 부록 절을 만들지 말고 해당 문단 자리에 한 문장으로 녹일… |
| series_id | string | – | 소속시킬 시리즈 id. 벨로그가 임시저장 생성 단계에서 이걸 버리므로 이 도구가 저장 직후 한 번 더 붙이고, 붙었는지 확인해 결과에 적는다. 생략하면 결과에 내 시리즈 목록을 함께 돌려준다 |
| series_name | string | – | 시리즈 **이름**(id 대신). 저장 전에 내 시리즈에서 찾는다. 못 찾으면 저장하지 않고 목록을 알려준다 |
| tags | array | – | 태그 목록 |
| thumbnail | – | – | 썸네일 이미지 URL (http/https). 생략하면 본문 첫 이미지로 자동 설정한다. 자동 설정을 원하지 않으면 null 을 준다 |
| title | string | yes | 글 제목. 긴 줄표(—) 금지. 부제는 콜론이나 괄호, 짧은 하이픈으로. |
| url_slug | string | – | 생략하면 제목에서 생성 |
No output schema declared.
No examples provided.
velog_diagnose 벨로그 스키마 점검 ~89
지금 벨로그 GraphQL 스키마가 이 서버가 만들어질 때의 기준선과 같은지 대조한다. 도구가 이유 없이 실패하거나 응답 모양이 이상할 때 원인을 가르는 1차 진단이다. 벨로그는 비공식 API 라 예고 없이 바뀐다. 읽기 전용이고 인증이 필요 없다.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
velog_export_posts 글 마크다운 백업 ~281
한 사용자의 벨로그 글을 프론트매터가 붙은 마크다운 파일로 로컬에 저장한다. 벨로그에 공식 내보내기가 없어서 만든 기능이다. 파일 이름은 `슬러그--글id.md` 다 — 글마다 한 곳으로 정해지므로 같은 글을 다시 받으면 그 파일만 덮어쓴다. 글 본문을 한 편씩 받아오므로 글이 많으면 시간이 걸린다.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | 내보낼 최대 글 수 |
| out_dir | string | yes | 저장할 디렉터리 (절대경로 권장). 없으면 만든다 |
| skip_existing | boolean | – | out_dir 에 **이미 내보낸 글**은 건너뛴다. 파일 이름에 글 id 가 들어 있어 그 이름의 파일이 읽을 수 있는 일반 파일이고 비어 있지 않으면 «받았다» 로 본다 (내용은 읽지 않는다). 예산·취소로 멈췄을 때 같은 인자에 이것만 켜서 다시 부르면 남은 글부터 이어간다. 이름 규칙이 다른 옛 백업은 다시 받는다 |
| username | string | – | @ 없이. 생략하면 인증된 내 계정을 쓴다 |
No output schema declared.
No examples provided.
velog_get_post 벨로그 글 읽기 ~113
벨로그 글 하나를 본문까지 읽어온다. username + url_slug 조합이나 글 id 로 지정한다. 예: https://velog.io/@velopert/react-context-tutorial → username="velopert", url_slug="react-context-tutorial"
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | – | 글 UUID. 이걸 주면 username/url_slug 는 불필요 |
| url_slug | string | – | URL 마지막 조각 |
| username | string | – | @ 없이. 예: "velopert" |
No output schema declared.
No examples provided.
velog_get_user 벨로그 사용자 정보 ~35
벨로그 사용자의 프로필과 팔로워 수를 조회한다.
| Name | Type | Req | Description |
|---|---|---|---|
| username | string | yes | @ 없이 |
No output schema declared.
No examples provided.
velog_list_drafts 내 초안 목록 ~71
내 임시저장 글 목록. 초안을 이어 쓰거나 수정하기 전에 id 를 여기서 확인한다.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| username | string | – | 생략하면 토큰의 계정을 쓴다. 남의 초안은 어차피 안 보인다 |
No output schema declared.
No examples provided.
velog_list_posts 벨로그 글 목록 ~95
특정 사용자의 글 목록을 최신순으로 가져온다. tag 로 좁힐 수 있다. cursor 에 직전 응답의 마지막 글 id 를 주면 다음 페이지를 읽는다.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | 이전 페이지 마지막 글의 id |
| limit | integer | – | – |
| tag | string | – | 이 태그가 달린 글만 |
| username | string | yes | @ 없이 |
No output schema declared.
No examples provided.
velog_list_series 시리즈 목록 ~68
사용자의 연재 시리즈 목록. 각 시리즈에 글이 몇 편인지 함께 준다. 초안을 특정 시리즈에 넣으려면 여기서 얻은 id 를 velog_create_draft 의 series_id 에 준다.
| Name | Type | Req | Description |
|---|---|---|---|
| username | string | yes | @ 없이 |
No output schema declared.
No examples provided.
velog_publish_draft 초안 발행 ~87
기존 임시저장 글을 발행한다. 본문은 저장된 내용을 그대로 쓴다 — 다시 넘길 필요가 없다. 현재 설정에서는 **비공개로만** 발행된다 (공개 발행은 VELOG_ALLOW_PUBLIC=1 이 필요하다).
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | 초안 id (velog_list_drafts 로 확인) |
No output schema declared.
No examples provided.
velog_publish_post 벨로그 글 발행 ~378
새 글을 바로 발행한다. 초안을 거치지 않는다. 현재 설정에서는 **비공개로만** 발행된다 (공개 발행은 VELOG_ALLOW_PUBLIC=1 이 필요하다). 되돌리려면 velog_unpublish_post 로 초안으로 내릴 수 있다.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | 본문 (마크다운). 문체: 사람이 쓴 글처럼 자연스럽게. 긴 줄표(—)와 가운뎃점(·)을 쓰지 말고 쉼표나 마침표로 끊을 것. "**하나.** ... **둘.**" 식 볼드 번호 나열 금지(산문이나 평범한 불릿으로). 문단은 2~3문장으로 짧게, 200자가 넘으면 쪼갠다. "이 글의 한계" 같은 부록 절을 만들지 말고 해당 문단 자리에 한 문장으로 녹일… |
| series_id | string | – | – |
| series_name | string | – | 시리즈 **이름**(id 대신). 저장 전에 내 시리즈에서 찾아 같은 요청에 실어 보낸다 — 한 번의 호출로 시리즈까지 붙는다. 못 찾으면 저장하지 않고 목록을 알려준다 |
| tags | array | – | – |
| thumbnail | – | – | 썸네일 이미지 URL (http/https). 생략하면 본문 첫 이미지로 자동 설정한다. 자동 설정을 원하지 않으면 null 을 준다 |
| title | string | yes | 글 제목. 긴 줄표(—) 금지. 부제는 콜론이나 괄호, 짧은 하이픈으로. |
| url_slug | string | – | 생략하면 제목에서 생성 |
No output schema declared.
No examples provided.
velog_recent_posts 벨로그 최신 글 ~50
벨로그 전체 최신 글. 지금 무슨 글이 올라오는지 훑을 때.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | 이전 페이지 마지막 글의 id |
| limit | integer | – | – |
No output schema declared.
No examples provided.
velog_render_cover 글 표지 만들기 ~168
글 목록·SNS 미리보기에 쓸 표지 이미지(1200×630)를 만든다. 제목이 길면 줄바꿈하고, 그래도 안 들어가면 글자 크기를 줄인다 — 전부 실측 기준이다. 만든 뒤 velog_update_post 의 thumbnail 에 돌려받은 주소를 넣으면 표지가 된다.
| Name | Type | Req | Description |
|---|---|---|---|
| footer | string | – | 우상단 서명 (예: '@milcho0604') |
| kicker | string | – | 상단 작은 라벨 (예: '디버깅 기록') |
| post_id | string | – | – |
| subtitle | string | – | – |
| tags | array | – | – |
| title | string | yes | – |
| tone | string | – | – |
| upload | boolean | – | – |
No output schema declared.
No examples provided.
velog_render_diagram 다이어그램 그리기 ~560
구성도·흐름도를 그려 PNG 로 만들고 벨로그에 올린다. 본문에 붙일 마크다운을 돌려준다. 좌표만 주면 나머지는 렌더러가 맞춘다 — 노드 폭·캔버스 크기·선 꺾임·라벨 위치는 브라우저 실측으로 정해지고, 글자 삐져나옴/선 관통/선끼리 교차와 겹침/살짝 어긋난 줄은 자가감사가 잡는다. 감사에 걸리면 **올리지 않고** 무엇이 문제인지 알려준다. 이 판단은 끌 수 없고, 감사에 걸린 산출물은 velog_upload_image 로도 받지 않는다. 고쳐서 다시 그릴 것. **밋밋하게 나오면 입력이 밋밋한 것이다.** 사람 손 그림처럼 보이게 하는 셋: 노드마다 icon 과 tag(포트·버전·역할), 관련 노드는 groups 로 묶기, 흐름 종류가 둘 이상이면 planes 로 색 가르기. 나란한 노드는 y 를 맞추면 선이 곧게 나간다. **배치를 먼저 설계한다.** 카드는 격자(행 간격 200 안팎)에 두고, 옆으로 나란하면 y 를 같게, 어긋낼 거면 카드 높이 이상 어긋낸다. 한 면에는 나가는 선만 또는 들어오는 선만 둔다. 감사를 피하려고 points·label_at 을 쓰지 않는다(끝이 허공에 뜨거나 라벨이 선에서 떨어지면 감사가 잡는다). 걸리면 카드 자리를 고친다. 아이콘: 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
| Name | Type | Req | Description |
|---|---|---|---|
| alt | string | – | 이미지 대체 텍스트 |
| edges | array | – | – |
| groups | array | – | – |
| legend | boolean | – | – |
| nodes | array | yes | – |
| planes | array | – | 흐름 종류. 생략하면 요청/외부 호출/데이터/관측 4종 |
| post_id | string | – | 붙일 글 id. 주면 벨로그가 내 글인지 확인한 뒤 받는다 |
| subtitle | string | – | 한 줄 설명·근거 |
| title | string | yes | 그림 제목 (좌상단) |
| upload | boolean | – | – |
No output schema declared.
No examples provided.
velog_render_sequence 시퀀스 다이어그램 그리기 ~691
참가자와 순서 있는 메시지로 시퀀스 다이어그램을 그려 PNG 로 만들고 벨로그에 올린다. **좌표를 받지 않는다** — 열 간격, 행 높이, 활성 막대, 묶음 상자를 전부 렌더러가 실측으로 정한다. 라벨이 안 들어가면 글자를 줄이는 게 아니라 그 구간을 넓히고, 길면 접고, 접힌 만큼 행을 높인다. 메시지는 배열 순서가 곧 시간 순서다. 중간에 하나를 끼워 넣어도 아래가 알아서 밀린다. 구성도나 흐름도(시간 축이 없는 그림)는 velog_render_diagram 을 쓸 것. **깔끔하게 나오는 건 레이아웃이 아니라 입력이 정한다.** 세로 길이를 지배하는 셋: - `call` 에는 짝이 되는 `return` 을 붙인다. 안 닫힌 활성 막대는 계단처럼 겹쳐 쌓인다. - `note` 는 한 줄로 쓴다. 접힌 줄 수만큼 그 행이 통째로 높아진다. - 구분 기호(& ? = / , ; |)가 있는 긴 라벨은 렌더러가 그 뒤에서 끊는다. 그런 기호가 없는 긴 한글 토큰만 직접 끊어주면 된다. ⚠️ **자가감사 통과는 「보기 좋다」가 아니다.** 감사는 기하만 본다 — 삐져나옴, 겹침, 관통, 상자 범위. 쌓인 막대도 어색한 줄바꿈도 통과시킨다. 감사에 걸리면 **올리지 않고** 무엇이 문제인지 알려준다. 이 판단은 끌 수 없고, 감사에 걸린 산출물은 velog_upload_image 로도 받지 않는다. 종류: call async return note 아이콘: 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
| Name | Type | Req | Description |
|---|---|---|---|
| activations | boolean | – | call/return 짝에서 활성 막대를 뽑아 그린다 |
| alt | string | – | 이미지 대체 텍스트 |
| fragments | array | – | alt·opt·loop 묶음 상자. 서로 완전히 포개거나 완전히 떨어져야 한다 |
| legend | boolean | – | – |
| messages | array | yes | 배열 순서가 시간 순서다. call 마다 짝이 되는 return 을 넣어야 활성 막대가 닫힌다 |
| numbers | boolean | – | 메시지 앞에 1. 2. 3. 을 붙인다 |
| participants | array | yes | 왼쪽부터 순서대로 세로 열이 된다 |
| post_id | string | – | 붙일 글 id. 주면 벨로그가 내 글인지 확인한 뒤 받는다 |
| subtitle | string | – | 한 줄 설명·근거 |
| title | string | yes | 그림 제목 (좌상단) |
| upload | boolean | – | – |
No output schema declared.
No examples provided.
velog_search_posts 벨로그 글 검색 ~97
키워드로 벨로그 전체를 검색한다. username 을 주면 그 사람 글 안에서만 찾는다 — "내가 예전에 쓴 그 글" 을 찾을 때 이 조합을 쓴다.
| Name | Type | Req | Description |
|---|---|---|---|
| keyword | string | yes | 검색어 |
| limit | integer | – | – |
| offset | integer | – | 페이지네이션 |
| username | string | – | 이 사용자의 글로 한정 |
No output schema declared.
No examples provided.
velog_trending_posts 벨로그 트렌딩 ~350
벨로그 전체에서 지금 많이 읽히는 글. 기간(day/week/month/year)을 골라 본다. 내 글이 아니라 벨로그 전체 순위다. 무엇이 반응을 얻는지, 어떤 주제가 도는지 볼 때 쓴다. 특정 사용자의 글은 velog_list_posts, 검색은 velog_search_posts 를 쓴다. year 기간은 벨로그가 limit>20 이면 빈 결과를 주므로 20 으로 낮추고, offset 도 1000 까지만 받는다. 조정하면 응답 notes 에 적어 준다. 인증 불필요.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | 가져올 글 수 (1~50, 기본 20). year 기간은 20 을 넘기면 벨로그가 빈 결과를 주어 20 으로 낮춘다 |
| offset | integer | – | 건너뛸 글 수. 다음 페이지는 **실제로 적용된 limit** 만큼 더한다 — day·week·month 는 준 값 그대로, year 는 `min(limit, 20)` 이다. year 에서 20 을 넘겨 주면 20 으로 낮춰지므로 그때는 20씩 더해야 사이가 안 빈다. year 의 offset 상한은 1000 이고, 넘기면 1000 으로 낮춰져 같은 페이… |
| timeframe | string | – | 집계 기간. day=오늘, week=이번 주(기본), month=이번 달, year=올해 |
No output schema declared.
No examples provided.
velog_unpublish_post 발행 취소 (초안으로 되돌리기) ~80
발행된 글을 임시저장으로 되돌린다. 글은 사라지지 않고 초안 목록으로 간다. ★ 이미 나간 RSS·구독 메일은 회수되지 않는다 — 검색엔진 캐시도 한동안 남는다.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | 발행된 글의 id |
No output schema declared.
No examples provided.
velog_update_draft 벨로그 초안 수정 ~446
기존 초안을 **통째로 교체**한다. 부분 수정이 아니다. 생략한 필드는 유지되지 않고 초기화된다 — tags 를 안 주면 기존 태그가 전부 지워지고, url_slug 를 안 주면 제목에서 새로 만들어 주소가 바뀌며, series_id 를 안 주면 기존 시리즈 연결이 끊긴다. 그래서 수정 전에 velog_get_post 로 현재 값을 읽어 바꾸지 않을 필드도 그대로 다시 넘기는 것을 권한다. 발행된 글의 id 는 거부한다(비공개로 내려가는 사고 방지).
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | yes | 본문 전체 (마크다운). 부분 수정이 아니라 교체다. 문체: 사람이 쓴 글처럼 자연스럽게. 긴 줄표(—)와 가운뎃점(·)을 쓰지 말고 쉼표나 마침표로 끊을 것. "**하나.** ... **둘.**" 식 볼드 번호 나열 금지(산문이나 평범한 불릿으로). 문단은 2~3문장으로 짧게, 200자가 넘으면 쪼갠다. "이 글의 한계" 같은 부록 절을 만들지 말고 해… |
| id | string | yes | 초안의 id (velog_list_drafts 로 확인) |
| series_id | string | – | – |
| series_name | string | – | 시리즈 **이름**(id 대신). 저장 전에 내 시리즈에서 찾는다. 못 찾으면 저장하지 않고 목록을 알려준다 |
| tags | array | – | – |
| thumbnail | – | – | 썸네일 이미지 URL (http/https). 생략하면 본문 첫 이미지로 자동 설정한다. 자동 설정을 원하지 않으면 null 을 준다 |
| title | string | yes | 글 제목. 긴 줄표(—) 금지. 부제는 콜론이나 괄호, 짧은 하이픈으로. |
| url_slug | string | – | – |
No output schema declared.
No examples provided.
velog_update_post 발행글 수정 ~443
이미 발행된 글을 수정한다. 발행 상태(is_temp:false)는 유지된다. 생략한 필드는 **기존 값을 그대로 유지**한다 — 초안 도구와 달리 전체 교체가 아니다. 초안 id 는 거부한다(초안 수정은 velog_update_draft). 현재 설정에서는 공개 범위를 바꿀 수단이 없다 — 공개 글은 공개로, 비공개 글은 비공개로 그대로 남는다. 범위를 바꾸려면 VELOG_ALLOW_PUBLIC=1 이 필요하다.
| Name | Type | Req | Description |
|---|---|---|---|
| body | string | – | 생략하면 기존 본문 유지. 문체: 사람이 쓴 글처럼 자연스럽게. 긴 줄표(—)와 가운뎃점(·)을 쓰지 말고 쉼표나 마침표로 끊을 것. "**하나.** ... **둘.**" 식 볼드 번호 나열 금지(산문이나 평범한 불릿으로). 문단은 2~3문장으로 짧게, 200자가 넘으면 쪼갠다. "이 글의 한계" 같은 부록 절을 만들지 말고 해당 문단 자리에 한 문장으로… |
| id | string | yes | – |
| series_id | string | – | – |
| series_name | string | – | 시리즈 **이름**(id 대신). 저장 전에 내 시리즈에서 찾아 같은 요청에 실어 보낸다 — 한 번의 호출로 시리즈까지 붙는다. 못 찾으면 저장하지 않고 목록을 알려준다 |
| tags | array | – | 생략하면 기존 태그 유지 |
| thumbnail | – | – | 썸네일 이미지 URL (http/https). 생략하면 본문 첫 이미지로 자동 설정한다. 자동 설정을 원하지 않으면 null 을 준다 |
| title | string | – | 글 제목. 긴 줄표(—) 금지. 부제는 콜론이나 괄호, 짧은 하이픈으로. |
| url_slug | string | – | 생략하면 기존 주소 유지 |
No output schema declared.
No examples provided.
velog_upload_image 이미지 올리기 ~169
로컬 이미지 파일을 벨로그에 올리고 본문용 마크다운을 돌려준다. PNG·JPEG·GIF·WebP 만 받으며, 확장자가 아니라 **파일 내용**으로 판정한다. ⚠️ 올라간 주소는 공개다 — 주소를 아는 사람은 누구나 볼 수 있고, 벨로그에는 이미지 삭제 API 가 없다. 올리기 전에 무슨 파일인지 확인하라.
| Name | Type | Req | Description |
|---|---|---|---|
| alt | string | – | – |
| path | string | yes | 로컬 파일 경로 |
| post_id | string | – | 붙일 글 id (서버가 소유권을 확인한다) |
| type | string | – | profile 은 프로필 사진용 분류일 뿐 — 사진 교체는 velog_update_profile_image |
No output schema declared.
No examples provided.
velog_user_tags 사용자 태그 목록 ~61
사용자가 쓴 태그와 각 태그의 글 수. "이 사람이 뭘 주로 쓰나"를 가장 싸게 파악하는 방법이다.
| Name | Type | Req | Description |
|---|---|---|---|
| top | integer | – | – |
| username | string | yes | @ 없이 |
No output schema declared.
No examples provided.
velog_whoami 내 계정 확인 ~57
현재 토큰으로 인증된 계정을 확인한다. 토큰이 살아있는지 점검하는 용도로도 쓴다. 다른 도구에서 username 을 생략하면 여기서 얻는 계정을 쓴다.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
What is the Velog MCP server?
Velog is an MCP server listed in the public MCP registry as io.github.milcho0604/velog. Claude 나 Codex 에서 벨로그(velog.io) 글을 읽고 쓰고 백업한다. 다이어그램과 시퀀스도 그린다. 공개 발행은 사람이 켤 때만 열린다. This page covers its npm package (@milcho0604/velog-mcp).
Is the Velog MCP server safe to use?
Velog scores 92 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 23 tools: velog_get_post, velog_list_posts, velog_search_posts, velog_trending_posts, velog_recent_posts, and 18 more. Their descriptions and schemas cost roughly 4,961 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.