ENbext.dev
DocumentationApplication de bureau

Traduction automatique depuis l’anglais. Consulter l’original.

Sur cette page

Serveur MCP

Le compagnon bext comprend un serveur Protocole de contexte de modèle (MCP) intégré qui permet aux agents IA de gérer votre infrastructure bext de manière autonome.

Qu’est-ce que le MCP ?#

MCP est un protocole ouvert qui permet aux modèles d'IA (Claude, etc.) d'appeler des outils et de lire des ressources à partir de systèmes externes. Le compagnon bext expose 49 outils couvrant le déploiement, la configuration, la gestion des données, la sécurité et l'observabilité — tout ce dont un agent a besoin pour gérer vos applications.

Démarrage rapide#

Statut : le serveur MCP et les 49 outils sont implémentés, mais le L'indicateur de lancement sans tête --mcp sur le binaire du bureau est toujours en cours de câblage en haut. Jusqu'à sa livraison, le serveur stdio n'est pas démarré par la commande ci-dessous. Suivez le travail du point d’entrée avant de vous y fier en production.

Une fois le drapeau posé, ajoutez le compagnon bext en tant que serveur MCP dans votre configuration Claude Code :

json
{
  "mcpServers": {
    "bext": {
      "command": "bext-companion",
      "args": ["--mcp"]
    }
  }
}

Une fois connecté, Claude peut déployer, restaurer, gérer les secrets, interroger les bases de données et surveiller votre infrastructure via une conversation naturelle.

Outils disponibles (49)#

Déploiement et gestion de flotte#

Outil Description
deploy Déployer une application sur une instance
rollback Revenir à la version précédente
promote_canary Promouvoir le déploiement de Canary vers un trafic complet
fleet_deploy Déployer sur plusieurs instances simultanément
deploy_history Afficher les enregistrements de déploiement récents

Gestion des instances#

Outil Description
list_instances Répertorier toutes les instances bext enregistrées
instance_overview Tableau de bord complet de l'instance (état de santé, métriques, déploiements)
instance_health État de santé actuel

Gestion des applications#

Outil Description
list_apps Répertorier les applications sur une instance
add_app Enregistrer une nouvelle candidature
remove_app Supprimer une application
list_domains Liste des domaines configurés
add_domain Ajouter un domaine à une application
remove_domain Supprimer un domaine

Secrets et configuration#

Outil Description
list_secrets Répertorier les noms de secrets (pas les valeurs)
set_secret Définir une variable d'environnement
delete_secret Supprimer un secret
read_config Lire bext.config.toml
reload_config Configuration du serveur de rechargement à chaud

Gestion des données#

Outil Description
db_query Exécuter des requêtes SQL en lecture seule
db_execute Exécuter l'écriture SQL (INSERT/UPDATE/DELETE)
kv_get Obtenez une valeur dans le magasin KV
kv_set Définir une paire clé-valeur avec TTL facultatif
kv_delete Supprimer une clé
kv_list Répertorier les clés par préfixe

Files d'attente durables#

Outil Description
queue_push Placer une tâche dans une file d'attente
queue_pull Extraire les tâches en attente
queue_ack Accuser réception des travaux terminés

Cache#

Outil Description
cache_stats Taux et tailles de réussite du cache ISR
cache_invalidate Purger les pages mises en cache par balise ou chemin

Pub/Sub en temps réel#

Outil Description
realtime_publish Publier un message sur un sujet
realtime_stats Statistiques de connexion et de sujet

Sécurité (WAF)#

Outil Description
waf_stats Requêtes bloquées et accès aux règles
waf_rules Répertorier les règles et leur statut
waf_toggle_rule Activer ou désactiver une règle WAF

Tâches planifiées#

Outil Description
list_tasks Répertorier les tâches périodiques
create_task Créer une tâche planifiée
cancel_task Annuler une tâche

Sauvegarde et stockage#

Outil Description
backup_create Créer une sauvegarde
backup_list Liste des sauvegardes disponibles
backup_restore Restaurer à partir d'une sauvegarde

Observabilité#

Outil Description
fetch_logs Entrées de journal récentes
metrics_overview Métriques d'instance
run_conformance Exécuter la suite de tests de conformité

Plugins et flux#

Outil Description
list_plugins Plugins de serveur installés
install_plugin Installer un plugin
remove_plugin Supprimer un plugin
list_flows Exécutions de flux de travail durables
flow_stats Statistiques de flux de travail

Ressources#

Le serveur MCP expose des ressources lisibles auxquelles les agents peuvent faire référence :

  • bext://instance/{id} — Présentation complète de l'instance (état de santé, métriques, configuration, déploiements récents)
  • bext://deploy-history : enregistrements de déploiement récents sur toutes les instances

Sécurité#

Le serveur MCP valide toutes les entrées :

  • Les requêtes SQL sont limitées en longueur et bloquent les DDL destructeurs ( DROP, TRUNCATE )
  • Les noms secrets sont limités aux caractères alphanumériques + trait de soulignement
  • Chemins du plug-in rejette la traversée du chemin ( .. )
  • Les charges utiles de la file d'attente sont limitées en taille (10 Mo maximum)
  • Les expressions Cron sont validées (5 à 6 champs requis)
  • Les noms de domaine sont vérifiés au format
  • Les ID d'instance sont vérifiés par rapport au registre avant toute opération
  • Les informations d'identification ne sont jamais exposées — les réponses des ressources suppriment les champs sensibles
  • La taille de la requête est limitée — les lectures stdin sont limitées à 2 Mo par ligne

Exemple : déploiement piloté par agent#

code
You: Deploy the latest version to staging, run conformance tests, 
     and if the score is above 95%, promote to production.

Claude: I'll handle that step by step.

1. Deploying to staging...
   → deploy(instance_id: "staging-1") 
   ✓ Deployed v1.2.4 in 3.2s

2. Running conformance tests...
   → run_conformance()
   ✓ Score: 98.5% (133 pass, 1 partial, 0 fail)

3. Score is above 95%, promoting to production...
   → fleet_deploy(instance_ids: ["prod-1", "prod-2", "prod-3"], version: "1.2.4")
   ✓ 3/3 instances deployed successfully

All done. v1.2.4 is live on all production instances.

Protocole#

Le serveur MCP utilise JSON-RPC 2.0 sur stdio, compatible avec la version du protocole MCP 2024-11-05. Chaque requête est une seule ligne JSON sur stdin ; les réponses sont des lignes JSON uniques sur la sortie standard.

Attention

Le drapeau de lancement sans tête --mcp n'est pas encore câblé. La liste d'outils ci-dessus est implémentée, mais le serveur stdio ne démarrera pas tant que le drapeau n'est pas livré. Consultez la note d'état dans la section Démarrage rapide.

En rapport#

Modifier cette page ↗Besoin d’aide ? ↗
Rechercher dans la documentation

Saisissez un sujet, une commande ou une question.