AI 에이전트를 위한 SMS 수신
에이전트가 사람의 개입 없이 번호를 사고 코드를 읽을 수 있습니다.
제시할 신원이 없습니다
계정은 에이전트가 스스로 생성하고 보관하는 복구 문구입니다. 확인할 것도, 내놓을 것도, 되어야 할 누군가도 없습니다.
카드가 필요 없습니다
충전은 암호화폐로 합니다. 지갑을 가진 에이전트는 스스로 결제합니다. 카드 번호도, 청구지 주소도, 지출을 승인할 사람도 없습니다.
읽어야 할 페이지가 없습니다
카탈로그, 가격, 구매, 발급이 모두 도구 호출입니다. 여기에는 브라우저나 화면 캡처를 요구하는 것이 없습니다.
MCP 서버는 어떻게 연결하나요?
엔드포인트 하나이며, HTTP 스트리밍 위의 JSON-RPC 2.0입니다. 신청할 API 키도, 설치할 것도 없습니다. 카탈로그 도구는 계정이 생기기 전에도 작동하며, 문구는 돈을 쓰는 도구에만 필요합니다.
https://otpdrop.com/mcp
Claude Code
claude mcp add --transport http otpdrop https://otpdrop.com/mcp
Cursor, Windsurf, VS Code 등 대부분의 클라이언트
HTTP를 직접 다루는 클라이언트는 이 블록을 그대로 받습니다. Cursor와 Windsurf는 키 이름을
mcpServers로, VS Code는 servers로 씁니다.
{
"mcpServers": {
"otpdrop": {
"type": "http",
"url": "https://otpdrop.com/mcp"
}
}
}
| 클라이언트 | 설정 위치 |
|---|---|
| Claude Code | claude mcp add 또는 프로젝트의 .mcp.json |
| Claude Desktop | 설정 → 커넥터 → 사용자 지정 커넥터 추가 |
| Cursor | ~/.cursor/mcp.json 또는 프로젝트별 .cursor/mcp.json |
| VS Code | .vscode/mcp.json의 servers 아래 |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
MCP 클라이언트는 빠르게 바뀌고 이 경로들도 함께 바뀝니다. 보시는 것과 다르다면 클라이언트의 문서를 확인하십시오. 저희 쪽에 있는 것은 주소와 전송 방식뿐입니다.
클라이언트가 stdio만 지원한다면?
어떤 클라이언트는 HTTP MCP 서버를 직접 열지 못합니다. 로컬에서 중계하십시오:
{
"mcpServers": {
"otpdrop": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://otpdrop.com/mcp"]
}
}
}
MCP 클라이언트가 아예 없다면?
서버는 평범한 HTTP 엔드포인트이므로 어떤 언어에서든 호출할 수 있습니다. 도구 목록을 받는 모습은 다음과 같습니다:
curl -s -X POST https://otpdrop.com/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
계정이 필요한 도구에는 Authorization: Bearer <seed>를 더하십시오. JSON-RPC를
쓰고 싶지 않으시면 같은 작업이 API 레퍼런스에 평범한 REST 엔드포인트로도
있습니다.
에이전트는 OTPDrop에서 무엇을 할 수 있나요?
| 도구 | 역할 | 문구 필요 |
|---|---|---|
list_services | 코드와 분류를 포함한 모든 서비스 | 아니요 |
list_countries | 국가번호를 포함한 모든 국가 | 아니요 |
list_catalog | 가격 매트릭스를 포함한 전체 카탈로그 | 아니요 |
quote | 서비스·국가 조합의 가격 | 아니요 |
agent_help | 이 서버의 사용법을 곧바로 문맥에 제공 | 아니요 |
create_account | 계정을 만들고 문구를 받기 | 아니요 |
topup | 통화별 충전 주소와 금액 받기 | 예 |
topup_status | 충전이 반영되었는지 확인 | 예 |
buy_number | 잔액에서 차감하여 번호 구매 | 예 |
get_order | 주문의 상세와 현재 상태 | 예 |
get_sms | 도착하는 대로 인증 코드 | 예 |
그쪽을 선호하는 클라이언트를 위해 카탈로그는 읽기 전용 리소스 세 가지로도 제공됩니다:
catalog://services, catalog://countries,
catalog://pairs.
전체 흐름은 어떤 모습인가요?
처음부터 끝까지 다섯 번의 호출입니다. 바깥 세계를 기다리는 단계는 하나뿐입니다. 네트워크의 충전 승인입니다.
- create_account — 문구를 반환합니다. 보관하십시오. 계정으로 돌아가는 유일한 길이며 재설정할 수 없습니다.
- topup — 통화와 금액을 지정하면 주소와 보낼 정확한 금액과 만료 시각을 받습니다. 에이전트의 지갑에서 자금을 보내십시오.
- topup_status — 충전이 잔액에 반영될 때까지 조회하십시오.
- buy_number — 서비스와 국가를 지정합니다. 잔액이 차감되고 번호가 즉시 발급됩니다. 구매마다 주소가 나오지도, 두 번째로 기다리지도 않습니다.
- get_sms — 코드가 도착할 때까지 조회하십시오. 주문이 만료될 때까지 오지 않으면 금액은 자동으로 잔액에 돌아옵니다.
한 번 충전하고 여러 번 구매하십시오. 한 번의 충전이 잔액이 허락하는 만큼의 번호를 감당하므로, 한 세션에서 승인을 기다리는 것은 첫 구매뿐입니다.
발견
연동에 필요한 모든 것이 기계가 읽을 수 있고 인증 없이 제공됩니다.
에이전트에게 무엇을 알려 주어야 하나요?
- 문구는 복구할 수 없습니다. 생성해 놓고 보관하지 않은 에이전트는 잔액도 함께 버린 것입니다.
- 충전은 네트워크 승인 후에 반영되며 즉시 이루어지지 않습니다. 성공을 단정하지 말고
topup_status를 조회하십시오. - 청구서에 표시된 통화와 네트워크로만 보내십시오. 잘못된 네트워크로 보낸 송금은 되찾을 수 없습니다.
- 도착한 코드는 주문을 마감하며 유료입니다. 받는 쪽 서비스가 거부했더라도 마찬가지입니다. 환불 조건을 보십시오.
- 환불금은 지갑이 아니라 OTPDrop 잔액으로 들어옵니다.
평범한 연동을 작성하고 계신가요? REST API 문서가 엔드포인트, 인증, 오류 코드를 설명합니다.