먼저 밝힙니다. 저는 Sakupa의 개발자가 아닙니다. MCP 서버를 조사하던 중 발견했고, 설계가 흥미롭다고 생각하여 공식 웹사이트, 매뉴얼, 공개 정보를 바탕으로 소개하는 글입니다.
ChatGPT나 Claude에게 '회사 홈페이지를 만들어줘'라고 요청하면 페이지 자체는 비교적 쉽게 생성됩니다. 하지만 그 이후 과정이 이어지지 않습니다.
- 공개하려면 호스팅에 등록하고 관리 화면 조작법을 익혀야 합니다.
- 자체 도메인을 연결하려면 DNS 설정이 필요합니다.
- 영업시간 변경 같은 사소한 업데이트라도 결국은 다시 사람의 도움이 필요하게 됩니다.
'만드는 것'만 AI로 쉬워지고, '공개와 운영' 부분이 방치되고 있습니다. 이 간극을 AI와의 대화 속에서 메우려고 시도하는 것이 바로 MCP 서버 Sakupa입니다. 개인적으로 '저 부분을 MCP로 해결하려 하는 건가?'라고 생각하며 조사하기 시작했습니다.
Sakupa에는 사용자 등록이 없습니다. 대신, 사이트의 관리 권한은 자신의 PC에 저장되는 '관리 자격 증명(credentials)'으로 인증하는 설계입니다. 공식 매뉴얼에 따르면, 자격 증명은 ~/.sakupa/credentials/에 보관되며, 프로젝트 내의 .sakupa/site.json에는 참조만 남아 있습니다.
서비스마다 ID와 비밀번호가 늘어나는 문제에 대한 상당히 과감한 답변이라고 생각합니다. '계정이 없다 = 확인이 부족하다'는 의미가 아니라, 도메인 확인은 DNS로 하고, 결제는 Stripe의 호스팅 페이지에서 한다는 등 상황별로 확인 방법을 분리하고 있다는 점에서 설계적으로 논리가 통한다고 느꼈습니다.
Sakupa의 공개 플로우에서는 바로 업로드하지 않습니다. deploy 전에 analyze라는 툴이 출력 폴더를 로컬에서 검사하여, '공개될 내용 목록'과 '공개해서는 안 될 파일에 대한 경고'를 반환합니다. AI는 이를 사용자에게 이해하기 쉬운 말로 설명하고 명시적인 확인을 받은 후에 공개하는 흐름입니다.
삭제나 자격 증명 교체와 같이 영향이 큰 작업도 모두 '미리보기(Preview) → 확인 → 실행'의 2단계 과정을 거칩니다. AI에게 실질적인 작업을 맡기는 상황이 늘어날수록, 이러한 '임의로 진행할 수 없는(cannot proceed automatically)' 설계의 가치는 높아질 것이며, 이곳은 다른 MCP 서버에도 확산되었으면 하는 패턴이라고 생각했습니다.
플랜 확인/신청/변경/해지 관련 툴은 모두 Stripe의 호스팅 페이지 링크만 반환하며, 카드 번호가 대화에 등장하는 일은 없습니다. '링크를 만들었다고 해서 계약이 바뀐 것은 아니다'라는 내용까지 툴 응답에 명시되는 세밀함이 인상적이었습니다.
또한, recover라는 복구 툴(이 PC에서 만든 무료 사이트 되찾기나, DNS 확인을 거친 복구)이 있어, 로컬 자격 증명 방식의 약점인 'PC를 바꾸면 끝'이라는 문제에 대한 해답도 마련되어 있습니다. 이전 자격 증명의 효력 여부는 AI가 대신 판단하지 않고 반드시 본인이 선택하는 사양이라고 합니다.
지원 툴(Claude Code / Claude Desktop, Codex, Cursor, VS Code, Gemini CLI 등) 설정 시 다음 1 블록을 추가하는 형태입니다.
{
"mcpServers": {
"sakupa": {
...
}
Claude Code / Codex / Gemini CLI용으로는 공식 플러그인(myerwang/sakupa-plugin)도 있습니다. 도입 후에는 AI 툴의 완전한 재시작이 필요합니다(매뉴얼 기재).
요청하는 예시도 매뉴얼에 나와 있습니다.
- 'Sakupa로 이 사이트가 공개하기 적합한지 확인해줘'
- '확인이 되면 Sakupa로 공개해줘. 공개 전에 반드시 나에게 확인해줘'
기능별 도구 목록
| 분류 | 도구 | 역할 |
|---|
| 프로젝트 및 공개 | init | 초기 준비 (로컬 전용, 통신 없음) |
| analyze | 공개 가능 여부의 읽기 전용 검사. 부적절한 파일 경고 |
| deploy | 확인 후 사이트 공개 |
| refresh | 무료 사이트 유효 기간 연장 |
| status | 연결 상태, 유효 기간, 도메인 상태 표시 (읽기 전용) |
| rotate | 관리 자격 증명 교체 (미리보기 후, 기존 자격 증명은 모두 만료됨) |
| delete | 무료 사이트 삭제 (미리보기 필수, 복구 불가) |
| 계약 및 결제 | plans | 요금 플랜의 공개 카탈로그 (읽기 전용) |
| | 선택한 플랜의 Stripe 가입 링크 생성 |
| billing | 실제 계약/갱신 예정/사용량 대조 (읽기 전용) |
| change | 플랜 변경 및 기말 해지용 Stripe 관리 링크 생성 |
| portal | 청구서/결제 수단에 대한 Stripe 포털 열기 |
| 도메인 및 복구 | bind | 자체 도메인 연결 (DNS에서 확인하고, active이며 HTTP 200일 때 '공개'로 안내) |
| recover | 장치 경로 또는 DNS 경로를 통해 사이트 되찾기 |
| 지원 및 앱 | help | 로컬 전용으로 작동하는 읽기 전용 진단 도구 |
| support | 지원 티켓 작성 (전송 전에 본인이 내용 확인) |
| report | help가 권장한 경우에만 가능한 장애 보고 (미리보기 후 전송) |
| apps | 앱 카탈로그. 1차는 이메일 폼 기능 |
먼저 무료 미리보기(보통 30일)로 공개하고, 남기고 싶은 사이트만 유료 플랜으로 전환하는 방식입니다. 플랜은 사이트별 계약이며, 자동으로 상위 플랜으로 올라가지는 않는다고 명시되어 있습니다.
| 플랜 | 월액 | 스토리지 | 전송량 | 요청 | 폼 이메일 |
|---|
| Free (미리보기) | 0 엔 | ― | ― | ― | 월 5통 |
| ... | | | | | |
월 200엔부터라는 가격도 그렇지만, '미리보기로 확인한 후 남길 사이트만 결제'하는 순서 자체가 소규모 사업자에게 매우 세심하게 배려된 점이라고 생각했습니다.
- 대상은 정적 사이트(Static Site)에 한정됩니다. 데이터베이스나 로그인 기능이 있는 웹 애플리케이션에는 사용할 수 없습니다.
- 이미 Netlify나 Vercel 운영에 익숙한 사용자에게는 이사 갈 이유가 많지 않아 보입니다. 어디까지나 '공개와 운영의 번거로움을 AI와의 대화만으로 완결시키고 싶은' 사람들을 위한 도구입니다.
- 비교적 새로운 서비스입니다 (npm 최초 공개는 2026년 7월, 공식 타임라인 기준). 도입을 고려한다면, 우선 무료 미리보기로 작게 테스트해보는 것이 안전할 것 같습니다.
'AI가 만들어주는 것'에서 'AI에게 운영까지 맡기는 것'으로의 흐름 속에서, Sakupa의 '계정 불필요', '공개 전 체크 기능', '확인 없이 진행 불가'라는 설계는 하나의 방향성을 제시하고 있는 것처럼 느껴집니다. 같은 관심사를 가진 분들의 참고가 되기를 바랍니다.