−25%

Windows 연간 결제, 10월 31일까지. 요금제 보기

EQVPS
시작하기

MCP 가드레일: AI 에이전트를 위한 안전한 권한

AI 에이전트에게 서버 토큰을 넘기기 전에, 무엇을 건드릴 수 있는지 정확히 알아 두세요. EQVPS MCP 도구 45개 전체의 위험 등급, 서버가 강제하는 제한, 그리고 저희라면 쓸 구성.

마지막 확인: 2026-10-04 · MCP 서버 1.6.0 · 도구 45개 (고객 토큰)

MCP 토큰은 API가 붙은 계정 비밀번호입니다. 에이전트에게 넘기면 지치지 않고, 가리키는 페이지는 무엇이든 읽고, 컨텍스트의 마지막 지시가 시키는 대로 정확히 움직이는 사용자가 하나 생깁니다. 대부분은 그게 원하는 바입니다. 이 페이지는 그렇지 않은 경우에 관한 이야기입니다.

아래 내용은 모두 페이지 상단의 날짜에 운영 서버에서 확인했습니다. 도구 목록은 https://mcp.eqvps.com/mcp의 tools/list에서, 제한은 API 자체에서 가져왔습니다. 처음이라면 먼저 MCP 클라이언트 연결과 API 토큰을 읽고 돌아오세요.

위협 모델: 실제로 무엇이 잘못되나

저희가 자주 보는 순서대로 세 가지입니다.

  1. 에이전트가 잘못 알아듣는다. "테스트 서버 정리해 줘"가 엉뚱한 서버의 재설치로 바뀝니다. 악의는 없고, 모델이 지시의 빈틈을 스스로 채웠을 뿐입니다.
  2. 프롬프트 인젝션. 에이전트가 당신이 쓰지 않은 글(README, 고객지원 답변, 스크랩한 웹페이지)을 읽고, 그 글이 무언가를 하라고 시킵니다. 에이전트가 전체 권한 토큰을 들고 있다면, 주입된 지시도 같은 권한을 갖게 됩니다.
  3. 토큰이 유출된다. 셸 기록, 공개 저장소, 공유된 MCP 설정, 로그 한 줄에 들어가 버립니다.

MCP 서버가 확인하는 것은 토큰이 유효한지, 그리고 서버가 그 계정 소유인지(또는 위임받았는지)뿐입니다. 당신이 원래 무엇을 의도했는지는 모릅니다. 아래 가드레일은 모두 한 가지 질문에 답합니다. 지시가 틀렸을 때 피해는 어디까지 갈 수 있나?

위험 등급별 전체 MCP 도구

고객 토큰에는 도구 45개가 보입니다(MCP 서버 1.6.0). 리셀러 토큰(rk_…)에는 별도의 리셀러 도구 30개가 보이고 여기 있는 도구는 하나도 보이지 않으므로, 엔드포인트 전체로는 75개입니다. 클라이언트는 tools/list로 자기 몫만 받습니다.

이 페이지는 도구를 위험도별로 나눕니다. 각 도구의 파라미터와 호출 예시는 파라미터 레퍼런스에, 리셀러 도구 30개를 포함한 전체 도구의 한 줄 설명은 전체 목록에 있습니다.

MCP 도구 주석(readOnlyHint, destructiveHint)은 아직 제공하지 않으므로 클라이언트가 스스로 분류할 수 없습니다. 아래 등급을 기준으로 승인 설정을 직접 하세요.

0등급 — 공개, 토큰 불필요 (5)

도구하는 일
get_started전체 흐름을 한 번에 반환: 어떤 도구를 어떤 순서로 부를지
list_plans요금제, 가격, OS 이미지
sandbox_pricing샌드박스 요금
register_account새 계정을 만들고 그 토큰을 반환
login이메일 + 비밀번호 → 토큰

1등급 — 계정 읽기, 부작용 없음 (15)

도구하는 일주의할 점
whoami계정 ID, 이름, 이메일
get_balance선불 잔액
list_vps실행 중·생성 중·정지된 서버
get_vps_status상태, 사양, 접속 정보reveal: true이면 root 비밀번호를 반환
get_vps_metrics시간에 따른 CPU, 메모리, 네트워크, 디스크
get_upgrade_options재설치 없이 바꿀 수 있는 요금제
list_delegations누구에게 접근 권한을 줬는지
list_delegated_to_me다른 사람이 당신에게 위임한 서버
list_tickets내 고객지원 티켓
get_ticket티켓 하나와 전체 대화티켓 내용은 에이전트에게 신뢰할 수 없는 입력
list_sandboxes내 샌드박스
get_sandbox샌드박스 하나와 사용량
get_task백그라운드 작업의 출력
download_file샌드박스에서 작은 파일을 읽음
get_download_url샌드박스 파일 하나에 대한 단기 링크만료 전까지 링크를 가진 누구나 다운로드 가능

2등급 — 상태를 바꾸지만 돈은 쓰지 않음 (17)

도구하는 일주의할 점
power_vpsstart / stop / rebootstop은 진짜 멈춤: 서비스가 내려감
set_hostname서버 이름 변경confirm이 비교하는 바로 그 값이 바뀜
undo_cancel기간 말 예약 해지를 취소
refresh_token새 토큰 발급, 기존 토큰 즉시 폐기고정 설정은 이후 갱신할 것
set_password비밀번호가 없는 계정에 비밀번호 설정토큰을 가진 사람이 먼저 설정할 수 있음
topup_balance충전 인보이스 + 암호화폐 결제 링크결제에는 지갑이 필요
pay_invoice미결제 인보이스의 결제 링크위와 같음
accept_delegation위임 초대 수락
revoke_delegation위임 종료
create_ticket / reply_ticket / close_ticket고객지원 티켓에이전트가 당신 이름으로 고객지원에 글을 씀
run_code / exec_command샌드박스 안에서 코드 실행샌드박스 안에서만, 당신의 VPS가 아님
kill_task샌드박스의 백그라운드 작업 중지
upload_file / get_upload_url샌드박스에 파일을 넣음

3등급 — 돈을 쓰거나, 데이터를 지우거나, 접근 권한을 줌 (8)

도구하는 일서버 측 검사
order_vps서버 주문, 잔액에서 결제잔액 부족 → 미결제 인보이스, 차감 없음
change_plan재설치 없이 요금제 변경, 차액은 잔액에서confirm: true; 잔액 부족 → 402
create_sandbox과금되는 샌드박스 시작잔액 0 → 402
reinstall_vps디스크를 지우고 새 OS 설치confirm = 정확한 호스트 이름 또는 DELETE; 분당 4회
reset_password새 root 비밀번호, 기존 비밀번호는 무효confirm = 호스트 이름 또는 DELETE; 분당 6회
cancel_serviceend_of_period(기본값, 되돌릴 수 있음) 또는 immediate(서버를 즉시 파기)immediate는 confirm = 호스트 이름 필요
kill_sandbox샌드박스와 파일을 삭제없음
delegate_service다른 사람에게 서버 운영자 권한 부여소유자만; 상대방이 수락해야 함

도구 세트 변경 기록

날짜서버 버전변경위험에 미치는 영향
2026-10-031.6.0refresh_token 추가; 토큰 기본 유효기간 1년2등급
2026-10-031.5.0undo_cancel, get_upgrade_options, change_planchange_plan은 잔액을 씀 → 3등급
2026-10-031.1.0샌드박스 도구 13개create_sandbox는 지출, kill_sandbox는 파기 → 3등급

현재 실행 중인 버전은 공개되어 있습니다: curl -s https://mcp.eqvps.com/healthz. 버전이 바뀌면 이 표도 함께 바뀝니다.

잔액이 곧 지출 한도

EQVPS는 선불제입니다. 저장된 카드도, 신용 한도도, 마이너스 잔액도 없으니 에이전트가 쓸 수 있는 최대 금액은 잔액에 있는 만큼입니다. 돈을 쓰는 도구는 order_vps, change_plan, create_sandbox 세 개입니다. 기존 서버의 갱신 요금도 같은 잔액에서 빠집니다.

에이전트는 결제 요청은 만들 수 있지만 결제는 할 수 없습니다. topup_balance와 pay_invoice는 암호화폐 결제 링크를 반환하는데, 뒤에 지갑이 없으면 링크는 아무 일도 하지 않습니다. 출금 엔드포인트도 없습니다. 잔액의 돈은 당신 계정 안에서 서비스를 사는 데만 쓸 수 있고 밖으로 빼낼 수 없습니다. 즉시 해지에 따른 환불도 잔액으로 돌아옵니다.

한 가지 주의할 점이 있고, 이건 진지한 이야기입니다. 에이전트를 묶어 두려고 잔액을 너무 적게 유지하면 당신 서버의 갱신이 실패하기 시작하고, 서버는 유예 기간에 들어갑니다. 저희 기준은 이미 운영 중인 것의 갱신 한 주기분에 에이전트의 현재 작업 예산을 더한 금액입니다. 계산 방법은 에이전트 예산 가이드에 정리해 두었습니다. 그리고 에이전트에게 돈이 든 별도 지갑을 준다면, 그 지갑이 두 번째 한도가 되니 그것도 지켜봐야 합니다.

최소 권한: 읽기 전용 토큰은 (아직) 없다

솔직히 말해, 모든 고객 토큰은 대시보드의 계정과 같은 권한을 가집니다. 토큰 이름과 유효기간은 설정할 수 있지만 스코프는 설정할 수 없습니다.

지금 가장 좁게 줄일 수 있는 방법은 위임입니다. 잔액 0인 별도 계정을 에이전트에게 만들어 주고 서버 한 대를 위임합니다.

delegate_service  { "service_id": "EQ-XXXX", "email": "agent@yourdomain.com", "expires_days": 30 }

REST로도 똑같이 할 수 있습니다.

curl -s -X POST "https://api.eqvps.com/api/v1/eqvps/services/EQ-XXXX/delegations" \
  -H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
  -d '{"email":"agent@yourdomain.com","expires_days":30}'

초대는 해당 이메일로 로그인한 상태에서 수락해야 하며(accept_delegation), expires_days는 1~365입니다. 스크린샷이 있는 단계별 안내: 접근 권한 위임, 문서의 접근 권한 항목.

위임받은 계정이 할 수 있는 것위임받은 계정이 할 수 없는 것
그 서버 한 대의 상태·지표·기록 보기당신의 다른 서버, 잔액, 인보이스 보기
켜기, 끄기, 재부팅해지, 갱신, 요금제 변경
호스트 이름과 역방향 DNS 설정부가 서비스나 IP 구매
root 비밀번호 재설정웹 콘솔 열기
OS 재설치서버를 다른 사람에게 다시 위임

왼쪽 열의 마지막 두 줄을 보세요. 위임받은 사람은 당신의 돈을 쓸 수 없지만 그 서버를 지울 수는 있습니다. 에이전트가 재설치할 수 있는 서버에는 반드시 백업을 켜 두세요.

토큰 관리

에이전트마다 토큰 하나, 이름을 붙여서. 대시보드 → 설정 → 에이전트용 API 토큰에서 만들거나, 다음처럼 만듭니다.

curl -s -X POST "https://api.eqvps.com/api/v1/eqvps/auth/tokens" \
  -H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
  -d '{"name":"backup-agent","expires_in_days":90}'

토큰은 한 번만 표시됩니다. 유효기간은 1~1825일이고 지정하지 않으면 365일입니다. 에이전트용이라면 저희는 90일을 고르겠습니다.

나만 읽을 수 있는 파일에 보관하세요. 저장소에도, 프롬프트에도, 여기저기 복사하는 셸 변수에도 두지 마세요.

mkdir -p ~/.config/eqvps && chmod 700 ~/.config/eqvps
( umask 077; read -rsp 'EQVPS token: ' T; echo; printf 'EQVPS_TOKEN=%s\n' "$T" > ~/.config/eqvps/agent.env )
ls -l ~/.config/eqvps/agent.env   # 기대값: -rw-------

그런 다음 에이전트 서비스에서 EnvironmentFile=(systemd)나 set -a; . ~/.config/eqvps/agent.env; set +a로 불러옵니다.

만료 전에 교체하세요. refresh_token 도구나 POST /auth/tokens/{id}/refresh는 같은 이름의 새 토큰을 발급하고 기존 토큰을 즉시 폐기합니다. MCP 클라이언트 설정에 토큰을 직접 적어 두었다면 바로 갱신하세요. 그러지 않으면 다음 세션은 401을 받습니다.

누가 무엇을 쓰는지 확인하세요: GET /auth/tokens는 각 토큰의 이름, 만료일, last_used_at을 보여 줍니다. 모르는 토큰이나 에이전트를 끈 뒤에 사용된 토큰이 보이면 그게 경고 신호입니다.

토큰이 유출되면

이 순서로 하세요.

  1. 폐기합니다. 대시보드 → 설정 → 에이전트용 API 토큰 → 폐기, 또는 curl -s -X DELETE -H "Authorization: Bearer $EQVPS_TOKEN" https://api.eqvps.com/api/v1/eqvps/auth/tokens/<id>. 다음 요청부터 작동하지 않습니다.
  2. 직접 만들지 않은 새 토큰을 찾아 함께 폐기합니다.
  3. 피해 범위를 점검합니다: 서버별 서비스 기록, 인보이스와 잔액, 그리고 list_delegations에 당신이 주지 않은 접근 권한이 있는지.
  4. root 비밀번호를 바꿉니다. 그 토큰이 볼 수 있던 서버 전부입니다. reveal: true를 붙인 get_vps_status는 root 비밀번호를 내주므로, 토큰 유출은 곧 root 비밀번호 유출입니다. 내친김에 ~/.ssh/authorized_keys도 확인하세요.
  5. 비밀번호라는 문을 닫습니다. 계정에 비밀번호를 한 번도 설정한 적이 없다면, 토큰을 가진 사람이 set_password로 설정했을 수 있습니다. 이메일 코드로 로그인해서 비밀번호를 바꾸세요.

5단계 예방에는 비용이 들지 않습니다. 지금 직접 계정 비밀번호를 설정해 두면, 이후 누가 set_password를 불러도 409만 돌아갑니다.

사람의 승인

서버가 강제하는 것:

  • reinstall_vps, reset_password, type: immediate인 cancel_service는 confirm에 정확한 호스트 이름이 필요합니다(재설치와 재설정은 DELETE도 가능).
  • change_plan은 confirm: true가 필요합니다.
  • 기본 해지 방식은 end_of_period입니다. 서버는 결제된 기간이 끝날 때까지 돌아가고, undo_cancel로 되돌릴 수 있습니다.
  • 계정당 호출 제한: 재설치 분당 4회, 비밀번호 재설정 분당 6회, 전원 분당 20회, 주문 분당 20회. 루프에 빠진 에이전트가 같은 일을 50번 하는 건 막지만, 잘못된 호출 한 번은 막지 못합니다.

confirm이 무엇인지 분명히 해 둡시다. 에이전트가 "거기 정리해"라는 말에 바로 움직이는 걸 막아 줍니다. 공격자는 막지 못합니다. 호스트 이름은 get_vps_status 한 번이면 얻을 수 있으니까요. 진짜 승인은 MCP 클라이언트에 있습니다. 대부분의 클라이언트는 도구를 호출할 때마다 물어볼 수 있습니다. 0·1등급은 자유롭게 두고, 3등급은 항상 묻도록 하세요. 도구별 권한을 지원하는 클라이언트, 예컨대 Claude Code의 settings.json(서버를 eqvps로 등록한 경우)에서는:

{
  "permissions": {
    "ask": ["mcp__eqvps__order_vps", "mcp__eqvps__change_plan", "mcp__eqvps__create_sandbox", "mcp__eqvps__reset_password", "mcp__eqvps__delegate_service"],
    "deny": ["mcp__eqvps__reinstall_vps", "mcp__eqvps__cancel_service", "mcp__eqvps__kill_sandbox"]
  }
}

에이전트 지시문에도 한 줄 추가하세요. 그 자체로 보안 장치는 아니지만 "잘못 알아들은" 경우를 줄여 줍니다(영어 그대로 두세요. 모델은 똑같이 이해합니다).

Never call reinstall_vps, reset_password, cancel_service (type=immediate), change_plan,
order_vps, create_sandbox, kill_sandbox or delegate_service unless the human has typed
the target server's hostname in this conversation for that specific action.

에이전트가 장기 토큰 대신 이메일 코드로 로그인한다면 MCP를 통한 에이전트 로그인을 참고하세요.

감사: 나중에 무엇을 볼 수 있나

  • 토큰 목록(GET /auth/tokens, 또는 설정 → 에이전트용 API 토큰): 이름, 생성일, 만료일, last_used_at. 토큰에 에이전트별 이름을 붙여야 하는 이유가 여기 있습니다.
  • 서비스 기록(대시보드의 서버 페이지): 전원 조작, 재설치, 비밀번호 재설정, 요금제 변경, 결제가 각각 시각과 주체(고객님, 지원팀, 자동)와 함께 남습니다. 어떤 토큰이나 위임받은 사람이 했는지는 알려 주지 않고, 당신 쪽에서 온 동작이라는 것만 보여 줍니다.
  • 인보이스와 잔액: 모든 차감과 환불.
  • list_delegations: 누가 무엇에, 언제까지 접근할 수 있는지.

서비스 기록의 이 빈틈이 현재 서버 측 감사의 솔직한 한계입니다. 어떤 에이전트가 무엇을 했는지 알아야 한다면, 에이전트 쪽에서 모든 도구 호출을 인자와 함께(비밀 정보는 빼고) 기록하세요.

저희라면 쓸 구성

운영 서버 한 대를 관리하는 에이전트라면:

  1. 에이전트 전용 계정, 잔액 0, 서버는 expires_days: 90으로 위임.
  2. 소유자 토큰은 당신이 보관하고 어떤 에이전트 설정에도 넣지 않음.
  3. 그 서버에 백업 켜기. 위임받은 사람은 재설치할 수 있으니까.
  4. 클라이언트에서 3등급 도구는 "ask" 또는 "deny".
  5. 에이전트 토큰은 권한 600 파일에 두고 만료 전에 갱신.

서버를 주문하거나 샌드박스를 돌려야 하는 에이전트에게는 위임만으로 부족합니다. 잔액이 필요하기 때문입니다. 그때는 잔액이 한도입니다. 작업 단위로 충전하고, 토큰에 이름을 붙이고, 일주일에 한 번 last_used_at을 확인하세요. 읽기 전용 토큰이 있으면 에이전트를 운영하는 방식이 달라질 것 같다면 고객지원으로 알려 주세요. 다음에 무엇을 만들지는 바로 그런 의견으로 정해집니다.

자주 묻는 질문

AI 에이전트에게 읽기 전용 접근 권한을 줄 수 있나요?

토큰으로는 아직 안 됩니다. 모든 고객 토큰은 대시보드의 계정과 같은 권한을 가집니다. 가장 가까운 방법은 위임입니다. 잔액이 없는 별도 계정을 에이전트에게 만들어 주고 서버 한 대를 위임하세요. 에이전트는 그 서버를 보고 조작할 수 있지만 돈을 쓰거나, 해지하거나, 콘솔을 열거나, 다시 위임할 수는 없습니다. 재부팅, root 비밀번호 재설정, 재설치는 여전히 가능하니 그 서버에는 백업을 켜 두세요.

에이전트의 지출을 어떻게 제한하나요?

선불 잔액으로 제한합니다. 돈을 쓰는 도구는 세 개뿐이고(order_vps, change_plan, create_sandbox) 모두 잔액에서 차감됩니다. 잔액이 부족하면 402 또는 미결제 인보이스가 반환됩니다. 에이전트는 충전 링크나 결제 링크를 만들 수 있지만, 결제에는 암호화폐 지갑이 필요하므로 결제는 사람이 합니다. 저장된 카드도 없고 마이너스 잔액도 없습니다.

에이전트가 제 서버를 삭제하는 걸 무엇이 막나요?

reinstall_vps, reset_password, 즉시 실행되는 cancel_service는 confirm에 정확한 호스트 이름을 요구합니다(재설치와 재설정은 DELETE도 가능). 기본 해지 방식은 end_of_period라서 서버는 계속 돌아가고 undo_cancel로 되돌릴 수 있습니다. 위임받은 계정은 해지 자체가 불가능합니다. confirm 필드는 모호한 지시로 움직이는 에이전트는 막지만, 토큰을 손에 넣은 공격자는 막지 못합니다. 그러니 MCP 클라이언트에서도 이 도구들을 항상 묻도록 설정하세요.

Bearer 토큰이 유출되면 어떻게 해야 하나요?

즉시 폐기하세요(대시보드 → 설정 → 에이전트용 API 토큰, 또는 DELETE /auth/tokens/{id}). 그다음 토큰 목록에 모르는 토큰이 없는지 확인하고, 서버별 서비스 기록, 인보이스, list_delegations를 살펴본 뒤, 그 토큰이 볼 수 있던 서버의 root 비밀번호를 바꾸세요. reveal을 붙인 get_vps_status는 root 비밀번호를 반환합니다.

EQVPS MCP 서버에는 도구가 몇 개 있나요?

MCP 서버 1.6.0 기준(2026-10-04 확인) 고객 토큰에는 45개입니다. 공개 5개, 읽기 전용 15개, 지출 없이 상태를 바꾸는 17개, 돈을 쓰거나 데이터를 지우거나 접근 권한을 주는 8개입니다. 리셀러 토큰에는 대신 별도의 리셀러 도구 30개가 보이며, 같은 엔드포인트에 총 75개가 있습니다.

댓글

아직 댓글이 없습니다. 첫 번째가 되세요.

댓글 남기기

댓글은 표시되기 전에 검토됩니다.