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

DecisionNode : CLI et serveur MCP pour le stockage sémantique de décisions
DecisionNode est un serveur CLI et MCP local qui stocke des décisions structurées au format JSON, les intègre sous forme de vecteurs pour la recherche sémantique et les rend accessibles à travers les outils d'IA via MCP. Il est sous licence MIT et conçu pour fonctionner avec Claude Code, Cursor, Windsurf, Antigravity et d'autres clients MCP.

L'application de bureau Claude permet la collaboration entre IA via des documents Google partagés
Les utilisateurs ont réussi à mettre en place une communication de Claude à Claude en utilisant la nouvelle fonction de collaboration dans l'application de bureau, avec deux agents lisant et écrivant dans un Google Doc partagé. Le test a impliqué cinq tours de dialogue questions-réponses entre les agents d'IA.

AIDA : Plateforme Open-Source pour les Tests d'Intrusion Assistés par l'IA
AIDA est une plateforme open source qui fournit aux agents d'IA un environnement complet de test d'intrusion via une connexion MCP à un conteneur Docker. La dernière version remplace l'exigence de 40 Go d'Exegol par un conteneur spécialement conçu de 1 Go contenant les outils de sécurité essentiels.

Rappel : Un serveur MCP de mémoire persistante pour Claude Code
Recall est un serveur MCP open-source qui donne à Claude Code une mémoire persistante entre les sessions via une recherche sémantique avec des embeddings. Il comprend quatre crochets de cycle de vie : session-start, observe, pre-compact et session-end.