Agent Store
← 통제 메뉴(콘솔)개발자 문서

Admin API — 접근 통제를 코드로

멤버·API 키별로 어떤 MCP 서버와 메서드를 쓸 수 있는지, 호출 한도(횟수·금액·분당)와 허용 IP를 — 콘솔 없이 프로그램으로 관리합니다.

1. 인증

콘솔 → API 키에서 관리자가 'admin' 스코프 키를 발급하세요. 모든 요청에 Bearer로 넣습니다. 기본 주소:

Base: https://agent.store/api/v1/admin
Authorization: Bearer <admin-scoped API key>

2. 엔드포인트

GET/servers서버·메서드·켜짐 상태
POST/servers/{slug}/enable서버 켜기/끄기
GET/members멤버 목록(user_id)
GET/keysAPI 키 목록(key_id)
GET/policies접근/한도 정책 목록
POST/policies정책 설정(서버·메서드 허용/차단, 한도)
DELETE/policies/{id}정책 삭제
GET/ip-allowlists허용 IP 목록
POST/ip-allowlists허용 IP 추가
DELETE/ip-allowlists/{id}허용 IP 삭제

3. 정책 모델

정책은 (대상 × 서버 × 메서드)로 적용되며, 가장 좁은 대상이 이깁니다. 대상(subject_type)은 org · user · key. 기본은 deny-by-default(서버를 먼저 켜야 함). 한도는 어느 단계에서든 더 낮은 값이 적용됩니다.

  • enabled이 대상이 이 서버/메서드를 쓸 수 있는지 (true/false/null=상속)
  • monthly_credit_cap월 사용 금액 한도(크레딧)
  • monthly_call_cap월 호출 횟수 한도
  • rpm_cap분당 호출 한도

IP 허용 목록: 한 대상에 항목이 하나라도 있으면 그 대상의 호출은 반드시 목록의 IP/CIDR에서 와야 합니다(없으면 제한 없음). 키 > 사용자 > 조직 순으로 좁은 대상이 우선합니다.

4. 예시

어떤 멤버가 DART 서버만 쓰고, 월 5,000 크레딧·월 1,000회로 제한:

curl -X POST https://agent.store/api/v1/admin/policies \
  -H "Authorization: Bearer <admin-key>" -H "Content-Type: application/json" \
  -d '{
    "subject_type": "user",
    "subject_id": "<user_id>",
    "server_id": "<dart server_id>",
    "enabled": true,
    "monthly_credit_cap": 5000,
    "monthly_call_cap": 1000,
    "rpm_cap": 60
  }'

특정 API 키는 회사 고정 IP에서만 호출 허용:

curl -X POST https://agent.store/api/v1/admin/ip-allowlists \
  -H "Authorization: Bearer <admin-key>" -H "Content-Type: application/json" \
  -d '{ "subject_type": "key", "subject_id": "<key_id>", "cidr": "203.0.113.7/32", "label": "HQ" }'

ID는 GET /members · /keys · /servers로 조회합니다.

관리자 키 발급하러 가기 →