이 프로젝트는 Velog의 내부 GraphQL API를 리버스 엔지니어링하여 구현한 비공식 도구입니다.
- 토큰은
~/.velog-mcp.json에 저장 (0600권한 — 본인만 읽기/쓰기 가능) - 절대 git에 커밋하지 마세요.
.gitignore에 반드시 추가:.velog-mcp.json
access_token+refresh_token조합이 노출되면 Velog 계정에 대한 완전한 접근 권한을 타인이 갖게 됩니다.- 탈취 의심 시 즉시 Velog에 로그인 → 다른 기기 세션 종료 → 재로그인 후 토큰 재발급
- 이 MCP 서버는 로컬에서만 실행됩니다 (
stdiotransport) - 토큰은 Velog API 호출에만 사용되며 외부로 전송되지 않습니다
- 단,
npx velog-mcp-claude로 실행 시 npm 레지스트리의 패키지를 직접 실행하므로 패키지 무결성을 신뢰해야 합니다
Velog는 내부 API 변경을 공지하지 않습니다. 다음 상황에서 갑자기 동작이 멈출 수 있습니다:
| 변경 유형 | 영향 |
|---|---|
| GraphQL 필드명 변경 | 특정 툴 오류 |
| mutation 파라미터 변경 | 쓰기 작업 실패 |
| 인증 방식 변경 | 모든 툴 동작 불가 |
| 엔드포인트 변경 | 연결 불가 |
권장 대응: 중요한 포스트 작업 전 velog_list_posts로 연결 상태 확인.
- Velog의 공식 API가 아니므로 이용약관 상 자동화 도구 사용이 제한될 수 있습니다
- 과도한 자동화(대량 포스트 발행, 스팸 댓글 등)는 계정 제재로 이어질 수 있습니다
- 본인 계정에 한해, 정상적인 블로그 활동 범위에서 사용을 권장합니다
다음 작업은 되돌릴 수 없으므로 Claude가 호출 전 반드시 사용자 확인을 요청해야 합니다:
velog_delete_post— 포스트 영구 삭제velog_delete_comment— 댓글 영구 삭제velog_publish_post— 공개 발행 (발행 후 외부 공유되면 완전한 비공개 복원 불가)
velog_draft_post로 생성한 초안은 MCP 서버 프로세스 메모리에만 존재합니다- Claude Desktop / Claude Code 재시작 시 초안이 소멸됩니다
- 발행 전 보존하려면
velog_publish_post(is_private: true)로 비공개 저장하세요
- Velog 서버가
Set-Cookie로access_token을 자동 갱신합니다 - 갱신된 토큰은
~/.velog-mcp.json에 자동 덮어씌워집니다 refresh_token만료(~30일)시npx -p velog-mcp-claude velog-mcp-setup재실행 필요
✅ 해도 되는 것
- 본인 포스트 CRUD
- 본인 댓글 관리
- 검색·트렌딩 조회 (읽기 전용)
- 이미지 업로드
⚠️ 주의가 필요한 것
- 대량 포스트 자동 발행 (짧은 시간에 다수)
- 타인 포스트에 자동 댓글 반복
❌ 하지 말아야 하는 것
- 타인 계정 토큰 사용
- 스팸·홍보 목적 자동화
- 토큰을 환경변수·코드에 하드코딩
| 증상 | 원인 | 해결 |
|---|---|---|
| 모든 툴에서 401 오류 | 토큰 만료 | npx -p velog-mcp-claude velog-mcp-setup 재실행 |
| 특정 툴만 오류 | Velog API 변경 | GitHub Issues에 제보 |
| 연결 불가 | 네트워크 또는 Velog 서버 점검 | 잠시 후 재시도 |
| 포스트 발행됐는데 안 보임 | is_private: true 상태 |
Velog 대시보드에서 확인 |