Claude Code, Cursor, Windsurf를 위한 SMS, OTP, 웹훅
본인의 안드로이드 휴대폰을 코딩 어시스턴트에 연결하여 무제한 SMS 발송, OTP 검증, 웹훅을 통한 응답 수신까지 모두 같은 세션 안에서 처리합니다. SMS8 키 하나로 모든 단계에 사용할 수 있는 JSON-RPC 도구를 제공합니다. Twilio도, A2P 10DLC도, 메시지당 비용도 없습니다.
어시스턴트가 에디터에서 직접 처리할 수 있는 작업
모든 도구는 SMS8 대시보드와 동일한 발송 파이프라인을 사용합니다. 크레딧, 재시도, 다중 기기 라우팅, 웹훅 서명까지 직접 API를 호출하는 것과 똑같이 작동합니다.
setup_sms8
핸드셰이크 단계입니다. 키를 검증하고 사용자 기기, 요금제, 연동 컨텍스트를 반환합니다.
send_sms
페어링된 안드로이드를 통해 SMS를 발송합니다. 기기별 또는 SIM별 라우팅이 가능합니다.
send_otp
코드를 생성하여 발송합니다. 길이, 유효 시간, 재시도 횟수를 직접 지정합니다.
verify_otp
가장 최근에 발급한 코드와 상수 시간 비교를 수행합니다. 일치하지 않으면 남은 시도 횟수를 반환합니다.
wait_for_otp NEW
OTP 형식의 SMS가 본인의 안드로이드에 도착할 때까지 에이전트를 대기시키고, 코드를 자동으로 추출합니다. 자율형 에이전트를 위한 핵심 연결고리입니다.
get_messages
최근에 송수신된 SMS를 조회합니다. 방향이나 전화번호로 필터링할 수 있습니다.
list_devices
페어링된 안드로이드 기기 목록입니다. 여러 SIM 간 부하 분산 시 발신 기기를 선택합니다.
get_balance NEW
잔액을 빠르게 확인합니다. 남은 SMS 수, 갱신까지 남은 일수, 한 줄 요약을 제공합니다.
create_webhook
수신 SMS용 콜백 URL을 등록합니다. HTTPS 전용, SSRF 방어, HMAC 서명이 적용됩니다.
세 가지 설치 방법 중 원하는 방식을 선택하세요
SMS8은 호스팅 HTTP MCP 서버, Skill이 내장된 Claude Code 플러그인, 그리고 stdio 클라이언트용 npx 런처로 제공됩니다.
- 호스팅 HTTP는 Bearer 토큰만으로 Claude Code, Cursor, Windsurf에서 작동합니다
- Claude 플러그인은
/plugin marketplace add 1fancy/sms8-sms-gateway로 설치합니다 - npx는 stdio 브리지를 실행합니다:
npx -y @sms8/mcp
{
"mcpServers": {
"sms8": {
"url": "https://mcp.sms8.io",
"transport": "http",
"headers": {
"Authorization":
"Bearer YOUR_SMS8_API_KEY"
}
}
}
}
npm으로 설치
아홉 가지 npm 패키지가 모든 흐름을 다룹니다. MCP를 통한 AI 에이전트, 터미널 스크립트, OTP 흐름, React 훅 + Ionic 앱용 Capacitor 및 Cordova 플러그인. 하나의 API 키, 페어링된 하나의 안드로이드 폰입니다.
Claude Code, Cursor, Windsurf, OpenCode용 MCP 런처입니다. MCP 설정에 붙여 넣으면 AI 어시스턴트가 9가지 SMS 도구를 사용할 수 있습니다.
$ npx -y sms8-mcp
터미널 CLI입니다. SMS 발송, OTP 발송 / 검증 / 대기, 받은 편지함 조회, 기기 목록을 지원합니다. 스크립트, cron, CI에 적합합니다.
$ npx sms8-cli send +14155550100 "Hi"
React useSms8Otp() 훅 + 구분자, RTL, 마스크, render prop을 지원하는 준비된 <OtpInput /> 컴포넌트입니다.
$ npm i react-sms-otp
react-sms-otp와 동일한 코드로, «sms otp verify»와 «otp input» 검색에 최적화되어 있습니다.
$ npm i sms-otp-verify
Ionic 앱용 Capacitor 플러그인: 네이티브 iOS Swift + Android Kotlin 브리지 + 웹 폴백.
$ npm i capacitor-sms-otp-send-verify
Ionic 앱용 Cordova 플러그인: OTP 발송/검증을 위한 네이티브 iOS Swift + Android Kotlin 브리지.
$ cordova plugin add cordova-plugin-sms-otp-send
OTP에 특화된 CLI 브랜드입니다. Twilio 없이, 건당 요금 없이 본인 폰으로 SMS OTP 코드를 발송하고 검증합니다.
$ npx sms-otp-using-myphone send +1234
폰을 게이트웨이로 사용하는 CLI 브랜드입니다. 동일한 백엔드를 사용하며 폰 SMS 게이트웨이를 찾는 팀을 위해 검색 최적화되어 있습니다.
$ npx phone-sms-gateway send +1234 "Hi"
안드로이드 우선 CLI 브랜드입니다. 동일한 코드를 사용하며 «안드로이드에서 SMS 보내기»를 검색하는 개발자에게 최적화되어 있습니다.
$ npx send-sms-from-android send +1234 "Hi"
복사해서 바로 쓸 수 있는 사용 사례
전화번호 인증
"이 앱에 sms8 MCP를 통한 SMS 인증을 추가해줘. /signup에서 send_otp, /verify-phone에서 verify_otp를 사용하고, 실패 시 남은 시도 횟수를 보여줘."
주문 알림
"주문이 배송 단계로 넘어가면 sms8 MCP를 통해 고객에게 추적 링크가 담긴 SMS를 보내줘."
양방향 지원 인박스
"sms8 MCP에 https://app.com/sms-in 웹훅을 등록해줘. HMAC을 검증하고 수신 SMS를 지원 큐로 보내는 핸들러를 생성해줘."
비밀번호 없는 로그인
"매직 링크 로그인을 sms8 MCP의 OTP로 교체해줘. 6자리 코드, 5분 유효."
예약 알림
"내일 예약을 DB에서 읽어와서 24시간 전에 send_sms로 알림 SMS를 보내줘."
관리자용 2FA
"/admin에 sms8 MCP로 SMS 2FA를 추가해줘. verify_otp 5회 실패 시 계정을 잠가줘."
SMS8 MCP vs Twilio vs MessageBird
| 기능 | SMS8 MCP | Twilio | MessageBird |
|---|---|---|---|
| MCP 서버 내장 | 예 | 아니요 | 아니요 |
| 메시지당 비용 | 0원 | $0.0079 이상 | $0.05 이상 |
| A2P 10DLC 필수 | 아니요 | 예 | 예 |
| 번호 임대 | 불필요 | 월 $1 이상 | 월 $2 이상 |
| 도입 시간 | 60초 | 며칠에서 몇 주 | 며칠 |
| OTP 인증 | 기본 포함, 무료 | 별도 서비스 | 별도 서비스 |
| 오픈소스 MCP 코드 | MIT | 아니요 | 아니요 |
기본값부터 안전한 보안, 함정 없음
번호당 한도
24시간당 번호 하나에 최대 5개의 OTP. 계정에서 이 한도를 올릴 수 없습니다.
경쟁 상태 방지
쿨다운과 한도는 행 잠금이 적용된 SQL 트랜잭션 안에서 검증됩니다. 동시 요청으로 한도를 우회할 수 없습니다.
OTP는 POST 전용
GET 요청은 405를 반환합니다. 쿠키는 무시됩니다.
API 키 마스킹
setup_sms8은 키의 마지막 4자리만 표시합니다.
웹훅 SSRF 방어
루프백, RFC1918, CGNAT, 링크 로컬, IPv6에 매핑된 IPv4를 모두 차단합니다.
HMAC 서명
수신 SMS와 전송 상태 이벤트는 모두 HMAC-SHA256 서명을 거치므로 위조가 불가능합니다.
자주 묻는 질문
SMS8 MCP 서버란 무엇인가요?
mcp.sms8.io에서 호스팅되는 Model Context Protocol 서버로, Claude Code, Cursor, Windsurf, Codex, Devin 같은 AI 코딩 도구가 SMS를 보내고 OTP를 생성하며 웹훅을 등록할 수 있게 해줍니다. 모든 메시지는 Twilio가 아닌 페어링된 본인의 안드로이드를 통해 발송됩니다.
A2P 10DLC가 필요한가요?
아니요. SMS8은 본인의 안드로이드와 SIM에 의존합니다. A2P 10DLC 등록, 메시지당 비용, 번호 임대가 일체 없습니다.
Claude Code 프로젝트에 SMS를 어떻게 연결하나요?
~/.config/claude/mcp-servers.json에 https://mcp.sms8.io로 향하는 HTTP 트랜스포트와 SMS8 키를 Bearer 토큰으로 추가하세요. 또는 /plugin marketplace add 1fancy/sms8-sms-gateway를 실행한 뒤 /plugin install sms8-sms-gateway를 실행하세요.
Cursor와 Windsurf에서도 작동하나요?
네. 둘 다 HTTP 기반 MCP 서버를 지원합니다. ~/.cursor/mcp.json 또는 ~/.codeium/windsurf/mcp_config.json에 Bearer 형식의 SMS8 키와 함께 https://mcp.sms8.io를 추가하세요.
Twilio의 대안인가요?
네. SMS8은 이미 사용 중인 SIM이 들어 있는 본인의 안드로이드를 통해 발송합니다. 메시지당 비용, A2P 10DLC, 번호 프로비저닝이 없습니다. 월 $29부터 시작하는 요금제로 무제한 SMS를 제공합니다.
코드는 공개되어 있나요?
네, MIT 라이선스로 github.com/1fancy/sms8-sms-gateway에서 공개됩니다.