Velog MCP 개발기

서성원·2026년 4월 25일

mcp

목록 보기
3/4
post-thumbnail

시작은 단순한 의문에서

"Claude가 내 벨로그에 직접 글을 올릴 수 있으면 얼마나 편할까?"

이 생각 하나에서 시작됐어요. 찾아보니 Velog에는 공식 API가 없었습니다.

MCP란

MCP(Model Context Protocol)는 Claude가 외부 도구를 직접 호출할 수 있게 해주는 Anthropic의 프로토콜이에요. 즉, MCP 서버만 만들면 Claude가 Velog를 직접 다룰 수 있다는 뜻이었습니다.

그래서 MCP를 직접 만들기로 했습니다.

리버스 엔지니어링

브라우저 개발자 도구를 열고, Network 탭을 켜고, Velog에서 글을 쓰고 댓글을 달면서 어떤 GraphQL 요청이 오가는지 하나씩 확인했어요. URL 복붙하고, 요청 바디 분석하고, 응답 구조를 파악하는 원시적인 방법이었어요.

설계는 gstack에게

https://github.com/garrytan/gstack

설계 단계에서는 gstack의 힘을 빌렸습니다. API 구조, MCP 툴 인터페이스, 에러 처리 방식 등 전반적인 아키텍처 설계에 사용했습니다.

이틀만에 완성한 것들

  • 포스트 CRUD — 글 작성, 조회, 수정, 삭제, 임시저장
  • 댓글 CRUD — 댓글 작성, 수정, 삭제
  • 트렌드 분석 — 트렌딩 포스트 조회 및 분석

Claude로 벨로그를 실제로 운영할 수 있는 수준이 되었습니다.

npm publish, 그리고 뜻밖의 걱정

구현을 마치고 npm publish로 패키지를 배포했습니다. 그런데 마음 한켠이 찜찜했습니다. 공식 API도 아니고, 리버스 엔지니어링으로 만든 건데 이게 서비스 이용약관에 문제가 될 수 있지 않을까?

벨로그 개발자분에게 메일 보내기

그래서 Velog 개발자분에게 직접 이메일을 보냈습니다.
"이런 MCP 서버를 만들었는데, 계속 운영해도 괜찮을까요?"

당일 바로 답변을 주셨습니다. 허용한다는 답변이었습니다. 덕분에 마음 편하게 계속 개발할 수 있게 됐습니다. 물론 깃허브에도 오픈소스로 올려두었습니다.

추가 기능

바로 어제, GitHub 블로그에 올린 글을 Velog로 자동으로 옮겨주는 tool을 추가했습니다. 마크다운 파일을 읽어서 frontmatter를 파싱하고, 이미지를 업로드한 뒤 Velog에 그대로 발행하는 흐름입니다.

GitHub Pages에 블로그를 운영하다가 Velog로 이사 오고 싶은 분들에게 유용할 것 같습니다.

API가 언제 바뀔지 모른다

공식 API가 아니다 보니 한 가지 걱정이 생겼습니다. Velog 서버 측에서 GraphQL 스키마를 바꿔버리면 MCP 서버가 동작하지 않게 되겠죠.

그래서 매일 오전 9시마다 실제 Velog API를 호출해서 연결이 살아있는지 자동으로 확인하는 Github actions를 추가했습니다.

진짜 토큰으로 인증하고 API를 요청하는 흐름입니다. 성공하면 갱신된 토큰을 GitHub Secrets에 자동으로 업데이트하고, 실패하면 알림(slack)이 오도록 했습니다.

마무리

사실 저 혼자 쓰려고 개발한 건데 어쩌다보니 벨로그 개발자분에게 메일도 보내고, 재밌는 기능들이 계속 생각나서 열심히 하고 있는 중입니다.

추가되었으면 하는 기능 있으시면 편하게 댓글 달아주세요!!

깃허브: https://github.com/seongwon030/velog_mcp

profile
Frontend Developer

0개의 댓글