Skip to content

10. AI 도구로 앱 만들기 (MCP) ​

Claude Code 같은 편집기의 AI 에게 이 프로젝트를 맡깁니다. AI 가 자원을 고르고, 앱을 만들고, 코드를 올리고, 빌드해서 사람이 열 수 있는 주소까지 만듭니다.

사람이 하는 일은 셋입니다 — 토큰을 발급하고, 편집기에 넣고, AI 가 묻는 것에 답합니다.

AI 는 MCP(Model Context Protocol)로 tidoly 에 붙습니다. 편집기가 MCP 를 지원하면 됩니다. 화면에서 버튼으로 하던 일을 AI 가 같은 권한 안에서 대신 부르는 방식이라, AI 가 한 일도 사람이 한 일과 같은 화면에 그대로 보입니다.

먼저 준비할 것 ​

무엇왜어디서
VPN 연결AI 가 붙는 주소는 클러스터 안 주소입니다. VPN 없이는 토큰이 있어도 닿지 않습니다고급 설정 · 노트북에서 클러스터에 붙기
Gitea 설치AI 가 앱마다 저장소를 만들고 작업 기록(이슈)을 남깁니다5장 · 개별 설치
프로젝트 멤버토큰은 발급한 사람의 프로젝트 권한을 물려받습니다프로젝트 → Access → 3장

플랫폼 관리자여도 프로젝트 멤버가 아니면 토큰이 아무것도 못 합니다. 토큰에는 관리자 권한이 넘어가지 않기 때문입니다. 관리자라면 먼저 자신을 그 프로젝트 멤버로 넣으세요.

토큰 발급 ​

  1. 프로젝트 → Overview → 노트북·AI 에서 dev 자원 쓰기 카드로 갑니다 — VPN 명령 아래에 AI 도구에 자격 주기 가 있습니다.
  2. 어디에 쓸 건가요 칸에 이름을 적습니다 — 예: 내 노트북.
  3. AI 토큰 발급 을 누릅니다.
  4. 토큰이 발급됐습니다 창의 .mcp.json 을 복사합니다.
  5. 저장했습니다 를 누릅니다.

AI 도구에 자격 주기 — VPN 명령 아래에서 이름을 적고 발급합니다. 발급한 토큰은 목록에 쌓입니다

토큰 값은 발급 창에서 한 번만 보입니다

tidoly 는 토큰을 저장하지 않습니다. 창을 닫으면 다시 볼 수 없고, 잃어버렸으면 새로 발급합니다. 새로 발급해도 기존 토큰은 그대로 살아 있습니다.

토큰은 여러 개를 동시에 가질 수 있습니다 — 노트북용·서버용을 따로 발급하고, 하나만 끊을 수 있습니다.

토큰이 할 수 있는 것기준
프로젝트발급한 프로젝트 하나
환경이 프로젝트에서 protected 로 표시하지 않은 환경 전부 → 환경 나누기
권한발급한 사람의 프로젝트 권한 — 관리자 권한은 빠집니다
기간발급 창에 표시된 만료일까지

편집기에 넣기 ​

복사한 내용을 프로젝트 폴더의 .mcp.json 에 그대로 넣습니다.

json
{
  "mcpServers": {
    "tidoly-cp": {
      "url": "http://control-plane.paas-system.svc.cluster.local:8080/api/v1/mcp",
      "headers": { "Authorization": "Bearer <발급된 토큰>" }
    }
  }
}

.mcp.json 을 Git 에 커밋하지 마세요 — 토큰이 그대로 들어 있습니다.

주소가 …svc.cluster.local 입니다. VPN 에 붙어 있지 않으면 이름이 풀리지 않아 연결되지 않습니다. 안 되면 VPN 붙는 법의 4번(확인 명령)부터 보세요.

AI 에게 시키기 ​

편집기에서 만들 앱을 말로 설명하면 됩니다. 예: "팀이 쓸 할 일 관리 앱을 만들어 줘. 로그인이 필요해."

AI 는 연결되는 순간 tidoly 사용 규칙을 함께 받습니다. 그래서 짓기 전에 아래를 먼저 정합니다.

정할 것AI 가 하는 일모르고 넘어가면
앱 이름묻지 않고 알립니다 — 이름이 곧 주소라서 정한 이름과 주소를 한 문장으로 알려 줍니다주소는 나중에 못 바꿉니다. 다른 이름이 좋으면 그때 바로 말하세요
밖에서 열 것인가물어봅니다. 어느 쪽도 권하지 않습니다사내용이 인터넷에 열린 채로 남습니다
재배포 뒤에도 데이터가 남아야 하나물어봅니다 — 남아야 하면 Database, 아니면 CacheCache 에 담은 것은 재배포 때 사라집니다
연결을 오래 여나 (실시간 갱신)물어보고, 필요하면 긴 연결을 켭니다60초마다 끊깁니다
여러 개로 띄울 수 있나물어보고, 필요하면 Cache 를 붙여 상태를 나눕니다어떤 사람에게만 안 보이는 현상이 생깁니다
로그인이 필요한가필요하면 앱을 만든 직후 로그인(SSO)을 붙입니다앱이 로그인 설정 없이 한 번 떠서 다시 배포해야 합니다

요청에 적은 것은 다시 묻지 않습니다. "인터넷에서 열 수 있게" 처럼 글자로 적었을 때만 정해진 것으로 봅니다. "팀이 쓸 수 있게" 는 공개 여부를 정한 말이 아니라서 AI 가 다시 묻습니다.

AI 가 일하는 순서 ​

순서하는 일사람에게 보이는 곳
1이 사이트에 깔 수 있는 것과 이미 깔린 것을 확인합니다—
2필요한 자산을 설치합니다 (예: PostgreSQL)프로젝트 → Overview 자산 목록
3앱 자리를 만들고, 설계 이유를 적습니다프로젝트 → Applications
4Gitea 에 저장소를 만들고, 3의 설계 이유를 이슈로 올립니다Gitea 저장소 · 이슈
5코드를 쓰고, 노트북에서 실제 자원에 붙여 실행해 봅니다—
6코드를 올리고 빌드·배포합니다앱 화면 빌드 탭
7주소를 만들고 그 주소를 알려 줍니다편집기 대화 · 앱 화면
8이슈를 닫으며 무엇에 막혔고 어떻게 풀었는지 적습니다Gitea 이슈

AI 의 일은 앱을 처음 쓸 수 있는 상태로 만드는 데까지입니다. 주소가 나오고 이슈가 닫히면 끝입니다. 그 뒤 수정은 저장소를 받아 평소처럼 개발하면 됩니다.

빌드는 Dockerfile 없이 합니다. package.json · go.mod · pom.xml · requirements.txt 같은 파일만 있으면 언어를 알아서 감지합니다 → 6장

이미 있는 앱 이름으로 만들라고 하면 새로 짓지 않고, 그 앱의 이슈를 읽고 이어받습니다.

AI 가 쓰는 도구 ​

AI 가 부르는 기능 목록입니다. 사람이 직접 부를 일은 없고, AI 가 무엇을 할 수 있는지 가늠할 때 봅니다.

분류도구하는 일
찾기catalog_search설치할 수 있는 자산을 찾습니다
resources이미 깔린 자산과 등록된 외부 자원을 봅니다
자산install카탈로그 자산을 설치합니다
status설치본·앱의 상태를 봅니다. 끝날 때까지 기다릴 수도 있습니다
앱 만들기app_create코드 없이 앱 자리를 만듭니다. 필요한 자원도 여기서 붙입니다
app_deploy_from_git이미 코드가 있는 Git 저장소를 바로 배포합니다
app_oidc앱에 로그인(SSO)을 붙입니다
app_env앱 환경변수를 바꿉니다 (지정한 키만)
코드app_scm_repoGitea 에 앱 저장소를 만듭니다
app_scm_credential그 저장소에 clone·push 할 자격을 붙입니다 — 토큰 값은 나오지 않습니다
app_commit파일 몇 개를 한 커밋으로 올립니다
app_local_env노트북에서 실행할 환경변수 파일을 받을 5분짜리 1회용 주소를 줍니다
배포app_build빌드하고, 성공하면 배포합니다
app_expose앱을 밖에서 열 주소를 만듭니다
app_webhook사람이 push 할 때 자동 빌드되도록 저장소에 훅을 겁니다
확인app_logs빌드·배포·실행 로그를 봅니다
app_trail이 앱이 어떻게 만들어졌는지 이력을 봅니다
기록app_issue작업 이유를 이슈로 열고, 붙이고, 닫습니다

할 수 없는 것 ​

할 수 없는 것대신
지우기 — 앱·설치본·주소를 삭제하는 도구가 없습니다사람이 화면에서 정리합니다. AI 는 시험용으로 만든 것을 이슈에 적어 둡니다 (환경변수만 AI 가 지울 수 있습니다)
protected 환경 작업토큰에 들어가지 않습니다. 운영 환경 반영은 사람이 합니다 → 6장 · 환경 승격
외부 자원 등록프로젝트 관리자가 한 번 등록하면 AI 가 가져다 씁니다 → 7장
비밀값 받기DB 비밀번호 같은 값은 AI 에게 돌려주지 않습니다. 로그에서도 지워서 줍니다
다른 프로젝트토큰은 발급한 프로젝트 하나에서만 동작합니다

AI 가 한 일 확인하기 ​

어디서무엇이 보이나
Gitea → 앱 저장소 → 이슈왜 이렇게 지었는지 · 무엇에 막혔고 어떻게 풀었는지
프로젝트 → Applications → 앱빌드 이력 · 배포 상태 · 주소
프로젝트 → OverviewAI 가 설치한 자산

어떻게 만들어졌나 — AI 가 부른 도구가 시간순으로 남습니다

AI 에게 "지금까지 한 일을 정리해 줘" 라고 하면 기억이 아니라 실제 호출 이력(app_trail)을 읽고 답합니다. 사람이 화면에서 한 일과 AI 가 한 일이 같은 이력에 구별되어 나옵니다.

토큰 회수 ​

  1. 프로젝트 → Overview → 노트북·AI 에서 dev 자원 쓰기 → AI 도구에 자격 주기 목록에서 토큰을 찾습니다.
  2. 휴지통 아이콘을 누릅니다 — 다음 요청부터 막힙니다.

목록에는 토큰 앞자리 · 이름 · 발급한 사람 · 상태(사용 중 · 회수됨 · 만료) · 마지막 사용일이 나옵니다. 사용 이력 없음 인 토큰은 회수해도 되는지 판단하는 단서입니다.

다음 → Gitea MCP

내 장비를 클라우드처럼.