CAKE20

AI Web PaaS

MCP 소개

AI가 Cake20 프로젝트를 읽고 안전하게 수정할 수 있는 표준 인터페이스입니다.

왜 MCP를 사용하나요?

사용자는 웹사이트 목록에서 AI코딩 연결 정보를 복사해 AI에게 전달합니다. 연결 정보에는 MCP 주소, 공개 개발 문서, MCP 전체 매뉴얼 경로와 문서 확인 지침이 함께 들어 있습니다.

각 AI코딩 연결 정보는 하나의 Cake20 웹사이트에만 연결됩니다. AI가 보는 파일과 수행하는 변경도 해당 웹사이트 폴더로 제한됩니다.

Preview 브라우저와 내부 검사

일반 구현과 검수에서는 start_mcp_browser로 이미지 없이 격리 브라우저를 열고 DOM, iframe, 통신과 화면 전환을 텍스트로 확인합니다. 사용자가 화면 캡처나 시각 확인을 명시한 경우에만 이미지 도구를 사용합니다.

  • Core가 MCP 브라우저 권한과 사이트 범위를 확인하고 Provider가 Playwright를 실행합니다.
  • control_mcp_browser는 이미지 없이 클릭·입력·이동·새로고침을 수행합니다.
  • inspect_preview는 모든 iframe의 문서 상태, 요소 위치·가시성·스타일을 확인합니다.
  • get_preview_network는 HTTP 결과와 WebSocket 연결 상태를, trace_preview는 짧은 간격의 빈 화면·요소 가시성 변화를 확인합니다.
  • 명시적인 요청이 있으면 open_preview로 디자인 또는 검수 화면을 확인합니다.
  • 같은 요청 범위에서 필요할 때만 interact_preview로 화면을 조작합니다.
  • 명시적인 요청으로 반환된 Preview 이미지는 해당 AI Chat 응답에 자동 표시합니다.
  • 비밀번호·Token·Cookie 값, 요청·응답 본문과 WebSocket payload는 검사 결과에 포함하지 않습니다.

연결 방식

  • MCP Streamable HTTP JSON-RPC를 사용합니다.
  • 상태 없는 단일 POST endpoint로 동작하며 GET 스트림은 제공하지 않습니다.
  • AI코딩 연결 정보는 하나의 웹사이트에만 연결되며 발급 후 24시간 뒤 자동 만료됩니다.
  • AI코딩 창은 저장된 URL이 없거나 만료된 경우에만 자동 발급하며, 유효한 URL은 창을 다시 열어도 그대로 유지합니다.
  • 유효한 URL과 만료 시각을 직접 갱신하는 동작은 재발급 버튼으로만 수행합니다.
  • resources와 tools를 통해 문서, 소스·바이너리 파일, 설정·Secret, DB, Redis, Git, 빌드, 로그와 실행 웹사이트 검증 기능을 제공합니다.

계정 포털과 MCP의 경계

Manager 브라우저 제목의 브랜드 표기는 영문 Cake20 Core를 사용합니다. 내 사이트의 각 웹사이트는 제목 오른쪽에 쪽지 아이콘 하나를 표시하고 팝업에서 쪽지, 메모 순서의 탭을 제공합니다. 읽지 않은 쪽지는 아이콘의 초록색 점으로 표시합니다. 하단 주소는 web-{id}로 줄여 표시하고 오른쪽 복사 아이콘은 환경별 전체 주소를 복사합니다. 내 사이트의 작업 알림은 오류가 발생한 경우에만 표시합니다. 소유자 정보 오른쪽의 ? 아이콘은 운영 요약을 작은 텍스트 팝오버로 표시하고 바깥 클릭 시 닫힙니다. 모바일에서는 사이트명, 상태, 시작, 열기, AI코딩과 쪽지 아이콘을 우선합니다. 세 작업 버튼은 한 줄을 같은 폭으로 3등분하고 실행 가능한 웹사이트의 열기 버튼은 파란색 배경으로 표시합니다. 시작이 가능한 동안에는 시작 버튼을, 열기가 가능한 동안에는 매우 연한 회색 테두리의 열기 버튼을 부드럽게 반복 페이드하며 글자와 아이콘 색은 유지합니다. 시작 버튼 배경은 페이드 정점에서 거의 흰색, 열기 버튼 배경은 중간 회색으로 표시합니다. 에디터, 설정과 더보기는 숨깁니다. AI코딩 팝업은 수정 요청 문구와 복사만 표시하고 코덱스 실행과 독립 MCP URL 관리는 숨깁니다. 템플릿의 관리자 설정도 모바일에서 숨기며 태블릿 이하의 상단 메뉴는 접는 메뉴로 제공합니다.

쪽지함, 구독 신청, 멤버관리와 가상 로그인은 Cake20 Manager의 계정 포털 기능입니다. 웹사이트 하나에 연결되는 MCP는 이 계정 포털 DB나 관리자 기능에 접근하지 않습니다. 상단 플랜 버튼은 무료 새싹, 구독 왕관, 관리자 방패 아이콘만 표시합니다. 플랜 아이콘과 계정명은 분리되어 보이지 않는 한 영역으로 표시하되 각각 플랜 이동과 계정 드롭다운 동작을 유지합니다. 모바일 접는 메뉴에서는 계정명 왼쪽의 플랜·관리자 설정 아이콘 항목을 표시하지 않습니다. 쪽지 글자가 있는 버튼은 왼쪽에 독립적으로 표시합니다. 멤버관리는 전체목록과 구독신청 탭으로 나뉘며 전체목록은 전체 멤버 수, 구독신청은 신청대기 수를 표시하고 두 목록을 확장 가능한 표로 표시합니다. 탭, 표, 페이지 이동과 검색은 하나의 카드로 묶습니다. 닉네임과 이메일은 별도 열로 나누며 구독·신청 상태와 날짜는 셀마다 한 줄로 표시하고 열 제목과 내용은 가운데 정렬합니다. 두 목록은 5명씩 나누고 페이지 이동과 닉네임·이메일 검색은 표 아래에서 처리합니다. 모바일 전체목록은 닉네임, 상태, 구독과 쪽지만, 구독신청은 닉네임, 기간·금액과 관리만 우선 표시합니다. 태블릿과 데스크톱에서는 화면 폭에 따라 나머지 열을 단계적으로 표시합니다. 로그인·쪽지 차단 버튼은 별도 차단 열에 표시하며 차단된 기능의 아이콘을 빨간색으로 표시합니다. 상태 열은 하나만 차단되면 주황색, 둘 다 차단되면 빨간색으로 표시합니다. 무료 멤버는 구독란에 무료로 표시하고 구독 배지를 클릭하면 종료일을 작은 팝오버로 표시합니다. 관리자 메모는 입력란에서 포커스가 벗어나면 자동 저장합니다. 최근 신청 상태를 클릭하면 신청일을 작은 팝오버로 표시합니다. 전체목록의 쪽지 버튼은 선택한 멤버에게 분류와 500자 내용을 보내는 전용 팝업을 엽니다. 가상 로그인은 전용 확인 모달의 확인 버튼을 눌러야 세션 전환 API를 호출합니다. 관리자 가상 로그인은 로그인 차단 멤버도 점검할 수 있지만 일반 로그인과 삭제 멤버 접근은 계속 차단합니다. 관리자 계정으로 돌아오면 가상 로그인 직전의 멤버목록 페이지를 복원합니다. 구독신청 표의 처리 상태를 클릭하면 처리일을 표시합니다. 현재 구독은 무료 또는 유료로 표시하고 유료를 클릭하면 종료일을 표시합니다. 승인과 취소 버튼은 항상 표시하되 신청대기가 아니면 비활성화하며 기간과 금액은 한 셀에 표시합니다.

MCP의 문의 보관함과 웹사이트 메모는 선택한 웹사이트의 Runtime 운영 데이터이며 계정 포털 쪽지와 서로 다른 기능입니다.