Content
# Tool List
> An independent open-source project allowed to operate by Velog developer ([@velopert](https://github.com/velopert)).
Claude can directly create, publish, edit, and delete posts on Velog, and handle comments, likes, search, and trending.
**npm**: [velog-mcp-claude](https://www.npmjs.com/package/velog-mcp-claude) | **Requirements**: Node.js 18+
## Installation
```bash
npx -p velog-mcp-claude velog-mcp-setup
```
Copy the `access_token` and `refresh_token` values from `https://velog.io` in your browser's DevTools → Application → Cookies and input them.
Tokens are stored in `~/.velog-mcp.json` with `0600` permissions.
## Configuration
### Claude Code
```bash
claude mcp add velog -- npx -y velog-mcp-claude
```
To add globally:
```bash
claude mcp add --scope global velog -- npx -y velog-mcp-claude
```
### Claude Desktop
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
```json
{
"mcpServers": {
"velog": {
"command": "npx",
"args": ["-y", "velog-mcp-claude"]
}
}
}
```
## Tool List
### Posts
| Tool | Description |
| --- | --- |
| `velog_draft_post` | Create a post draft |
| `velog_publish_post` | Publish a draft to Velog |
| `velog_list_posts` | View a list of your posts |
| `velog_get_post` | View the entire content of a specific post (including views) |
| `velog_update_post` | Edit an existing post |
| `velog_delete_post` | Delete a post |
| `velog_upload_image` | Upload a local image to Velog CDN |
| `velog_import_from_github` | Import GitHub blog markdown as a Velog draft |
| `velog_git_to_post` | Analyze git commit history and diff to generate a blog post prompt |
### Series
| Tool | Description |
| --- | --- |
| `velog_list_series` | View a list of your series |
| `velog_create_series` | Create a new series |
| `velog_update_series` | Edit a series name and description |
| `velog_append_to_series` | Add a post to a series |
| `velog_delete_series` | Delete a series |
### Comments
| Tool | Description |
| --- | --- |
| `velog_get_comments` | View a list of post comments (including replies) |
| `velog_write_comment` | Write a comment or reply |
| `velog_update_comment` | Edit a comment |
| `velog_delete_comment` | Delete a comment |
### Likes
| Tool | Description |
| --- | --- |
| `velog_like_post` | Like a post |
| `velog_unlike_post` | Un-like a post |
### Search
| Tool | Description |
| --- | --- |
| `velog_search_posts` | Search for posts by keyword |
| `velog_get_trending` | View trending posts (day / week / month / year) |
| `velog_trend_report` | Analyze trending post report |
| `velog_topic_research` | Discover popular topics by analyzing trending tags and your posts |
## Git Commit → Blog Post
Analyze recent commit history and diff to automatically generate a Korean tech blog post.
```
Me: "Write a blog post based on today's commits"
Me: "Create a blog post based on the last 10 commits"
Me: "Generate a post draft based on changes since v0.19.0"
```
- `repo_path`: Local git repository path to analyze (default: current directory)
- `commits`: Number of recent commits to retrieve (default: 5)
- `since`: Specify a range since a specific commit or tag (e.g., `v0.19.0`, `HEAD~10`)
- `include_diff`: Include code diff (default: `true`)
- `tags`: Tag hints to include in the post (automatically inferred if not specified)
## GitHub Blog Migration
Supports markdown with front matter (e.g., Jekyll, Hugo). Try with `dry_run: true` first.
```
Me: "Migrate my GitHub blog _posts folder to Velog drafts"
```
- Relative path images are automatically converted to GitHub raw URLs
- Private repositories require a `github_token` parameter
### GitHub API Rate Limit
Without a token, the rate limit is 60 requests/hour. `dry_run: true` may consume a significant portion of the limit.
If the limit is exceeded, generate a `github_token` and provide it.
**Token Generation**: GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic) → Generate new token
- Public repositories: No scopes required, but **`public_repo`** is recommended
- Private repositories: `repo` scope required
The token increases the rate limit to 5,000 requests/hour.
## Authentication
- `access_token`: ~1-2 hour TTL, automatically refreshed by Velog server
- `refresh_token`: ~30 day TTL. Re-run `npx -p velog-mcp-claude velog-mcp-setup` when expired
## Notes
- Drafts are stored in MCP server session memory. They are lost on restart and expire after 24 hours.
- Save drafts as private posts with `velog_publish_post(is_private: true)`.
## Roadmap
See [docs/roadmap.md](./docs/roadmap.md).
## Disclaimer
Implemented by reverse-engineering internal GraphQL API. API structure changes may cause unexpected behavior or breakage.
MCP Config
Below is the configuration for this MCP Server. You can copy it directly to Cursor or other MCP clients.
mcp.json
Connection Info
You Might Also Like
markitdown
Python tool for converting files and office documents to Markdown.
OpenAI Whisper
OpenAI Whisper MCP Server - 基于本地 Whisper CLI 的离线语音识别与翻译,无需 API Key,支持...
oh-my-opencode
Background agents · Curated agents like oracle, librarians, frontend...
claude-flow
Claude-Flow v2.7.0 is an enterprise AI orchestration platform.
ai-engineering-from-scratch
Learn it. Build it. Ship it for others. The most comprehensive open-source...
chatbox
User-friendly Desktop Client App for AI Models/LLMs (GPT, Claude, Gemini, Ollama...)