DB: webmcp (MariaDB) · 이식 스크립트: webmcp/backend/init.sql
테이블 1: tenants (도메인별 Gemini 키/한도)
| 컬럼 | 타입 | 설명 |
id | INT UNSIGNED PK | 자동 증가 |
origin | VARCHAR(255) UNIQUE | 도메인 (예: https://yonza.co.kr) |
site_ns | VARCHAR(64) | WebMCPConfig.siteNs |
gemini_key | TEXT | Gemini API 키 (DB에만 보관) |
model_name | VARCHAR(128) | Gemini 모델 |
rate_limit | INT UNSIGNED | 분당 도메인 호출 한도 |
tier | VARCHAR(32) | dev / prod |
enabled | TINYINT(1) | 활성 여부 |
테이블 2: request_logs (요청 로깅/비정상 접속 감지)
| 컬럼 | 타입 | 설명 |
id | BIGINT UNSIGNED PK | 자동 증가 |
ts | DATETIME(3) | 요청 시각 |
origin | VARCHAR(255) | Origin 헤더 |
referer | TEXT | Referer 헤더 |
user_agent | TEXT | User-Agent |
sec_ch_ua | TEXT | Client Hints |
ip | VARCHAR(64) | 요청 IP |
path | VARCHAR(255) | 요청 경로 |
body_len | INT UNSIGNED | 본문 길이 |
verdict | VARCHAR(32) | ok / blocked_401 / 403 / 429 |
reason | VARCHAR(255) | 차단 사유 |