# MCP 선물 포장 규격 (2026-09-04)

> "내가 만든 MCP를 선물한다" = 완성본을 주는 게 아니라 **스캐폴드 + 튜닝 인스트럭션 + 주문 1줄**을 준다.
> 받는 사람은 자기 워크센터 에이전트가 그 인스트럭션을 읽고 **자기 하드웨어/계정/호스트에 맞게** 고쳐 쓴다.
> 결과물은 "남의 프로그램"이 아니라 "내가 만든 것". 깨지면 자기 에이전트한테 "고쳐" 하면 된다.

## 1. 선물 3종

| 구성 | 내용 | 어디에 |
|---|---|---|
| **스캐폴드** | MCP 서버 소스 (만든 사람의 자기-특정 값 전부 분리/환경변수화) | HQ 발급 (비공개 원본 기반) |
| **튜닝 인스트럭션** | 목표 + 고칠 지점 + 검증 + 함정 · 단계 묶음(00~0N) | 이 레포 `g/mcp-gift/<이름>/` |
| **주문 1줄** | `bash <(curl -sL …/g/mcp-gift/<이름>-boot.sh)` | 랜딩 "MCP 선물함" 카드 |

## 2. 흐름 (받는 사람 기준)

1. 랜딩 선물함에서 카드의 명령을 복사 → 워크센터 터미널에 붙여넣기.
2. boot가 튜닝 인스트럭션 묶음을 받아오고 "00-index를 에이전트한테 넘겨라" 안내.
3. 받는 사람이 자기 에이전트로 00-index 실행 → 단계별 튜닝(환경→등록→검증) → 자동 적응.

## 3. 인스트럭션 공통 뼈대 (모든 MCP 선물 동일)

- 00-index: 실행자/목표/절대규칙(만든 사람 계정·경로 복붙 금지, 추측 금지, 한 번에 한 단계)
- 01-환경·하드웨어: 이 MCP가 쓰는 하드웨어/외부서비스/세션을 자기 것으로 교체
- 02-등록·검증: 받는 사람 에이전트(MCP 호스트)에 등록 + 실제 호출 1회
- 03-… : MCP별 특이 튜닝
- 함정 목록은 실측 편차로 계속 추가

## 4. 첫 포장 예시: po-deepfake (나만의 아바타 — 본인 전용)

- 랜딩 카드 명령: `bash <(curl -sL https://dtslib1979.github.io/dtslib-branch/g/mcp-gift/df-boot.sh)`
- 인스트럭션: `g/mcp-gift/df/TUNE-INSTRUCTION/00-index.md` (사진+대사 → 나만의 talking-head MP4)
- 스캐폴드: HQ 발급(비공개 원본). 인스트럭션 03이 받는 법·무결성(sha256) 확인 절차 안내.
- **본인 전용 설계(강제)**: ① 등록 얼굴 = **본인 정면사진**(크롭·배경제거) ② **RVC(음성복제) 기본 제거** —
  파이프라인은 변환 없는 기본 음성으로만 개통 ③ 나중에 RVC를 끼우면 **자기 목소리 학습본만**.
  타인 얼굴/타인 목소리 사용 금지를 인스트럭션 00 절대규칙에 명문화.

## 5. 공개 선물함 원칙

- 자기-이용(self-likeness) 구조 + 기본 기능에서 고위험 구성요소(음성복제)를 뺀 MCP는 선물 가능.
- 받는 사람이 **타인을 흉내 낼 수 있는 기본 기능**(타인 얼굴 합성·타인 음성복제)을 켠 채로
  공개 배포하는 형태는 금지. 필요하면 HQ 발급 초대 코드 + 셀 온보딩 + 사용제한 못박은 게이트형만.
- parksy-actor(브라우저 시연 영상 MCP)는 첫 포장 예시로 올렸다가 **동작 불확실로 제외** —
  지금 공개 포장 기준은 po-deepfake(나만의 아바타) 하나.

## 6. 파일 배치

```
g/mcp-gift/<이름>-boot.sh        # 주문 1줄의 실체
g/mcp-gift/<이름>/TUNE-INSTRUCTION/00-index.md …  # 튜닝 인스트럭션 묶음
index.html  # 랜딩 "MCP 선물함" 섹션
```

## 6. po-deepfake 단계 지도 (인스트럭션)

- 00 index(절대규칙: 본인 전용) → 01 **본인 정면사진 등록**(크롭·배경제거) →
  02 **RVC 제거 기본값** → 03 MCP 등록 + 실제 1건 생성 → 04 (선택) RVC 자기 목소리 갈아끼우기 →
  05 **버전 확인 + 새 판 덮어쓰기**

## 7. 버전 관리 — MCP만, DEV↔RELEASE (제작자 모델)

- **대상은 MCP 코드 하나**다 (문서·인스트럭션은 버전 대상 아님).
- **DEV** = 로컬 `mcp_deepfake` 소스 (`mcp_server.py`의 MCP initialize `serverInfo.version`이 곧 코드 버전). 내가 지금 고치는 것.
- **RELEASE** = `g/mcp-gift/df/VERSION` 매니페스트 = 페이지에 실려 "지금 셀들한테 나가 있는 판".
- **셀(받는 사람)** = 설치본 서버 `serverInfo.version`을 읽어 RELEASE와 대조, 새 판이 나오면 인스트럭션 05로 덮어씀.
- **차이 분석·브리지** = HQ 전용 `g/mcp-gift/df/version-bridge.sh` (셀 주문에 안 실림):
  - `status`  : DEV vs RELEASE 비교
  - `diff`    : DEV 소스 vs 마지막 RELEASE 스냅샷(`~/.po-deepfake-releases/po-deepfake-<ver>`) 파일 단위 차이
  - `release` : 현재 DEV를 RELEASE 스냅샷으로 저장(개인값·캐시 제외) + sha256 기록 + VERSION 갱신
- 브리지 규칙: RELEASE는 DEV를 따라잡기만 한다(뒤로 가기 금지). 새 판 보낼 때 =
  코드 버전 bump → `version-bridge.sh release` → index.html 배지 갱신 → push → 셀 주문 재실행.

---
*기록: dtslib + Claude · 2026-09-04 · 철학: INSTRUCTION-NOT-INSTALLER 일반화(MCP 판)*
