AI와 함께 Ghost MCP 서버 만들기 - 바이브 코딩 첫걸음
Gemini, Claude와 같은 AI 에이전트들이 Ghost CMS와 직접 상호작용할 수 있다면 어떨까?
작업 메모를 바탕으로 AI가 작성한 내용입니다.
들어가며
블로그를 운영하면서 AI 에이전트를 활용해 콘텐츠를 작성하고 관리하면 좋겠다는 생각이 들었다.
문제는 write 권한을 부여해야 하는 상황에서 타인이 만든 MCP 서버를 사용하는 것이 부담스러웠다는 점이다. API 키를 넘기는 것이기 때문에 아무리 오픈소스라 해도 신뢰하기 어려웠다. 마침 "바이브 코딩"에 막 첫 발을 내딛고 있던 터라, Claude Code와 함께 직접 만들어보기로 마음먹었다.
기획: Claude Code에게 프로젝트 설계 맡기기
처음에는 간단한 기획서 초안을 작성했다. 어떤 기능이 필요한지, Ghost API의 어떤 엔드포인트를 지원할지 정도만 정리했다.
특히 Ghost는 AI 친화적으로 llms-full.txt를 제공하고 있어서, Claude Code에게 전체 프로젝트 설계를 시키기 위한 참고자료를 쉽게 제공할 수 있었다. 이 문서 하나만 던져주니 Ghost API의 구조를 완벽히 이해하고 프로젝트 아키텍처를 제안해줬다.
결과적으로 Content API 8개, Admin API 46개, 총 54개의 도구를 갖춘 MCP 서버가 설계되었다.
작업 단위 생성: 의존성을 고려한 태스크 분할
기획서를 바탕으로 task 목록 생성을 부탁했다. 이번 프로젝트에서는 vibe-kanban이라는 도구를 통해 병렬 작업을 돌려볼 생각이었기 때문에, 작업 간 의존성을 고려하여 생성해달라고 요청했다.
결과는 기대 이상이었다. 의존성 그래프를 명확히 파악하고, 동시에 진행할 수 있는 작업과 순차적으로 진행해야 하는 작업을 깔끔하게 분리해줬다.
작업 시작: vibe-kanban과 병렬 작업
vibe-kanban은 에이전트가 접근할 수 있도록 MCP 서버를 제공하고 있어서, Claude Code를 이용하여 tasks 파일을 바탕으로 칸반의 TO-DO 목록을 채워나갔다.
다만 여기서 패착이 있었다:
- 괜히 tasks 파일을 별도로 만들었다
- 태스크를 너무 잘게 쪼개는 바람에 컨플릭트가 발생했다
- 불필요한 토큰 낭비가 발생했다
API별로 작업할 때는 중복 코드가 나오지 않을 것으로 예상했는데, 컨플릭트가 조금씩 발생했다. 하지만 이마저도 AI가 알아서 해결해줘서 큰 힘이 들지 않았다. 충돌이 발생하면 자연스럽게 머지하고 다음 작업으로 넘어갔다.
작업 완료 및 배포
작업은 예상보다 빠르게 마무리됐다. 이제 배포 차례.
npm에 패키지를 배포하려고 했는데, workspace라는 이름이 이미 선점되어 있었다. 어쩔 수 없이 본명을 사용해 @ryukimin/ghost-mcp로 배포하게 되었다.
배포 과정도 AI에게 물어봤다:
- npmjs 사이트 가입 방법
npm publish명령어 사용법- scoped 패키지 배포 시 주의사항
모든 것이 명쾌하게 해결됐다. 태그 기반 CI/CD 배포 설정도 너무 쉽게 세팅할 수 있었다. GitHub Actions 워크플로우 작성부터 npm 토큰 설정까지 AI가 안내해줬다.
결과물
최종적으로 완성된 ghost-mcp의 주요 기능:
- Content API (8개 도구): 포스트, 페이지, 태그, 작성자 조회
- Admin API (46개 도구): 포스트/페이지 CRUD, 멤버 관리, 뉴스레터, 티어, 오퍼, 웹훅, 이미지 업로드, 테마 관리 등
- 다중 전송 방식: 로컬 개발용 stdio, 원격 배포용 HTTP/SSE

배운 점
- AI와의 협업은 생각보다 강력하다: 기획서와 참고 문서만 잘 던져주면 설계부터 구현까지 막힘없이 진행된다.
- 태스크는 적당히 쪼개자: 너무 세분화하면 오히려 컨플릭트와 토큰 낭비가 발생한다.
- LLM 친화적 문서의 힘: Ghost의 llms-full.txt처럼 AI가 이해하기 쉬운 형태의 문서가 있으면 개발 효율이 크게 올라간다.
- 직접 만드는 것의 가치: write 권한이 필요한 도구는 직접 만들어 쓰는 것이 마음 편하다.
마치며
바이브 코딩의 첫 프로젝트로 ghost-mcp를 선택한 것은 좋은 결정이었다. AI와 함께하면 혼자서는 며칠 걸렸을 작업도 하루 안에 끝낼 수 있다는 것을 체감했다.
패키지는 npm에서 @ryukimin/ghost-mcp로 설치할 수 있다. 소스 코드는 GitHub에 공개되어 있으니, 비슷한 고민을 하는 분들께 도움이 되길 바란다.
npm install @ryukimin/ghost-mcp