velog-mcp
Allows publishing and saving Markdown posts as drafts on Velog, with automatic local image upload and rewriting to Velog's CDN, plus listing, fetching, and backing up posts.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@velog-mcpPublish my local markdown file as a draft on Velog"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
velog-mcp
A Python-based MCP (Model Context Protocol) Server & CLI that lets you publish, save-as-draft, and back up local Markdown posts — including their local images — to Velog with a single command or tool call.
Why velog-mcp?
Most existing Velog integrations only forward raw text and silently drop
local images. velog-mcp parses Markdown image references
() in your post, automatically uploads each local
image via Velog's v3 storage API
(https://v3.velog.io/api/files/v3/upload), and rewrites the links to the
official Velog CDN (https://velog.velcdn.com/...) before the post is
written.
Local image auto-upload & rewrite — the core differentiator: no more broken image links.
Thumbnail upload support out of the box.
Draft-by-default safety net — posts are saved as a draft (
is_temp=True) unless you explicitly pass--public/is_temp=False.SHA-256 image cache — the same image referenced multiple times (or reused across posts in one run) is only uploaded once.
Two-way backup (pull) — download your published or draft posts back into local Markdown + images.
Related MCP server: velog-mcp
Installation
# Run instantly without installing (recommended)
uvx velog-mcp
# Or install into your environment
pip install velog-mcpAuthentication
velog-mcp needs your Velog access_token cookie value. It is resolved in
this order:
Environment variable
VELOG_ACCESS_TOKEN~/.hermes/velog_token.txt~/.velog/token
To obtain the token: log in to velog.io in your browser,
open DevTools → Application/Storage → Cookies, and copy the value of the
access_token cookie.
mkdir -p ~/.velog
echo "your-access-token" > ~/.velog/tokenVerify it works:
velog-mcp auth-checkCLI Usage
# Save as draft (default, safe)
velog-mcp publish ./post.md --tags python,mcp
# Publish immediately
velog-mcp publish ./post.md --tags python,mcp --public
# With a thumbnail, skip local image upload
velog-mcp publish ./post.md --thumbnail ./cover.png --no-upload-images
# List your posts
velog-mcp list --limit 20
velog-mcp list --temp
# Back up a post (Markdown + images) locally
velog-mcp pull my-post-slug --output ./backupRunning velog-mcp with no subcommand starts the MCP stdio server (same as
velog-mcp serve).
MCP Server (Claude Desktop, etc.)
Add to your Claude Desktop claude_desktop_config.json:
{
"mcpServers": {
"velog": {
"command": "uvx",
"args": ["velog-mcp"],
"env": {
"VELOG_ACCESS_TOKEN": "your-access-token"
}
}
}
}Available MCP tools:
Tool | Description |
| Upload a local image to Velog's CDN, returns the URL |
| Publish/draft a local Markdown file, auto-uploading local images |
| List your published or draft posts |
| Fetch a published post's full Markdown body |
| Back up a post to local Markdown + images |
Development
uv venv .venv
uv pip install -e ".[dev]"
.venv/bin/pytest -qLicense
MIT — see LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Publish and manage articles, series, comments, reactions, newsletters and blog analytics.
Generate, render, and host Slidev presentations from markdown
Publish to self-hosted WordPress from AI agents: markdown, images, SEO, and Notion sync.
Create, update, and publish changelog entries on your Patchlog changelog from any MCP client.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables publishing Markdown blog posts to cnblogs.com via MCP protocol using natural language.3-
- AlicenseAqualityCmaintenanceEnables AI assistants to read, search, and write Velog blog posts. Supports post management, trending, and series/profile retrieval.107 npm7MIT
- AlicenseAqualityAmaintenanceEnables publishing local Markdown files to Velog with idempotent updates. Supports login, post management, and series operations through natural language.10MIT
- AlicenseNot gradedqualityBmaintenanceProvides tools to manage a Supabase-backed engineering blog, covering blog post lifecycle (create, update, publish, unpublish, delete) and image operations (upload, replace, delete, get URL).9 npmMIT