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
71 outils, chacun relié à un point d'accès de l'API publique et au périmètre qu'il exige : machines, réseaux privés, pare-feux, répartiteurs de charge, bases de données gérées et runners GitHub.
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.
sshkeys.write
list_vpcs, get_vpc
Réseaux privés, leur plage d'adresses et les machines qui y sont reliées.
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.