AskMeMCP - Serveur MCP à boucle humaine
AskMeMCP est un serveur MCP (Model Context Protocol) qui permet aux assistants d'intelligence artificielle de solliciter des données humaines par le biais d'une interface web. Il implémente de multiples outils interactifs(poser une question
, poser un choix multiple
, défier une hypothèse
, choisir le suivant
), permettant aux clients MCP tels que Claude Code de mettre en pause l'exécution et d'attendre les réponses humaines.
Caractéristiques
- transport stdio: Intégration directe avec Claude Code et d'autres clients MCP
- Serveur autonome: Servit l'interface utilisateur Angular de manière statique - aucun serveur d'interface utilisateur séparé n'est nécessaire
- Allocation dynamique de port: Trouve automatiquement un port disponible si le port par défaut est utilisé
- Ouverture automatique du navigateur: Ouvre l'interface utilisateur automatiquement lorsque des demandes arrivent
- Mises à jour en temps réel: Événements envoyés par le serveur pour une communication en direct
- Plusieurs types d'outils: Questions simples, choix multiples, défis d'hypothèses et flux de décisions
Installation de l'application
Option 1 : Utilisation de npx (aucune installation requise)
Vous pouvez exécuter Ask-Me MCP directement en utilisant npx sans l'installer globalement :
npx ask-me-mcp
Note : La première fois que vous exécutez cette commande, npx vous demandera de confirmer l'installation temporaire du paquet. Pour éviter cette confirmation, utilisez
npx --yes ask-me-mcp
Option 2 : Installation globale
npm install -g ask-me-mcp ask-me-mcp
Configuration pour différents clients
Application de bureau Claude
Ajoutez à votre fichier de configuration Claude :
- macOS:
~/Bibliothèque/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claudeclaude_desktop_config.json
- Linux:
~/.config/Claude/claude_desktop_config.json
{ "mcpServers" : { "ask-me" : {"command" : "npx", "args" : ["--yes", "ask-me-mcp"] } } }
Code Claude
Utilisation de l'interface de commande :
claude mcp add askme -- npx -y ask-me-mcp
Ou ajoutez manuellement à votre configuration Claude Code :
- macOS:
~/Bibliothèque/Application Support/Claude/claude_code_config.json
- Windows:
%APPDATA%\\NClaudeclaude_code_config.json
- Linux:
~/.config/Claude/claude_code_config.json
{ "mcpServers" : { "ask-me" : {"command" : "npx", "args" : ["--yes", "ask-me-mcp"] } } }
Curseur
Ajoutez aux paramètres de votre curseur (dans .cursor/mcp_settings.json
à la racine de votre projet) :
{ "mcpServers" : { "ask-me" : { "command" : "npx", "args" : ["--yes", "ask-me-mcp"] } } }
VS Code avec Continue ou des extensions similaires
Pour les extensions VS Code qui prennent en charge MCP, ajoutez à la configuration de votre extension :
{ "mcpServers" : { "ask-me" : {"command" : "npx", "args" : ["--yes", "ask-me-mcp"] } } }
Configuration des ports
Le serveur a deux comportements de port :
Découverte automatique (par défaut): Recherche les ports disponibles à partir de 3000
npx --yes ask-me-mcp
Port fixe: Utilise le port exact spécifié avec
--port
(échoue si le port est déjà utilisé)npx --yes ask-me-mcp --port 8080
Pour la configuration du code Claude avec un port fixe :
{ "mcpServers" : { "ask-me" : { "command" : "npx", "args" : ["--yes", "ask-me-mcp", "--port", "8080"] } } }
Option 3 : Construire à partir des sources
# Cloner le dépôt git clone https://github.com/yourusername/AskMeMCP.git cd AskMeMCP # Installer les dépendances npm install # Construire tous les projets npm run build # Configurer Claude Code avec le chemin complet
Ajoutez à votre configuration Claude Code :
{ "mcpServers" : { "ask-me" : { "command" : "node", "args" : ["/full/path/to/AskMeMCP/dist/askme-server/main.js"] } } }
Utilisation
Une fois configuré, vous pouvez utiliser les outils disponibles dans Claude Code :
outil ask-one-question
Veuillez utiliser l'outil ask-one-question pour me demander quelle est ma couleur préférée
outil ask-multiple-choice
Veuillez utiliser l'outil ask-multiple-choice avec ces questions : { "questions" : [ { "text" : "Quels environnements de déploiement devrions-nous cibler ?", "options" : ["Development", "Staging", "Production"] }, { "text" : "Quelles fonctionnalités doivent être incluses dans cette version ?", "options" : ["Authentification des utilisateurs", "Mises à jour du tableau de bord", "Améliorations de l'API", "Support mobile"] } ] }
Toutes les demandes s'affichent dans l'interface web, où vous pouvez fournir des réponses. Pour les questions à choix multiples, vous pouvez sélectionner plusieurs options et ajouter des commentaires à chaque choix.
Architecture
- askme-server: serveur MCP stdio avec pont HTTP intégré pour la communication avec le navigateur
- askme-ui: Frontend Angular 20+ avec une interface utilisateur réactive utilisant des signaux
- askme-shared: Types TypeScript partagés pour la communication frontend-backend
Développement
# Exécuter l'interface utilisateur en mode développement npx nx serve askme-ui # Exécuter le serveur en mode développement npx nx serve askme-server # Exécuter des tests npx nx test askme-ui npx nx test askme-server # Lint du code npx nx lint askme-ui npx nx lint askme-server
Résolution des problèmes
Problèmes de connexion avec le code Claude
Si vous voyez des erreurs "Connection failed" :
Activez le mode débogage: Exécutez avec la journalisation de débogage pour voir ce qui se passe :
ASK_ME_MCP_DEBUG=1 claude --debug
Vérifier le serveur: Tester si le serveur fonctionne correctement :
npx --yes ask-me-mcp --help
Conflits de ports: Si le port 3000 est utilisé, spécifiez un autre port :
claude mcp add ask-me npx --yes ask-me-mcp --port 8080
Test manuel: Exécutez le serveur directement pour voir s'il y a des erreurs :
npx --yes ask-me-mcp
Problèmes courants
- Confirmation de la première fois: La première exécution de
npx ask-me-mcp
peut demander une confirmation. Utiliseznpx --yes
pour sauter cette étape. - Port déjà utilisé: le serveur trouve automatiquement un port disponible, mais vous pouvez en spécifier un avec
--port
- Lenavigateur ne s'ouvre pas: Si le navigateur ne s'ouvre pas automatiquement, naviguez manuellement vers le port indiqué dans les journaux de débogage
Licence
MIT