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 Codeclaude mcp add 또는 프로젝트의 .mcp.json
Claude Desktop설정 → 커넥터 → 사용자 지정 커넥터 추가
Cursor~/.cursor/mcp.json 또는 프로젝트별 .cursor/mcp.json
VS Code.vscode/mcp.jsonservers 아래
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.

전체 흐름은 어떤 모습인가요?

처음부터 끝까지 다섯 번의 호출입니다. 바깥 세계를 기다리는 단계는 하나뿐입니다. 네트워크의 충전 승인입니다.

  1. create_account — 문구를 반환합니다. 보관하십시오. 계정으로 돌아가는 유일한 길이며 재설정할 수 없습니다.
  2. topup — 통화와 금액을 지정하면 주소와 보낼 정확한 금액과 만료 시각을 받습니다. 에이전트의 지갑에서 자금을 보내십시오.
  3. topup_status — 충전이 잔액에 반영될 때까지 조회하십시오.
  4. buy_number — 서비스와 국가를 지정합니다. 잔액이 차감되고 번호가 즉시 발급됩니다. 구매마다 주소가 나오지도, 두 번째로 기다리지도 않습니다.
  5. get_sms — 코드가 도착할 때까지 조회하십시오. 주문이 만료될 때까지 오지 않으면 금액은 자동으로 잔액에 돌아옵니다.

한 번 충전하고 여러 번 구매하십시오. 한 번의 충전이 잔액이 허락하는 만큼의 번호를 감당하므로, 한 세션에서 승인을 기다리는 것은 첫 구매뿐입니다.

에이전트에게 무엇을 알려 주어야 하나요?

  • 문구는 복구할 수 없습니다. 생성해 놓고 보관하지 않은 에이전트는 잔액도 함께 버린 것입니다.
  • 충전은 네트워크 승인 후에 반영되며 즉시 이루어지지 않습니다. 성공을 단정하지 말고 topup_status를 조회하십시오.
  • 청구서에 표시된 통화와 네트워크로만 보내십시오. 잘못된 네트워크로 보낸 송금은 되찾을 수 없습니다.
  • 도착한 코드는 주문을 마감하며 유료입니다. 받는 쪽 서비스가 거부했더라도 마찬가지입니다. 환불 조건을 보십시오.
  • 환불금은 지갑이 아니라 OTPDrop 잔액으로 들어옵니다.

평범한 연동을 작성하고 계신가요? REST API 문서가 엔드포인트, 인증, 오류 코드를 설명합니다.