Problèmes identifiés
1. Doublons (357 tools)
État actuel :
- Total en DB : 714 tools
- Avec préfixe
mcp_ssh_bridge- : 357 tools
- Sans préfixe
ssh_* : 357 tools
- Ratio : 1.0 (doublons exacts)
Impact :
- Confusion pour les agents (voient chaque tool 2 fois)
- Gaspillage de tokens dans le schema
- Incohérence avec les autres MCPs
Solution :
- Supprimer les 357 doublons (garder soit les préfixés, soit les non-préfixés)
- Recommandation : garder
ssh_* (sans préfixe) pour cohérence avec ClickUp/Hetzner
2. Schemas basiques
État actuel :
{
"type": "object",
"properties": {
"host": {"type": "string", "description": "..."}
},
"required": ["host"]
}
Problèmes :
- Seulement
host comme paramètre requis
- Pas de descriptions détaillées pour les autres paramètres
- Pas de validation de types (string, number, boolean)
- Pas d'enums pour les valeurs autorisées
- Pas de defaults
- Pas de minimum/maximum
- Génération dynamique par pattern matching sur le nom du tool
Comparaison avec ClickUp/Hetzner :
- ClickUp : schemas complets avec descriptions, types, enums, required
- Hetzner : schemas complets avec descriptions, types, enums, required
- SSH Bridge : schemas minimaux, juste
host + quelques propriétés
Root cause :
Le fichier mcp-ssh-bridge-eager.py génère les schemas dynamiquement via build_schema() basé sur le nom du tool :
if "service" in name or "systemd" in name:
schema["properties"]["service"] = {"type": "string", "description": "Service name"}
if "docker" in name:
schema["properties"]["container"] = {"type": "string", "description": "Container name or ID"}
C'est beaucoup moins précis que d'extraire les schemas depuis un package npm.
3. Source custom
État actuel :
- Fichier :
/app/mcp-ssh-bridge-eager.py (300 lignes)
- Binaire :
/usr/local/bin/mcp-ssh-bridge
- Pas un package npm standard
- Pas de documentation externe
Impact :
- Impossible d'extraire les schemas depuis une source fiable
- Nécessite de modifier le code source ou le binaire
- Pas de mise Ă jour automatique
Actions requises
Priorité 1 : Nettoyer les doublons
- Identifier quels tools garder (préfixés ou non-préfixés)
- Supprimer les 357 doublons
- Valider que les agents peuvent toujours utiliser les tools
Priorité 2 : Améliorer les schemas
Option A : Modifier mcp-ssh-bridge-eager.py
- Améliorer
build_schema() pour générer des schemas plus complets
- Ajouter descriptions, types, enums, required
- Nécessite de connaître les paramètres de chaque tool
Option B : Extraire depuis le binaire
- Analyser
/usr/local/bin/mcp-ssh-bridge pour extraire les schemas
- Créer un script pour parser et mettre à jour la DB
- Complexe car le binaire est compilé
Option C : Documenter manuellement
- Créer un fichier YAML/JSON avec les schemas de chaque tool
- Script pour mettre Ă jour la DB
- Travail manuel important (357 tools)
Priorité 3 : Tests E2E
- Tester quelques tools représentatifs (docker, systemd, backup, etc.)
- Valider que les tools fonctionnent correctement
- Documenter dans TOOLS.md
Recommandation
Court terme (cette semaine) :
- Nettoyer les doublons (30 min)
- Tester E2E quelques tools (1h)
Moyen terme (ce mois) :
3. Améliorer les schemas via Option A ou C (4-8h)
Long terme :
4. Remplacer par un package npm standard si disponible
Impact
- Agents : Moins de confusion, schemas plus clairs
- Tokens : Réduction de ~50% (357 doublons supprimés)
- Maturité : Passer de 🟡 Superficiel à 🟢 Mature
Priorité
🔴 CRITIQUE — Doublons + schemas basiques
Problèmes identifiés
1. Doublons (357 tools)
État actuel :
mcp_ssh_bridge-: 357 toolsssh_*: 357 toolsImpact :
Solution :
ssh_*(sans préfixe) pour cohérence avec ClickUp/Hetzner2. Schemas basiques
État actuel :
{ "type": "object", "properties": { "host": {"type": "string", "description": "..."} }, "required": ["host"] }Problèmes :
hostcomme paramètre requisComparaison avec ClickUp/Hetzner :
host+ quelques propriétésRoot cause :
Le fichier
mcp-ssh-bridge-eager.pygénère les schemas dynamiquement viabuild_schema()basé sur le nom du tool :C'est beaucoup moins précis que d'extraire les schemas depuis un package npm.
3. Source custom
État actuel :
/app/mcp-ssh-bridge-eager.py(300 lignes)/usr/local/bin/mcp-ssh-bridgeImpact :
Actions requises
Priorité 1 : Nettoyer les doublons
Priorité 2 : Améliorer les schemas
Option A : Modifier
mcp-ssh-bridge-eager.pybuild_schema()pour générer des schemas plus completsOption B : Extraire depuis le binaire
/usr/local/bin/mcp-ssh-bridgepour extraire les schemasOption C : Documenter manuellement
Priorité 3 : Tests E2E
Recommandation
Court terme (cette semaine) :
Moyen terme (ce mois) :
3. Améliorer les schemas via Option A ou C (4-8h)
Long terme :
4. Remplacer par un package npm standard si disponible
Impact
Priorité
🔴 CRITIQUE — Doublons + schemas basiques