mvanhorn/cli-printing-press

Every API has a secret identity. This finds it, absorbs every feature from every competing tool, then builds the GOAT CLI — designed for AI agents first, with SQLite sync, offline search, and compound insight commands.

CLI Printing Press – 생산성에 최적화된 AI 기반 CLI(명령줄 인터페이스) 및 MCP 서버 생성기

무엇인가요 – Go 기반 도구로, AI 어시스턴트(Claude Code, Codex 등)가 어떤 웹 서비스나 API를 토큰 효율적인 명령줄 인터페이스와 일치하는 MCP(Machine‑Code‑Plugin) 서버로 변환할 수 있게 해줍니다. 이 도구는 전체 파이프라인을 자동으로 처리합니다:

  1. 연구 – 공식 문서를 읽고 커뮤니티 CLI를 크롤링하며, 문서화되지 않은 사이트의 브라우저 트래픽까지 캡처합니다.
  2. 흡수 – 기존 도구에서 발견된 모든 유용한 기능의 매니페스트를 구성합니다.
  3. 생성 – 동일한 클라이언트/스토어 코드를 공유하는 Go CLI(Cobra 기반)와 MCP 서버를 생성합니다.
  4. 지속 – 전체 텍스트 검색, 증분 동기화, 복합 명령어 지원 기능을 갖춘 로컬 SQLite 스토어를 생성합니다.
  5. 검증 – 출판 전에 스코어카드, 도그푸드 테스트, 행동 증명 검사, 실시간 스모크 테스트를 실행합니다.

결과는 notion‑pp-cli와 같은 설치 가능한 바이너리와, 에이전트가 직접 호출할 수 있는 동반자 notion‑pp-mcp가 생성되며, 토큰 비용이 최소화됩니다.


AI 에이전트에게 왜 중요한가

  • 속도와 토큰 경제성 – 에이전트는 긴 API 문서를 따라가기보다 간결한 CLI를 호출할 수 있습니다. 플래그는 머신 소비를 위해 설계되었으며(작은 출력, 타입화된 종료 코드, 자동 JSON).
  • 로컬 우선 데이터 – 모든 가져온 데이터는 SQLite DB에 저장되어, 상태 없는 API 래퍼가 제공할 수 없는 초고속 search, sql, 그리고 복합 명령어(stale, health, bottleneck)를 가능하게 합니다.
  • 이중 인터페이스 – 동일한 생성 코드가 셸 친화적인 CLI와 MCP 서버를 모두 지원하므로, 터미널 기반 에이전트(Claude Code, Codex) 뿐만 아니라 IDE 통합 에이전트(Claude Desktop, Cursor, Windsurf, Cline)에서도 작동합니다.
  • 제로 스펙 워크플로우 – 웹사이트(예: ESPN, Google Flights)를 지정하면 트래픽을 캡처하고 OpenAPI 스펙을 역설계한 후 자동으로 CLI를 생성합니다.

빠른 설치 (바이너리 + 스킬)

# 한 줄 명령어로 Go 생성기 설치 및 Claude Code용 Printing‑Press 스킬 등록
curl -fsSL https://raw.githubusercontent.com/mvanhorn/cli-printing-press/main/scripts/install.sh | bash
  • --cli-only 또는 --skills-only를 추가하면 한쪽만 설치할 수 있으며, --agent codex를 사용하면 Claude Code 대신 Codex를 대상으로 할 수 있습니다.

수동 대안 (Go 도구 사용을 선호하는 경우):

go install github.com/mvanhorn/cli-printing-press/v4/cmd/cli-printing-press@latest
npx -y skills@latest add mvanhorn/cli-printing-press/skills --skill '*' -g -a claude-code -y

CLI 생성 (에이전트 워크플로우)

  1. Claude Code(또는 Codex) 세션을 시작합니다.
  2. 채팅 내에서 다음 스킬을 실행합니다:
    /printing-press <app‑name-or‑URL>
    
    예시: /printing-press ESPN, /printing-press https://postman.com/explore
  3. 스킬이 cli-printing-press 바이너리를 호출하여 5단계 파이프라인을 실행하고, ~/printing-press/library/<api>/ 폴더에 두 개의 바이너리를 생성합니다:
    • <api>-pp-cli – Cobra 기반 CLI.
    • <api>-pp-mcp – MCP 서버.
  4. CLI를 직접 사용(<api>-pp-cli --help)하거나 IDE 에이전트가 MCP 서버를 자동 탐지하도록 합니다.

생성된 CLI의 핵심 기능

기능 기능 설명 에이전트 이점
sync 로컬 SQLite 스토어에 최신 데이터를 가져옵니다. 한 번의 네트워크 호출 후, 이후 모든 쿼리는 오프라인 상태에서 가능합니다.
search / sql 로컬 데이터에 대한 전체 텍스트 또는 SQL 쿼리. 밀리초 수준의 응답, 훨씬 적은 토큰 사용.
stale, health, bottleneck 과거 데이터에서 도출된 도메인 전용 분석. 커스텀 코드 없이도 에이전트가 고수준 인사이트를 얻을 수 있습니다.
--compact 고중력 필드만 출력(60–80% 토큰 절감). 프롬프트 길이를 짧게 유지합니다.
타입화된 종료 코드 머신이 읽을 수 있는 상태(0, 2, 3, …). 텍스트 파싱 없이도 로직 분기 가능합니다.
자동 JSON 파이프된 경우 --json 플래그 없이도 JSON 출력. jq 또는 기타 도구와 원활한 조합 가능.

출판 및 개선

  • 출판/printing-press-publish <api>는 검증, 패키징 후 공개 Printing‑Press 라이브러리에 PR을 엽니다.
  • 정제/printing-press-polish <api>는 진단을 실행하고 검증 실패를 수정하며 문서를 정리합니다.
  • 수정 – 도그푸드 세션 후, /printing-press-amend는 사용 불편 요소를 추출하고 PR을 생성하며, 자동으로 PII를 제거합니다.

내부 동작 방식 (고수준 흐름)

Phase 0  스펙 또는 URL 확인 (1–3분)
Phase 1  연구 요약 – 정체성, 경쟁사, 데이터 레이어 (5–10분)
Phase 1.5 생태계 흡수 – 기존 CLI/MCP 기능 카탈로그화 (5–10분)
Phase 1.7 브라우저 스니핑 – 스펙 없을 경우 HAR 캡처 (2–5분)
Phase 2  Go CLI + MCP 서버 생성 (1–2분)
Phase 3  "GOAT" 구축 – 로컬 스토어, 복합 명령어, 분석 기능 추가 (10–20분)
Phase 4–5 검증, 스코어링, 선택적 출판

모든 단계는 cli-printing-press 바이너리가 조율하며, 코드 생성과 같은 무거운 작업은 Codex(/printing-press <api> codex)에 위임하여 Claude Code의 토큰 사용을 절약할 수 있습니다.


예시 생성 CLI (ESPN)

espn-pp-cli games --date today --compact
# → 단일 호출로 NBA 플레이오프 스코어, 선두 득점자, 부상 소식 포함 JSON 출력

동일한 기능은 IDE 기반 에이전트를 위한 espn-pp-mcp를 통해도 사용 가능합니다.


누가 사용할 수 있을까

  • 수십 개의 서비스에 대해 빠르고 토큰 효율적인 도구를 필요로 하는 AI 에이전트 개발자.
  • SaaS 데이터의 로컬 검색 가능한 캐시를 원하는 DevOps/자동화 엔지니어.
  • 스크래퍼를 작성하지 않고도 문서화되지 않은 웹 API를 탐색해야 하는 연구자.
  • 단일 소스에서 CLI와 MCP 플러그인을 모두 배포하고 싶은 도구 개발자.

링크


CLI Printing Press는 문서화된 API든 아니든, 어떤 API든 고성능이고 에이전트 친화적인 명령줄 도구와 MCP 서버로 변환하는 전 생애주기를 자동화하여, AI 보강 워크플로우의 토큰 비용과 개발 노력이 크게 줄어듭니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트