Claude Code
Email checker with Claude Code. MCP Server setup for email verification in Claude.
Claude Code는 개발 워크플로우 중에 EmailVerify를 직접 호출하여 이메일을 검증할 수 있는 Anthropic의 CLI 프로그래밍 어시스턴트입니다.
Claude Code란?
Claude Code는 개발자를 돕는 터미널 기반 AI 어시스턴트입니다:
- 코드 작성 및 디버깅
- 셸 명령 실행
- 파일 작업
- API 상호작용
설정
옵션 1: MCP 서버 (권장)
Claude Code에 EmailVerify MCP 서버를 추가하세요:
claude mcp add emailverify -- npx -y @emailverify/mcp-server또는 ~/.claude/claude_code_config.json에 추가하세요:
{
"mcpServers": {
"emailverify": {
"command": "npx",
"args": ["-y", "@emailverify/mcp-server"],
"env": {
"EMAILVERIFY_API_KEY": "your-api-key-here"
}
}
}
}옵션 2: EmailVerify CLI
EmailVerify CLI를 설치하세요:
npm install -g @emailverify/cli
bv config set api-key YOUR_API_KEY그러면 Claude Code가 bv 명령을 직접 사용할 수 있습니다.
사용 예제
단일 이메일 검증
사용자: john@example.com이 유효한 이메일인지 확인해줘
Claude Code:
그 이메일 주소를 검증해드리겠습니다.
verify_email 도구 사용 중...
✅ john@example.com은 유효합니다
- 전달 가능: 예
- 일회용: 아니요
- 점수: 0.95
이 이메일은 유효하고 사용하기에 안전합니다.여러 이메일 검증
사용자: .env 파일에 있는 이메일들을 확인해줘
Claude Code:
.env 파일을 읽고 발견된 이메일 주소들을 검증하겠습니다.
.env 읽는 중...
3개의 이메일 주소를 찾았습니다:
- TEST_EMAIL=user@example.com
- ADMIN_EMAIL=admin@company.com
- SUPPORT_EMAIL=help@temp-mail.org
각각 검증 중...
| 이메일 | 상태 | 참고 |
|--------|------|------|
| user@example.com | 알 수 없음 | 예제 도메인 |
| admin@company.com | 유효 | 기업 이메일 |
| help@temp-mail.org | 유효하지 않음 | 일회용 이메일 |
권장사항: temp-mail 주소를 테스트용 실제 이메일로 교체하세요.이메일 목록 정리
사용자: contacts.csv의 이메일 목록을 정리하고 유효하지 않은 주소를 제거해줘
Claude Code:
contacts.csv 파일을 처리하고 각 이메일을 검증하겠습니다.
contacts.csv 읽는 중... 150개의 이메일 주소를 찾았습니다.
이메일 검증 중 (잠시 기다려주세요)...
결과:
- 유효: 142개 이메일
- 유효하지 않음: 5개 이메일
- 알 수 없음: 3개 이메일
유효한 이메일만 포함된 cleaned_contacts.csv 생성 중...
완료! 8개의 문제 있는 이메일을 제거했습니다.
제거된 유효하지 않은 이메일:
- fake@asdfgh.xyz (도메인이 존재하지 않음)
- test@mailinator.com (일회용)
- bounce@invalid.net (메일함을 찾을 수 없음)
...커밋 전 확인
사용자: 커밋하기 전에 테스트 픽스처의 테스트 이메일들을 검증해줘
Claude Code:
테스트 픽스처에서 이메일 주소를 확인하겠습니다.
test/ 디렉토리 스캔 중...
test/fixtures/users.json에서 이메일을 찾았습니다
5개의 테스트 이메일 검증 중...
⚠️ 경고: 잠재적인 문제가 발견되었습니다:
1. test@mailinator.com - 일회용 이메일입니다
테스트 픽스처에는 @example.com 사용을 권장합니다 (RFC 2606 예약됨)
2. admin@real-company.com - 실제 회사 이메일로 보입니다
테스트 픽스처에 실제 이메일을 사용하지 않는 것이 좋습니다
제안:
- 테스트 이메일에는 @example.com, @example.org 사용
- user{n}@example.com 패턴 사용
- 테스트에 실제 회사 이메일 사용 금지워크플로우 패턴
Pre-commit 훅
Claude Code에 워크플로우에 이메일 유효성 검사를 설정하도록 요청하세요:
사용자: 설정 파일의 새 이메일 주소를 검증하는 pre-commit 훅을 추가해줘
Claude Code:
이메일 검증용 pre-commit 훅을 생성하겠습니다.
.husky/pre-commit 생성 중...
#!/bin/sh
# 설정 파일에서 새 이메일 주소 확인
emails=$(git diff --cached --diff-filter=ACMR -- "*.json" "*.yaml" "*.env*" | \
grep -oE '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}')
if [ -n "$emails" ]; then
echo "Verifying new email addresses..."
for email in $emails; do
result=$(bv verify "$email" --quiet)
if [ $? -eq 1 ]; then
echo "❌ Invalid email found: $email"
exit 1
fi
done
echo "✅ All emails verified"
fi
완료! 이 훅은 각 커밋 전에 이메일을 검증합니다.CI/CD 통합
사용자: GitHub Actions 워크플로우에 이메일 검증을 추가해줘
Claude Code:
워크플로우에 이메일 검증 단계를 추가하겠습니다.
.github/workflows/ci.yml 업데이트 중...
- name: Verify Test Emails
env:
EMAILVERIFY_API_KEY: ${{ secrets.EMAILVERIFY_API_KEY }}
run: |
npm install -g @emailverify/cli
# 테스트 픽스처에서 이메일 추출 및 검증
grep -rhoE '[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}' test/ | \
sort -u | while read email; do
if ! bv verify "$email" --quiet; then
echo "Invalid email in tests: $email"
exit 1
fi
done
리포지토리 시크릿에 EMAILVERIFY_API_KEY를 추가하는 것을 잊지 마세요.팁
1. 자연어
필요한 것을 설명하기만 하면 됩니다:
- "이 이메일이 진짜인지 확인해줘"
- "데이터베이스 시드의 가입 이메일을 검증해줘"
- "이 프로젝트의 모든 이메일 주소를 찾아서 검증해줘"
2. 일괄 작업
여러 이메일의 경우 Claude Code에 일괄 처리를 요청하세요:
- "contacts.json의 모든 이메일을 검증해줘"
- "users.csv의 이메일 열을 확인해줘"
3. 통합 제안
모범 사례를 요청하세요:
- "가입 폼에서 이메일을 어떻게 검증해야 하나요?"
- "메일링 리스트를 정리하는 가장 좋은 방법은 무엇인가요?"