CLI와 MCP와 Action 개요
XenoCI 러너 API를 쓰는 공식 도구 세 가지, xenocast CLI, MCP 서버, GitHub Action의 설치와 인증과 쓰임새를 한 페이지에서 봅니다
XenoCI는 러너 API를 쓰는 공식 도구 세 가지를 제공합니다
- xenocast CLI: 터미널과 스크립트에서 잡을 보내고 로그와 결과물을 받는 명령줄 도구입니다
- MCP 서버: 같은 실행 파일의
xenocast mcp, Claude Code와 Codex, Cursor 같은 코딩 에이전트가 빌드를 도구로 부릅니다 - GitHub Action:
Xeno-CI/build한 단계로 기존 워크플로에서 macOS 잡을 돌립니다
세 도구는 모두 같은 API 키와 같은 Jobs API를 씁니다, 어느 도구로 보낸 잡이든 콘솔과 사용량에 같은 모양으로 남고, 출처(source)만 다릅니다
설치
CLI를 설치하면 MCP 서버도 함께 생깁니다
curl -fsSL https://github.com/Xeno-CI/xenocast/releases/latest/download/install.sh | shirm https://github.com/Xeno-CI/xenocast/releases/latest/download/install.ps1 | iex키 넣기
API 키는 사람이 직접 자기 터미널에 넣습니다, 키가 든 명령을 에이전트 대화에 붙여 넣지 마세요
xenocast login키를 화면에 보이지 않는 입력으로 받아 이 컴퓨터의 키체인(없으면 암호화 파일)에 저장합니다, CI처럼 저장할 곳이 없으면 환경 변수 XENOCI_API_KEY를 씁니다, 환경 변수가 저장된 키보다 우선합니다
에이전트에게는 키 없이 이 한 줄만 건넵니다
XenoCI 설정 안내를 읽고 따라 해 줘: https://xenoci.com/agent-setup세 도구 비교
| xenocast CLI | MCP 서버 | GitHub Action | |
|---|---|---|---|
| 쓰는 곳 | 터미널, 셸 스크립트, 다른 CI | 코딩 에이전트 | GitHub Actions 워크플로 |
| 실행 | xenocast build --script ./ci.sh | 에이전트가 build 도구 호출 | uses: Xeno-CI/build@v1 |
| 키를 읽는 곳 | XENOCI_API_KEY, 그다음 저장한 키 | CLI와 같음 | 입력 api-key (시크릿 XENOCI_API_KEY) |
| 소스 | 현재 폴더 업로드 또는 공개 git 저장소 | CLI와 같음 | 체크아웃한 작업 폴더 업로드 |
| 로그 | 터미널로 흐름 | logs 도구 | 스텝 로그 |
| 끝난 뒤 | 스크립트 종료 코드 그대로 | status 도구 | 스크립트 종료 코드로 스텝 성공, 실패 |
xenocast CLI
| 명령 | 하는 일 |
|---|---|
xenocast login | 키를 가린 입력으로 받아 저장 |
xenocast whoami | 키의 조직, 워크스페이스, 권한 |
xenocast runners | 러너 목록과 상태, 분당 요금 |
xenocast build --script ./ci.sh | 현재 폴더를 올려 잡 실행, 로그를 끝까지 보여 줌 |
xenocast status <잡 ID> | 잡 상태, 실행 시간, 금액 |
xenocast logs <잡 ID> | 잡 로그 |
xenocast cancel <잡 ID> | 잡 취소 |
xenocast artifacts <잡 ID> --out ./dist | 결과물 내려받기 |
xenocast credits | 잔액 |
xenocast usage | 기간별 사용량과 금액 |
옵션과 출력, 종료 코드 전체는 xenocast CLI 레퍼런스에 있습니다
MCP 서버
| 도구 | 하는 일 |
|---|---|
build | 잡 접수 |
status | 잡 상태와 금액 |
logs | 잡 로그 |
cancel | 잡 취소 |
list_runners | 러너 목록, available인 것만 고름 |
whoami | 키의 조직, 워크스페이스, 권한 |
credits | 잔액 |
usage | 사용량과 금액 |
xenocast setup이 설치된 에이전트(Claude Code, Codex, Cursor, OpenCode, OmO)에 서버를 등록합니다, 등록 방법과 도구 입력은 MCP 서버에 있습니다
GitHub Action
- uses: actions/checkout@v4
- uses: Xeno-CI/build@v1
with:
api-key: ${{ secrets.XENOCI_API_KEY }}
script: ./ci.sh
xcode: '27.0'
artifacts: build/*.ipa| 입력 | 설명 |
|---|---|
api-key | API 키, 저장소 시크릿으로 넣습니다 |
script | 저장소 기준 빌드 스크립트 경로, 필수 |
xcode | Xcode 버전, 비우면 워크스페이스 기본값 |
timeout | 제한 시간(분), 기본 30 |
artifacts | 모을 결과물 경로, 쉼표로 구분 |
입력 전체와 오류 주석은 GitHub Actions에 있습니다
직접 호출
다른 언어나 도구에서는 HTTP로 바로 부릅니다, 모든 요청은 Authorization: Bearer 헤더에 키를 넣습니다
curl https://xenoci.com/api/runner/v1/me \
-H "Authorization: Bearer $XENOCI_API_KEY"인증과 Jobs API 사용하기를 보세요
에이전트를 쓰시나요?
에이전트가 지켜야 할 규칙(잡을 되풀이해 보내지 않기, 키를 대화로 받지 않기, 실패 로그 읽는 순서)은 에이전트 규칙에 있습니다