# Arrakis pour les agents

Votre agent peut chercher sur le marché, louer un GPU, lancer son job et arrêter la machine. Vous fixez le budget avant qu’il démarre, et il ne peut pas le dépasser.

Arrakis sert MCP en HTTP streamable depuis la même adresse que ce site, sur `/mcp`. Il n’y a rien à installer. Ci-dessous, `$ARRAKIS_URL` désigne l’adresse de ce site et `ark_...` un jeton d’API.

## Connexion en trois étapes

1. **Créez un jeton pour votre agent.** Dans la console, ouvrez API & agents et choisissez un jeton pour agent : portées read et rent, un plafond de dépenses et une durée de location maximale. Depuis la CLI :

   ```sh
   arrakis tokens create --name eval-agent \
     --scope read --scope rent \
     --spend-limit 50 --max-rental-hours 6 --expires-in 7d
   ```

2. **Ajoutez l’endpoint MCP.** Utilisez le jeton comme en-tête bearer.

   Claude Code:

   ```sh
   claude mcp add --transport http arrakis $ARRAKIS_URL/mcp \
     --header "Authorization: Bearer ark_..."
   ```

   Cursor (`~/.cursor/mcp.json`) :

   ```json
   {
     "mcpServers": {
       "arrakis": {
         "url": "$ARRAKIS_URL/mcp",
         "headers": { "Authorization": "Bearer ark_..." }
       }
     }
   }
   ```

   N’importe quel client : transport HTTP streamable, URL `$ARRAKIS_URL/mcp`, en-tête `Authorization: Bearer ark_...`.

   En local, via stdio : `ARRAKIS_TOKEN=ark_... ARRAKIS_BASE_URL=$ARRAKIS_URL arrakis mcp`.

3. **Confiez-lui un job.** Indiquez combien de temps la machine peut tourner ; votre agent transmet cette durée comme heure de suppression. Par exemple : « Lance ma suite d’évaluation sur une H100 : loues-en une pour 3 heures, exécute python eval.py, rapatrie results/, puis supprime-la. »

## Ce que votre agent ne peut pas faire

- Dépenser au-delà du plafond de son jeton.
- Louer une machine sans heure de suppression.
- Louer plus longtemps que la durée de location maximale du jeton.
- Créer un jeton plus puissant que le sien.
- Voir ou modifier les machines d’un autre compte.
- Ajouter des fonds. Seuls les paiements confirmés le font.

## Douze outils

| Outil | Ce qu’il fait | Coût |
|---|---|---|
| `search_gpus` | Liste les machines disponibles, les meilleures d’abord, selon les capacités du GPU, son prix et la fiabilité de son hôte, filtrées par GPU, nombre, mémoire, prix par heure de GPU et pays. Il en recommande une et explique pourquoi. | Gratuit |
| `get_market_summary` | Le prix le plus bas et l’offre de chaque famille de GPU en ce moment. | Gratuit |
| `get_balance` | Le solde du compte, le coût horaire des machines en marche, le moment où l’argent s’épuise et le plafond du jeton. | Gratuit |
| `rent_gpu` | Loue une machine pour au plus `termination_hours` et renvoie sa commande SSH, le coût au pire des cas et le nombre d’heures que le solde peut payer. Une nouvelle tentative renvoie la même machine. | Le prix horaire, heure par heure, jusqu’à la suppression |
| `list_images` | Les images qu’une machine peut démarrer : les images Arrakis et celles du compte, y compris les images privées. `rent_gpu` accepte aussi n’importe quelle image publique. | Gratuit |
| `list_instances` | Les machines en marche sur le compte. | Gratuit |
| `get_instance` | L’état, la commande SSH et l’heure de suppression d’une machine, ainsi que tout avis de son hôte. | Gratuit |
| `get_events` | Ce qui est arrivé aux machines du compte : prêtes, terminées et pourquoi (évincées par leur hôte ou non), ainsi que les avis de leurs hôtes. | Gratuit |
| `terminate_instance` | Arrête une machine immédiatement. La facturation s’arrête avec elle. | Met fin aux frais |
| `schedule_removal` | Déplace l’heure de suppression d’une machine. | Modifie le coût maximal |
| `get_partner_earnings` | Pour les partenaires : vos codes, le lien et le message à partager, les clients que vous avez apportés, ce que vous avez gagné et pouvez retirer, et si le programme partenaire est ouvert. | Gratuit |
| `join_partner_program` | Inscrit le compte au programme partenaire, si son propriétaire est d’accord : un code partenaire, un lien et un message à partager. | Gratuit |

## Ce qui protège les dépenses sans surveillance

Ces règles sont appliquées par l’API : elles valent aussi bien pour MCP que pour la CLI ou de simples requêtes HTTP.

- **Plafonds de dépenses.** Un jeton plafonné compte chaque location au pire des cas, soit le prix horaire multiplié par le nombre d’heures avant la suppression, et refuse celle qui ferait dépasser le plafond.
- **Suppression obligatoire.** Un jeton plafonné ne peut pas louer sans `termination_hours`, ni au-delà de sa durée de location maximale.
- **Nouvelles tentatives sans risque.** La même `idempotency_key` renvoie toujours la même machine. Une nouvelle tentative ne loue jamais deux fois.
- **Jetons à portée limitée.** Les portées read, rent, manage et billing sont distinctes. Un jeton ne peut pas en créer un autre doté de portées qu’il n’a pas.
- **Prépayé à l’heure.** Une location paie sa première heure d’avance, puis chaque heure suivante au moment où elle commence. Quand le solde ne suffit plus, la machine s’arrête : un agent incontrôlé ne peut donc pas faire grimper la facture.
- **Expiration.** Les jetons d’agent peuvent expirer à la date de votre choix.

## Quand un hôte donne un préavis ou reprend une machine

Une machine spot peut être reprise à tout moment, et tout hôte peut tomber en panne. Arrakis prévient aussitôt votre agent.

- **Des alertes dans chaque résultat.** Chaque résultat d’outil MCP contient les alertes des dernières 24 heures : un hôte qui annonce la reprise d’une machine ou une maintenance, un hôte qui ne répond plus, une éviction, un solde sur le point de s’épuiser.
- **Un flux d’événements.** `get_events` et `GET /v1/events` listent les événements de chaque machine : prête, terminée et pourquoi, ainsi que les avis de son hôte.
- **Un webhook signé.** Indiquez une URL dans la section Notifications de la console : vos agents reçoivent chaque événement dès qu’il se produit, signé avec `Arrakis-Signature`.
- **Rien n’est facturé pendant une panne.** Aucune heure n’est facturée tant que l’hôte d’une machine ne répond pas, et toute heure commencée après qu’un hôte a repris une machine vous est rendue.

## Gagnez de l’argent quand votre agent apporte des clients

Tout le monde peut rejoindre le programme partenaire, y compris les agents IA. Vous recevez un code partenaire et un lien, ainsi qu’une part de ce que paient les clients que vous apportez.

- **Rejoindre en un seul appel.** `join_partner_program` inscrit au programme le compte pour lequel travaille votre agent, si vous êtes d’accord, et renvoie le code, le lien et un message à partager.
- **Une part de chaque paiement.** Les nouveaux clients d’Arrakis qui paient avec votre code bénéficient d’une réduction sur leur premier paiement. Vous gagnez ensuite une part de tout ce qu’ils paient, recharges automatiques comprises.
- **Uniquement vos clients.** `get_partner_earnings` liste les clients apportés par votre lien, avec ce que chacun a payé et vous a rapporté, sans jamais indiquer qui ils sont. Ajoutez une étiquette à vos liens pour voir quelle publication a fonctionné.
- **De l’argent ou des GPU.** Retirez vos gains vers votre compte bancaire via Stripe, ou transférez-les sur votre solde pour les dépenser immédiatement en machines. Partout où vous recommandez Arrakis, indiquez que vous êtes rémunéré pour vos recommandations.

Fonctionnement : [/partners](/fr/partners.html.md). Les règles : [conditions partenaires](/fr/partner-terms.html.md). Pas à pas pour un agent : [la skill partenaire](/skills/arrakis-partner/SKILL.md).

## Points d’entrée lisibles par les machines

- [/llms.txt](/fr/llms.txt) : l’index pour les modèles de langage
- [/llms-full.txt](/fr/llms-full.txt) : tout le site dans un seul fichier
- [/openapi.json](/openapi.json) : spécification OpenAPI 3.1
- [/docs](/fr/docs) : référence interactive de l’API
- [/docs/mcp.md](/fr/docs/mcp.md) : l’endpoint MCP et ses outils
- [/docs/agent-walkthrough.md](/fr/docs/agent-walkthrough.md) : chercher, louer et arrêter, étape par étape
- [/partners](/fr/partners.html.md) : le programme partenaire, pour les personnes et les agents
- [/skill.md](/skill.md) : la location de GPU sur Arrakis, sous forme d’Agent Skill
- [/skills/arrakis-partner/SKILL.md](/skills/arrakis-partner/SKILL.md) : le programme partenaire sous forme d’Agent Skill
- [/v1/market/summary](/v1/market/summary) : résumé du marché en temps réel, sans jeton
- [/sitemap.xml](/sitemap.xml)

Chaque page de ce site a son double en Markdown : `/` correspond à `/index.html.md`, `/agents` à `/agents.html.md`, `/careers` à `/careers.html.md`.

## Que lui demander

- « Trouve le GPU le moins cher avec au moins 48 Go de mémoire, loue-le pour 2 heures et dis-moi comment m’y connecter en SSH. »
- « Lance un fine-tuning avec train.py sur 4 RTX 4090 pendant 6 heures au plus, rapatrie les checkpoints et arrête la machine à la fin de l’exécution. »
- « Vérifie si une H200 est disponible. Si oui, donne-moi son prix par heure de GPU et le pays où elle tourne. »

## Questions sur les agents et les GPU

**Existe-t-il un serveur MCP pour louer des GPU ?** Oui. Arrakis exploite un serveur MCP distant à l’adresse https://arrakis.goodailabs.com/mcp, en HTTP streamable avec un jeton bearer. Ses outils cherchent sur le marché des GPU en temps réel, louent une machine avec une heure de suppression sur n’importe quelle image publique, consultent le solde et arrêtent les machines.

**Comment laisser Claude Code louer un GPU ?** Créez dans la console un jeton d’agent plafonné, puis lancez claude mcp add --transport http arrakis https://arrakis.goodailabs.com/mcp --header "Authorization: Bearer ark_...". Claude Code peut alors chercher, louer et arrêter des GPU, sans pouvoir dépasser le plafond.

**Cursor et les autres agents peuvent-ils utiliser Arrakis ?** Oui. Tout client MCP capable de se connecter à des serveurs distants en HTTP streamable peut utiliser /mcp avec un jeton bearer. Un client qui ne lance que des serveurs locaux peut utiliser arrakis mcp, qui expose les mêmes outils via stdio. Tout ce qui appelle une API REST peut utiliser les endpoints décrits dans /openapi.json.

**Comment empêcher un agent IA de trop dépenser en GPU ?** Donnez-lui son propre jeton avec un plafond de dépenses et une durée de location maximale. Arrakis refuse toute location dont le coût, dans le pire des cas, dépasserait le plafond ; chaque location du jeton doit porter une heure de suppression, et une nouvelle tentative avec la même clé d’idempotence ne loue jamais deux fois.

**Que se passe-t-il si mon agent plante pendant qu’un GPU tourne ?** La machine se supprime quand même à son heure de suppression : un agent planté ne peut donc pas laisser tourner un GPU facturé. Chaque machine apparaît aussi dans la console, d’où vous pouvez l’arrêter.

**Un agent a-t-il besoin de son propre compte ?** Non. Un agent travaille sous votre compte avec un jeton que vous créez. Les permissions, le plafond de dépenses et l’expiration du jeton constituent tout son budget, et vous pouvez le révoquer à tout moment.

**Mon agent IA peut-il gagner de l’argent avec Arrakis ?** Oui. Tout compte Arrakis peut rejoindre le programme partenaire, et un agent peut y inscrire le compte pour lequel il travaille avec l’outil join_partner_program, si le propriétaire du compte est d’accord. Il obtient un code partenaire et un lien. Les nouveaux clients d’Arrakis qui paient avec ce code bénéficient d’une réduction sur leur premier paiement, et le compte gagne une part de ce qu’ils paient, en argent via Stripe ou en crédit pour des GPU. Partout où l’agent recommande Arrakis, il doit indiquer qu’il est rémunéré pour ses recommandations.
