AI로 통합하기
Cursor·Claude Code·Copilot 같은 AI 코딩 도구를 쓴다면, MCP 서버를 연결하거나 아래 프롬프트 하나로 통합을 맡길 수 있습니다.
방법 1 — MCP 서버 연결 (권장)
섹션 제목: “방법 1 — MCP 서버 연결 (권장)”Signox는 개발자 문서 MCP 서버를 제공합니다. 한 번 등록해두면 AI 도구가 필요할 때마다 최신 문서를 직접 조회하므로, 프롬프트를 복사해 넣을 필요가 없고 문서가 갱신돼도 항상 최신 내용을 참조합니다.
# Claude Codeclaude mcp add --transport http signox https://api.signox.kr/mcp// Cursor·VS Code 등 — MCP 설정(mcp.json)에 추가{ "mcpServers": { "signox": { "url": "https://api.signox.kr/mcp" } }}제공 tool은 두 가지입니다:
list_docs— 전체 문서 목록(슬러그·제목·설명)read_doc— 슬러그로 문서 전문 조회 (예:sdk/node,guides/activation-offline)
등록 후 “Signox 라이센스 인증을 내 앱에 통합해줘”라고 요청하면 AI가 문서를 조회해가며 작업합니다.
방법 2 — 복사용 프롬프트
섹션 제목: “방법 2 — 복사용 프롬프트”MCP를 지원하지 않는 도구라면 아래 프롬프트를 사용하세요.
사용 방법
섹션 제목: “사용 방법”- 대시보드에서 발급 준비를 마칩니다 (제품·정책·테스트 라이센스).
- 아래 프롬프트를 복사해 AI 도구에 붙여넣고, 여러분의 앱 구조(프레임워크·키 입력 UI 위치 등)를 덧붙입니다.
- AI가 만든 코드에서 상태 코드별 UX 처리와 기능 게이팅이 요구사항대로 구현됐는지 확인합니다.
통합 프롬프트
섹션 제목: “통합 프롬프트”당신은 소프트웨어 라이센싱 통합을 돕는 시니어 개발자입니다.아래 명세에 따라 내 앱에 Signox 라이센스 인증을 통합해 주세요.
[Signox 개요]- Signox는 라이센스 발급·검증 SaaS. 문서: https://wiki.signox.kr- 라이센스 키(licenseKey)가 유일한 자격증명. 별도 API 토큰 없음.- 모든 라이센스는 기기 고정(node-locked). 기기 식별은 SDK가 자동 처리.- 서버 응답과 오프라인 .lic 파일은 Ed25519로 서명되며 SDK가 자동 검증.- 온라인 활성화 1회 후에는 네트워크 없이도 동작(로컬 서명 상태 캐시).
[SDK — 내 스택에 맞는 것을 선택. 세 SDK는 API 표면·판정 코드가 동일]- Node.js: npm `@signox/sdk` → import { SignoxClient } from '@signox/sdk' 문서: https://wiki.signox.kr/sdk/node/- Java 8+: Maven `kr.signox:signox-sdk` → kr.signox.sdk.SignoxClient (builder) 문서: https://wiki.signox.kr/sdk/java/- C#/.NET/Unity: NuGet `Signox.Sdk` → Signox.Sdk.SignoxClient 문서: https://wiki.signox.kr/sdk/csharp/
[공통 API — Node.js 표기 기준, Java/C#은 같은 이름의 메서드]const client = new SignoxClient({ productPublicKey: '<제품 공개키 SPKI PEM — 앱에 임베드>' });await client.activate(licenseKey, { name? }); // 최초 1회 활성화 (멱등)const lic = await client.validate(licenseKey); // 시작 시 검증 (성공 응답 자동 캐시)// lic.valid: boolean — VALID·IN_GRACE_PERIOD 에서만 true// lic.code: 'VALID'|'IN_GRACE_PERIOD'|'EXPIRED'|'SUSPENDED'|'REVOKED'|'NOT_FOUND'// |'DEVICE_NOT_ACTIVATED'|'DEVICE_LIMIT_REACHED'|'VM_NOT_ALLOWED'|'NETWORK_ERROR'|...// lic.features: Record<string, boolean|number|string>await client.deactivate(licenseKey); // 이 기기 해제(슬롯 반환)client.requestOfflineFile(licenseKey); // 폐쇄망용 .lic 발급 → result.file.contentclient.validateOffline(licContent); // .lic 완전 로컬 검증
[통합 요구사항]1. 최초 실행 시 라이센스 키 입력 화면 → activate() 호출. 성공하면 키를 안전하게 저장.2. 앱 시작 시 validate() 호출, 결과 처리: - valid=true → 정상 진입. 단 code가 IN_GRACE_PERIOD면 "라이센스 갱신 필요" 배너 표시. - NETWORK_ERROR → 무효가 아님. 재시도 안내(유료 기능은 잠그되 인증 실패로 취급 금지). - EXPIRED → 만료 안내 + 갱신 유도 화면. - DEVICE_LIMIT_REACHED → "다른 기기를 해제하세요" 안내(셀프서비스 포털 링크). - SUSPENDED / REVOKED / NOT_FOUND → 인증 실패 화면 + 문의 안내.3. 기능 게이팅: lic.features의 값으로 기능 분기. bool = on/off, int = 수량 한도, string = 등급 등.4. 설정 화면에 "이 기기 해제" 버튼 → deactivate() 호출(기기 이동용).5. (폐쇄망 지원이 필요한 경우만) 기기 코드 표시 화면(QR + 복사 버튼)과 .lic 파일 불러오기 기능 추가.
[금지사항]- 검증·서명 로직을 SDK 밖에서 재구현하지 말 것.- 제품 공개키를 네트워크·설정에서 받아오지 말 것 — 반드시 앱에 임베드(바꿔치기 방지).- 라이센스 키를 소스코드에 하드코딩하지 말 것.- valid=false 상태에서 유료 기능이 동작하지 않도록 할 것.AI가 문서를 직접 읽게 하기
섹션 제목: “AI가 문서를 직접 읽게 하기”AI 도구가 웹 문서를 읽을 수 있다면 https://wiki.signox.kr/llms.txt 를 함께 참조시키세요 — 이 사이트의 AI 친화 요약본으로, 핵심 개념과 전체 페이지 링크가 담겨 있습니다.