← 통제 메뉴(콘솔)개발자 문서
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로 조회합니다.