🌐 WebMCP 프록시 연동 데모

📋 데모에 설정된 WebMCP 정보
항목
siteNsyonja
프록시 엔드포인트/api/chat → 백엔드(8001)
Gemini 키DB(webmcp.tenants)에서 도메인별 조회
모델gemini-3.5-flash-lite
등록된 WebMCP 툴
설명
yonja.service.get_info서비스/가격 정보 조회
yonja.consultant.get_info상담사 정보 조회
yonja.diagnosis.submit재회 가능성 진단 제출
�️ 클라이언트 / 서버 정보
클라이언트 (프론트엔드)
항목
위젯widget.js + widget.css
공용 라이브러리webmcp.js (프록시 호출)
설정yonja-config.js (WebMCPConfig + 지식)
접속 URLhttp://192.168.31.136:8081/
서버 (백엔드)
항목
웹서버nginx (8081 포트, standalone)
백엔드FastAPI (uvicorn, 8001 포트, systemd)
DBMariaDB webmcp (192.168.31.136)
테이블tenants, request_logs
⚙️ WebMCP.config 설정 정보

yonja-config.js 에 정의된 window.WebMCPConfig 실제 전체 코드입니다.

로딩 중...
🗄️ DB 스키마 정보

DB: webmcp (MariaDB) · 이식 스크립트: webmcp/backend/init.sql

테이블 1: tenants (도메인별 Gemini 키/한도)
컬럼타입설명
idINT UNSIGNED PK자동 증가
originVARCHAR(255) UNIQUE도메인 (예: https://yonza.co.kr)
site_nsVARCHAR(64)WebMCPConfig.siteNs
gemini_keyTEXTGemini API 키 (DB에만 보관)
model_nameVARCHAR(128)Gemini 모델
rate_limitINT UNSIGNED분당 도메인 호출 한도
tierVARCHAR(32)dev / prod
enabledTINYINT(1)활성 여부
테이블 2: request_logs (요청 로깅/비정상 접속 감지)
컬럼타입설명
idBIGINT UNSIGNED PK자동 증가
tsDATETIME(3)요청 시각
originVARCHAR(255)Origin 헤더
refererTEXTReferer 헤더
user_agentTEXTUser-Agent
sec_ch_uaTEXTClient Hints
ipVARCHAR(64)요청 IP
pathVARCHAR(255)요청 경로
body_lenINT UNSIGNED본문 길이
verdictVARCHAR(32)ok / blocked_401 / 403 / 429
reasonVARCHAR(255)차단 사유
�🚀 사용 방법
  1. 우측 하단 💬 버튼을 눌러 AI 비서를 엽니다.
  2. 하단의 퀵 질문(서비스 소개 · 가격 · 상담사 · 유튜브 · 진단)을 클릭하거나 직접 질문을 입력합니다.
  3. AI가 등록된 WebMCP 툴과 DB 키를 통해 Gemini로 답변합니다.
  4. ✕ 버튼으로 닫고, 💬 버튼으로 다시 열 수 있습니다.