Serveur MCP Permet à Claude de Créer et Exécuter des Outils Personnalisés à l'Exécution

Un développeur a créé un serveur MCP qui permet à Claude de créer, mettre à jour et exécuter de nouveaux outils à l'exécution sans nécessiter de redéploiement. Contrairement aux configurations MCP standard où les outils sont figés au moment du déploiement, ce système permet la création dynamique d'outils.
Architecture Principale
Le serveur implémente cinq outils MCP principaux :
- Lister les Outils — renvoie les outils disponibles
- Obtenir un Outil — récupère la définition complète de l'outil, y compris le code
- Créer un Outil — stocke un nouvel outil dans un registre de base de données
- Mettre à Jour un Outil — modifie un outil existant
- Exécuter un Outil — exécute tout outil stocké par son nom
Processus d'Exécution des Outils
Le méta-outil Exécuter un Outil fonctionne comme suit :
- Recherche l'outil demandé dans une table MySQL
- Récupère son code
- Transmet les paramètres en tant que contexte
- L'exécute dans un sous-processus Deno avec des permissions restreintes
- Renvoie le résultat
Implémentation du Bac à Sable
Le développeur a évalué Node VM, isolated-vm et Docker avant de choisir Deno pour le bac à sable. Deno a été sélectionné car :
- Modèle de permissions clair avec un contrôle granulaire du réseau, du système de fichiers et des sous-processus
- Support natif de npm
- TypeScript intégré
- Démarrage à froid d'environ 50 ms contre 500 ms+ pour Docker
Le bac à sable utilise ces drapeaux : --allow-net --deny-read --deny-write --deny-run --deny-ffi. Cela permet au code de l'outil d'effectuer des requêtes HTTP et d'utiliser des packages npm, mais empêche l'accès au système de fichiers ou la création de processus.
Format du Code des Outils
Le code de l'outil est en JavaScript/TypeScript et reçoit un objet contexte pour les paramètres. Exemple tiré de la source :
const response = await fetch(`https://api.example.com/${context.city}`);
const data = await response.json();
return { temp: data.temp, conditions: data.weather[0].description };
Capacité d'Auto-extension
Le système permet une boucle d'auto-extension : Claude identifie qu'il a besoin d'une capacité → crée l'outil → l'utilise immédiatement → le met à jour si le résultat n'est pas correct. Cela permet au système de devenir plus performant au fil du temps sans intervention du développeur.
L'implémentation est basée sur n8n en tant que serveur MCP avec MySQL pour le stockage des outils et fonctionne en production depuis quelques mois.
📖 Read the full source: r/ClaudeAI
👀 See Also

PocketBot Beta : Agent IA iOS axé sur la confidentialité avec moteur hybride local/cloud
PocketBot est un agent d'IA iOS qui fonctionne en arrière-plan, s'intègre aux App Intents, et utilise un moteur hybride : exécution locale pour les déclencheurs système et l'anonymisation des données personnelles, avec traitement cloud pour les tâches complexes comme la synthèse d'e-mails ou la réservation de vols.

Tycono : Harnais d'Agent IA Open-Source avec Organigramme et Boucles d'Amélioration Autonome
Tycono est un harnais open-source où vous définissez les rôles des agents d'IA en YAML (CTO, ingénieur, QA, etc.) et ils travaillent ensemble suivant un organigramme avec des boucles d'amélioration autonomes. Le système a exécuté 17 tours de travail pendant la nuit sur une tâche de jeu de course de pixels, générant 6 796 lignes de code réparties sur 43 commits.

Serveur MCP Légal pour Claude Offre un Accès à Plus de 4 Millions d'Avis Judiciaires Américains
Un serveur MCP gratuit et open-source construit avec Claude Code donne à l'IA Claude accès à plus de 4 millions d'avis réels de tribunaux américains, offrant 18 outils pour la recherche de jurisprudence, le suivi des citations, l'analyse Bluebook, la gestion de pratique Clio et l'accès aux dossiers fédéraux PACER sans hallucinations.

Fonctions d'IA : Génération de code à l'exécution avec vérification automatisée
AI Functions est une bibliothèque Python qui vous permet de définir des fonctions avec des spécifications en langage naturel au lieu de code d'implémentation, exécute du code généré par LLM au moment de l'exécution et valide les sorties avec des post-conditions qui déclenchent des nouvelles tentatives automatiques en cas d'échec.