Réception de SMS pour les agents IA

Un agent peut acheter un numéro et lire le code sans intervention humaine.

Aucune identité à présenter

Un compte est une phrase de récupération que l’agent génère et conserve lui-même. Rien à confirmer, rien à céder, personne à être.

Pas besoin de carte

Recharge en cryptomonnaie. Un agent doté d’un portefeuille paie lui-même — ni numéro de carte, ni adresse de facturation, ni humain pour approuver la dépense.

Aucune page à lire

Catalogue, prix, achat et livraison sont tous des appels d’outils. Rien ici ne demande de navigateur ni de capture d’écran.

Comment connecter le serveur MCP ?

Un seul point d’accès, en JSON-RPC 2.0 sur HTTP streamable. Aucune clé d’API à demander, rien à installer : les outils du catalogue fonctionnent avant même qu’un compte existe, et la phrase n’est requise que par ceux qui dépensent de l’argent.

https://otpdrop.com/mcp

Claude Code

claude mcp add --transport http otpdrop https://otpdrop.com/mcp

Cursor, Windsurf, VS Code et la plupart des autres

Les clients qui gèrent HTTP eux-mêmes acceptent ce même bloc. Cursor et Windsurf nomment la clé mcpServers ; VS Code la nomme servers.

{
  "mcpServers": {
    "otpdrop": {
      "type": "http",
      "url": "https://otpdrop.com/mcp"
    }
  }
}
ClientEmplacement de la configuration
Claude Codeclaude mcp add ou .mcp.json dans le projet
Claude DesktopRéglages → Connecteurs → Ajouter un connecteur personnalisé
Cursor~/.cursor/mcp.json ou .cursor/mcp.json par projet
VS Code.vscode/mcp.json, sous servers
Windsurf~/.codeium/windsurf/mcp_config.json

Les clients MCP évoluent vite, et ces chemins avec eux. Si quelque chose ne correspond pas à ce que vous voyez, consultez la documentation du client — de notre côté, il n’y a que l’adresse et le transport.

Et si le client ne gère que stdio ?

Certains clients n’ouvrent pas directement un serveur MCP en HTTP. Relayez-le localement :

{
  "mcpServers": {
    "otpdrop": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://otpdrop.com/mcp"]
    }
  }
}

Et s’il n’y a aucun client MCP ?

Le serveur est un point d’accès HTTP ordinaire : n’importe quel langage peut s’y adresser. Voici à quoi ressemble la liste des outils :

curl -s -X POST https://otpdrop.com/mcp \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Pour les outils qui exigent un compte, ajoutez Authorization: Bearer <seed>. Si parler JSON-RPC ne vous tente pas, les mêmes opérations existent comme points d’accès REST ordinaires dans la référence de l’API.

Que peut faire un agent sur OTPDrop ?

OutilRôlePhrase requise
list_servicesTous les services avec code et catégorienon
list_countriesTous les pays avec leur indicatifnon
list_catalogLe catalogue complet avec la matrice des prixnon
quoteLe prix d’un couple service-paysnon
agent_helpLe mode d’emploi de ce serveur, directement dans le contextenon
create_accountCréer un compte et récupérer sa phrasenon
topupObtenir l’adresse et le montant de recharge pour une monnaieoui
topup_statusVérifier si une recharge est créditéeoui
buy_numberAcheter un numéro par débit du soldeoui
get_orderDétail d’une commande et son statut actueloui
get_smsLe code de vérification dès son arrivéeoui

Pour les clients qui le préfèrent, le catalogue est aussi exposé par trois ressources en lecture seule : catalog://services, catalog://countries et catalog://pairs.

À quoi ressemble un parcours complet ?

Cinq appels du début à la fin. Une seule étape attend le monde extérieur : la confirmation de la recharge par le réseau.

  1. create_account — renvoie une phrase. Conservez-la : c’est le seul chemin de retour vers le compte, et elle est irréinitialisable.
  2. topup — indiquez une monnaie et un montant, recevez une adresse, le montant exact à envoyer et une échéance. Envoyez les fonds depuis le portefeuille de l’agent.
  3. topup_status — interrogez jusqu’à ce que la recharge soit créditée sur le solde.
  4. buy_number — indiquez un service et un pays. Le solde est débité et le numéro délivré aussitôt : pas d’adresse par achat, pas de seconde attente.
  5. get_sms — interrogez jusqu’à l’arrivée du code. S’il n’arrive pas avant l’expiration de la commande, le prix revient automatiquement sur le solde.

Rechargez une fois, achetez souvent. Une recharge couvre autant de numéros que le solde le permet, si bien que seule la première acquisition d’une session attend une confirmation.

Que dire à votre agent ?

  • La phrase est irrécupérable. Un agent qui l’a générée sans la conserver a jeté le solde avec elle.
  • Une recharge est créditée après confirmation par le réseau, et ce n’est pas instantané — interrogez topup_status plutôt que de tenir le succès pour acquis.
  • N’envoyez que la monnaie et le réseau indiqués sur la facture. Un virement sur le mauvais réseau est irrécupérable.
  • Un code arrivé clôt la commande et se paie, même si le service destinataire l’a refusé. Voyez les conditions de remboursement.
  • Les remboursements arrivent sur le solde OTPDrop, pas sur un portefeuille.

Vous écrivez une intégration ordinaire ? La documentation de l’API REST décrit les points d’accès, l’authentification et les codes d’erreur.