lookup-user-by-email MCP Tool
개요
lookup-user-by-email MCP Tool은 사용자의 이메일 주소로 사용자 ID를 조회하는 도구입니다. 이메일 주소만 알고 있을 때 해당 사용자의 시스템 내 고유 ID를 찾아주어 다른 사용자 관련 작업을 수행할 수 있게 해줍니다.
이 문서에서는 다음 사용 방법을 다룹니다:
- JSON 형식: 구조화된 데이터로 정확한 제어가 필요한 경우
- LLM AI Chat: 자연어로 간편하게 사용하고 싶은 경우
두 방법 모두 같은 결과를 제공하며, 사용자의 선호도와 상황에 따라 선택할 수 있습니다.
도구 정보
- 이름:
lookup_user_by_email - 설명: 이메일 주소로 사용자 ID를 조회하는 도구
- 카테고리: 사용자 관리 도구
파라미터
필수 파라미터
| 파라미터 | 타입 | 설명 | 제약사항 |
|---|---|---|---|
email | string | 조회할 사용자의 이메일 주소 | 유효한 이메일 형식 (예: user@example.com) |
이메일 형식 검증
email은 다음 형식을 따라야 합니다:
- 유효한 이메일 주소 형식
- @ 기호 포함
- 도메인 부분 포함
- 예시:
user@example.com,test.user@company.co.kr
LLM AI Chat에서의 사용법
LLM AI Chat에서는 자연어로 이메일 주소를 이용한 사용자 조회를 요청할 수 있습니다.
기본 사용자 조회
이메일 주소 user@example.com의 사용자 ID를 찾아주세요.
또는
user@example.com으로 등록된 사용자의 ID를 조회해주세요.
문제 해결 목적 조회
고객이 이메일 user@example.com으로 문의했는데, 이 사용자의 ID를 찾아주세요.
이메일 user@example.com의 사용자 정보를 확인하고 싶습니다. 먼저 사용자 ID를 조회해주세요.
사용자 관리 목적 조회
이메일 user@example.com의 사용자 ID를 조회한 후 상태를 확인해주세요.
user@example.com 사용자의 계정 상태를 확인하기 위해 먼저 사용자 ID를 찾아주세요.
자연어 응답 예시
요청: "이메일 주소 swcbok@gmail.com의 사용자 ID를 찾아주세요."
응답: "이메일 주소로 사용자 ID를 조회했습니다.
📧 사용자 조회 결과:
- 이메일: swcbok@gmail.com
- 사용자 ID: 3a5822e5-595e-4bd5-b06a-f46104a34bd5
- 상태: 조회 성공
해당 이메일 주소로 등록된 사용자를 찾았습니다. 이 사용자 ID를 사용하여 추가적인 사용자 상태 조회나 다른 작업을 수행할 수 있습니다."
사용 예시 (JSON 형식)
기본 사용자 조회
{
"tool": "lookup_user_by_email",
"arguments": {
"email": "user@example.com"
}
}
특정 도메인 사용자 조회
{
"tool": "lookup_user_by_email",
"arguments": {
"email": "test.user@company.co.kr"
}
}
응답 형식
성공 응답 예시
{
"content": [
{
"type": "text",
"text": "User lookup successful:\n\nEmail: swcbok@gmail.com\nUser ID: 3a5822e5-595e-4bd5-b06a-f46104a34bd5\nStatus: Found"
}
]
}
응답 데이터 구조
| 필드 | 설명 |
|---|---|
Email | 조회에 사용된 이메일 주소 |
User ID | 찾은 사용자의 고유 ID (UUID 형식) |
Status | 조회 결과 상태 (Found/Not Found) |
사용 시나리오
시나리오 1: 고객 문의 처리
LLM AI Chat:
고객이 이메일 customer@example.com으로 문의했습니다.
이 사용자의 계정 상태를 확인하기 위해 먼저 사용자 ID를 조회해주세요.
JSON 형식:
{
"tool": "lookup_user_by_email",
"arguments": {
"email": "customer@example.com"
}
}
시나리오 2: 사용자 계정 관리
LLM AI Chat:
이메일 admin@company.com의 사용자 ID를 찾아서
해당 사용자의 상태를 확인해주세요.
JSON 형식:
{
"tool": "lookup_user_by_email",
"arguments": {
"email": "admin@company.com"
}
}
시나리오 3: 데이터 분석
LLM AI Chat:
이메일 researcher@university.edu 사용자의 설문 응답 데이터를 조회하고 싶습니다.
먼저 사용자 ID를 찾아주세요.
JSON 형식:
{
"tool": "lookup_user_by_email",
"arguments": {
"email": "researcher@university.edu"
}
}
시나리오 4: 사용자 지원
LLM AI Chat:
이메일 support@helpdesk.com의 사용자가 로그인 문제를 신고했습니다.
사용자 ID를 찾아서 최근 로그를 확인해주세요.
JSON 형식:
{
"tool": "lookup_user_by_email",
"arguments": {
"email": "support@helpdesk.com"
}
}
시나리오 5: 다른 도구와 연계 사용
LLM AI Chat:
이메일 test@example.com의 사용자 ID를 찾은 후,
해당 사용자의 현재 상태를 조회해주세요.
JSON 형식 (순차 실행):
// 1단계: 사용자 ID 조회
{
"tool": "lookup_user_by_email",
"arguments": {
"email": "test@example.com"
}
}
// 2단계: 조회된 사용자 ID로 상태 확인
{
"tool": "get_user_state",
"arguments": {
"userId": "조회된-사용자-ID"
}
}
문제 해결
일반적인 문제
- 이메일 형식 오류: 잘못된 이메일 형식 입력
- 사용자 미존재: 시스템에 등록되지 않은 이메일 주소
- 권한 부족: 사용자 조회 권한 없음
- 네트워크 오류: API 호출 실패
에러 응답 예시
이메일 형식 오류:
{
"content": [
{
"type": "text",
"text": "Error: Invalid email format. Please provide a valid email address\nEmail: invalid-email"
}
],
"isError": true
}
사용자 미존재:
{
"content": [
{
"type": "text",
"text": "User lookup failed:\n\nEmail: notfound@example.com\nStatus: Not Found\nMessage: No user found with this email address"
}
],
"isError": true
}
권한 부족:
{
"content": [
{
"type": "text",
"text": "Error looking up user:\n\nStatus Code: 403\nError Code: ACCESS_DENIED\nMessage: Access denied: Insufficient permissions\nEmail: restricted@example.com"
}
],
"isError": true
}
문제 해결 가이드
- 이메일 형식 확인: 올바른 이메일 형식인지 확인
- 사용자 등록 확인: 해당 이메일로 등록된 사용자가 있는지 확인
- 권한 확인: 사용자 조회 권한이 있는지 확인
- API 상태 확인: 사용자 관리 API 서비스 상태 확인
모니터링 및 추적
1. 조회 이력 추적
LLM AI Chat:
최근 24시간 동안 사용자 조회 관련 로그를 확인해주세요.
JSON 형식:
{
"tool": "query_recent_errors",
"arguments": {
"hours": 24,
"serviceName": "user-lookup"
}
}
2. 조회 실패 분석
LLM AI Chat:
사용자 조회 실패 관련 에러 패턴을 분석해주세요.
JSON 형식:
{
"tool": "analyze_error_patterns",
"arguments": {
"startTime": "2024-01-01T00:00:00.000Z",
"endTime": "2024-01-08T00:00:00.000Z",
"serviceName": "user-lookup"
}
}
성능 고려사항
- 캐싱: 자주 조회되는 이메일-사용자 ID 매핑은 캐시 활용
- 인증: Service Account 토큰 사용으로 보안 강화
- 검증: 이메일 형식 검증으로 불필요한 API 호출 방지
- 에러 처리: 명확한 에러 메시지 제공
보안 및 프라이버시
- Service Account 토큰 인증 필요
- 이메일 주소 정보 보호 준수
- 권한이 있는 사용자만 조회 가능
- 개인정보 취급 규정 준수
- 로그 기록을 통한 접근 추적
관련 도구
- get-user-state: 조회된 사용자 ID로 상태 확인
- questionnaire_data_query: 사용자 설문 데이터 조회
- query-recent-errors: 사용자 관련 오류 조회