Laissez Claude Code, Cursor ou votre propre agent louer des machines virtuelles à
Montréal et les piloter, à l'heure, dans les limites que vous fixez.
Connecter votre agent
Le serveur MCP de FFxF est à l'adresse https://ffxf.net/mcp. Il parle
Streamable HTTP et relaie chaque appel à l'API FFxF avec votre
clé API. Il ne stocke rien et n'a aucun droit propre : l'agent peut faire exactement ce
que la clé autorise, rien de plus.
Le plus rapide : placez votre clé API dans la variable d'environnement FFXF_API_KEY,
puis donnez cette phrase à votre agent.
prompt
Installe le serveur MCP de FFxF en suivant https://ffxf.net/agents.md. Ma clé API est dans la variable d'environnement FFXF_API_KEY.
Créez une clé API sur
console.ffxf.net/account/api-keys.
Donnez-lui seulement les périmètres utiles : vms.read, vms.create,
vms.action et billing.read suffisent pour commander et faire
tourner des machines. Laissez vms.destroy de côté, sauf si l'agent doit
pouvoir les supprimer.
Ajoutez le serveur à votre client. Avec Claude Code :
bash
Tout client qui gère Streamable HTTP et un en-tête personnalisé fonctionne de la même
façon. Les outils du catalogue répondent sans clé : un agent peut comparer offres et
images avant même que vous en créiez une.
Ce que l'agent peut faire
Vingt outils, chacun relié à un point d'accès de l'API publique et au périmètre qu'il exige.
Outil
Ce qu'il fait
Périmètre
list_regions, list_plans, list_images
Catalogue : régions, offres avec prix à l'heure et au mois, systèmes et images d'applications.
aucun
get_account
Solde de crédit, consommation horaire, autonomie, quota et budget.
billing.read
list_vms, get_vm, get_vm_metrics
Machines, leur état, adresses, trafic et graphiques d'usage.
vms.read
estimate_vm
Fait toutes les vérifications d'une commande et la chiffre, sans rien créer.
vms.create
create_vm
Commande une machine, facturée à l'heure sur le crédit ou au mois.
vms.create
power_vm, rename_vm
Démarrage, arrêt propre, redémarrage, arrêt forcé ; changement du nom d'hôte.
vms.action
reinstall_vm
Efface le disque et déploie une autre image.
vms.action
destroy_vm
Détruit la machine et son disque.
vms.destroy
get_action, list_vm_actions
Suit la livraison, les réinstallations et les changements d'alimentation, qui tournent en arrière-plan.
vms.read
get_vm_network, set_reverse_dns
Adresses IPv4 et IPv6 ; enregistrements de reverse DNS.
vms.read, network.write
list_ssh_keys, add_ssh_key, delete_ssh_key
Clés SSH du compte, pour joindre les nouvelles machines sans mot de passe.
Des limites qui tiennent même quand l'agent se trompe
Les règles vivent dans l'API, pas dans la bonne conduite de l'agent :
Une clé ne fait que ce que ses périmètres autorisent. Le reste est refusé en 403, avec le périmètre manquant.
Les machines à l'heure puisent dans le crédit prépayé. Une commande exige les 24 premières heures couvertes, et le solde ne passe jamais sous zéro.
Un budget mensuel réglé dans la console alerte à 50, 80 et 100 % de la dépense, et arrête les machines au-delà de 120 %.
estimate_vm chiffre une commande avant toute création, et le serveur demande à l'agent de vous montrer ce prix d'abord.
Une commande relancée après une coupure est dédoublonnée pendant 24 heures, au lieu de créer une seconde machine.
destroy_vm et reinstall_vm exigent le nom d'hôte exact de la machine, retapé.
Par clé : 120 lectures par minute, 20 actions par minute, 10 créations ou réinstallations par heure.
Clés limitées à une liste d'adresses : via ffxf.net/mcp, les appels arrivent à
l'API depuis le serveur de FFxF, une telle clé y est donc refusée. Utilisez-la directement
avec l'API.
Sans MCP
Le serveur MCP est une fine couche au-dessus de l'API publique. Les scripts et les agents qui préfèrent le HTTP peuvent l'appeler directement.
Un court résumé à garder en contexte (en anglais, la langue des outils) :
texte
FFxF rents KVM virtual machines in Montréal, Canada.
MCP server: https://ffxf.net/mcp (Streamable HTTP, header Authorization: Bearer <key>)
API: https://api.ffxf.net/v1, contract https://ffxf.net/public/api/openapi.v1.json
1. Read the catalogue without a key: list_regions, list_plans, list_images.
2. Ask the user for an API key; never invent one.
Keys are created at https://console.ffxf.net/account/api-keys
3. Call estimate_vm and show the price before create_vm.
4. Poll get_action until the provisioning action leaves "running".
5. Ask the user before destroy_vm or reinstall_vm: both erase the disk.
Money is a decimal string with a currency code. Quote request_id to support.
Support & discussions
Questions techniques, retours d'incidents ou discussions d'infrastructure, l'équipe est présente sur Discord, Telegram, X, Instagram, Reddit et IRC.