Skip to main content
Glama
TOOLS-REFERENCE.fr.md14.3 kB
# Référence des Outils Documentation complète pour tous les outils MCP fournis par Spec Workflow MCP. ## Vue d'ensemble Spec Workflow MCP fournit des outils spécialisés pour le développement logiciel structuré. Ces outils sont accessibles aux assistants IA via le Model Context Protocol. ## Catégories d'Outils 1. **Guides de Workflow** - Documentation et orientations 2. **Gestion de Spec** - Créer et gérer les spécifications 3. **Outils de Contexte** - Récupérer les informations du projet 4. **Outils de Direction** - Orientations au niveau du projet 5. **Outils d'Approbation** - Workflow d'approbation des documents ## Outils de Guide de Workflow ### spec-workflow-guide **Objectif** : Fournit des orientations complètes pour le processus de workflow piloté par les spécifications. **Paramètres** : Aucun **Retourne** : Guide markdown expliquant le workflow complet **Exemple d'Utilisation** : ``` "Montrer le guide du workflow de spec" ``` **La Réponse Contient** : - Vue d'ensemble du workflow - Processus étape par étape - Meilleures pratiques - Exemples de prompts ### steering-guide **Objectif** : Guide pour créer des documents de direction de projet. **Paramètres** : Aucun **Retourne** : Guide markdown pour la création de documents de direction **Exemple d'Utilisation** : ``` "Montrer comment créer des documents de direction" ``` **La Réponse Contient** : - Types de documents de direction - Processus de création - Directives de contenu - Exemples ## Outils de Gestion de Spec ### create-spec-doc **Objectif** : Crée ou met à jour des documents de spécification (exigences, conception, tâches). **Paramètres** : | Paramètre | Type | Requis | Description | |-----------|------|----------|-------------| | specName | string | Oui | Nom de la spec (kebab-case) | | docType | string | Oui | Type : "requirements", "design", ou "tasks" | | content | string | Oui | Contenu markdown du document | | revision | boolean | Non | Si c'est une révision (défaut : false) | **Exemple d'Utilisation** : ```typescript { specName: "user-authentication", docType: "requirements", content: "# Exigences d'Authentification Utilisateur\n\n## Vue d'ensemble\n...", revision: false } ``` **Retourne** : ```typescript { success: true, message: "Document d'exigences créé avec succès", path: ".spec-workflow/specs/user-authentication/requirements.md", requestedApproval: true } ``` **Notes** : - Crée le répertoire de spec s'il n'existe pas - Demande automatiquement l'approbation pour les nouveaux documents - Valide le format markdown - Préserve les documents existants lors de la création de nouveaux types ### spec-list **Objectif** : Liste toutes les spécifications avec leur statut actuel. **Paramètres** : Aucun **Retourne** : Tableau de résumés de spec **Structure de Réponse** : ```typescript [ { name: "user-authentication", status: "in-progress", progress: 45, documents: { requirements: "approved", design: "pending-approval", tasks: "not-created" }, taskStats: { total: 15, completed: 7, inProgress: 1, pending: 7 } } ] ``` **Exemple d'Utilisation** : ``` "Lister toutes mes specs" ``` ### spec-status **Objectif** : Obtient des informations de statut détaillées pour une spec spécifique. **Paramètres** : | Paramètre | Type | Requis | Description | |-----------|------|----------|-------------| | specName | string | Oui | Nom de la spec à vérifier | **Retourne** : Statut détaillé de la spec **Structure de Réponse** : ```typescript { exists: true, name: "user-authentication", documents: { requirements: { exists: true, approved: true, lastModified: "2024-01-15T10:30:00Z", size: 4523 }, design: { exists: true, approved: false, pendingApproval: true, lastModified: "2024-01-15T14:20:00Z", size: 6234 }, tasks: { exists: true, taskCount: 15, completedCount: 7, inProgressCount: 1, progress: 45 } }, overallProgress: 45, currentPhase: "implementation" } ``` **Exemple d'Utilisation** : ``` "Montrer le statut de la spec user-authentication" ``` ### manage-tasks **Objectif** : Gestion complète des tâches incluant les mises à jour, changements de statut et suivi de progression. **Paramètres** : | Paramètre | Type | Requis | Description | |-----------|------|----------|-------------| | specName | string | Oui | Nom de la spec | | action | string | Oui | Action : "update", "complete", "list", "progress" | | taskId | string | Parfois | ID de tâche (requis pour update/complete) | | status | string | Non | Nouveau statut : "pending", "in-progress", "completed" | | notes | string | Non | Notes additionnelles pour la tâche | **Actions** : 1. **Mettre à Jour le Statut de Tâche** : ```typescript { specName: "user-auth", action: "update", taskId: "1.2.1", status: "in-progress", notes: "Implémentation démarrée" } ``` 2. **Compléter une Tâche** : ```typescript { specName: "user-auth", action: "complete", taskId: "1.2.1" } ``` 3. **Lister les Tâches** : ```typescript { specName: "user-auth", action: "list" } ``` 4. **Obtenir la Progression** : ```typescript { specName: "user-auth", action: "progress" } ``` **Retourne** : Informations de tâche ou confirmation de mise à jour ## Outils de Contexte ### get-template-context **Objectif** : Récupère les templates markdown pour tous les types de documents. **Paramètres** : Aucun **Retourne** : Objet contenant tous les templates **Structure de Réponse** : ```typescript { requirements: "# Template d'Exigences\n\n## Vue d'ensemble\n...", design: "# Template de Conception\n\n## Architecture\n...", tasks: "# Template de Tâches\n\n## Tâches d'Implémentation\n...", product: "# Template de Direction Produit\n...", tech: "# Template de Direction Technique\n...", structure: "# Template de Direction Structurelle\n..." } ``` **Exemple d'Utilisation** : ``` "Obtenir tous les templates de documents" ``` ### get-steering-context **Objectif** : Récupère les documents de direction de projet et les orientations. **Paramètres** : | Paramètre | Type | Requis | Description | |-----------|------|----------|-------------| | docType | string | Non | Doc spécifique : "product", "tech", "structure", ou "all" | **Retourne** : Contenu du document de direction **Exemple d'Utilisation** : ```typescript { docType: "tech" // Retourne uniquement la direction technique } ``` **Structure de Réponse** : ```typescript { product: "# Direction Produit\n\n## Vision\n...", tech: "# Direction Technique\n\n## Architecture\n...", structure: "# Direction Structurelle\n\n## Organisation\n..." } ``` ### get-spec-context **Objectif** : Récupère le contexte complet pour une spec spécifique. **Paramètres** : | Paramètre | Type | Requis | Description | |-----------|------|----------|-------------| | specName | string | Oui | Nom de la spec | | includeContent | boolean | Non | Inclure le contenu du document (défaut : true) | **Retourne** : Contexte complet de la spec **Structure de Réponse** : ```typescript { name: "user-authentication", exists: true, documents: { requirements: { exists: true, content: "# Exigences\n\n...", approved: true }, design: { exists: true, content: "# Conception\n\n...", approved: false }, tasks: { exists: true, content: "# Tâches\n\n...", stats: { total: 15, completed: 7, progress: 45 } } }, relatedSpecs: ["user-profile", "session-management"], dependencies: ["database-setup", "auth-library"] } ``` **Exemple d'Utilisation** : ``` "Obtenir le contexte complet pour la spec user-authentication" ``` ## Outils de Document de Direction ### create-steering-doc **Objectif** : Crée des documents de direction de projet (product, tech, structure). **Paramètres** : | Paramètre | Type | Requis | Description | |-----------|------|----------|-------------| | docType | string | Oui | Type : "product", "tech", ou "structure" | | content | string | Oui | Contenu markdown du document | **Exemple d'Utilisation** : ```typescript { docType: "product", content: "# Direction Produit\n\n## Vision\nConstruire le meilleur..." } ``` **Retourne** : ```typescript { success: true, message: "Document de direction produit créé", path: ".spec-workflow/steering/product.md" } ``` **Notes** : - Crée le répertoire de direction si nécessaire - Écrase les documents de direction existants - Aucune approbation requise pour les docs de direction - Devrait être créé avant les specs ## Outils du Système d'Approbation ### request-approval **Objectif** : Demande l'approbation utilisateur pour un document. **Paramètres** : | Paramètre | Type | Requis | Description | |-----------|------|----------|-------------| | specName | string | Oui | Nom de la spec | | docType | string | Oui | Type de document à approuver | | documentId | string | Oui | ID unique pour le suivi | | content | string | Oui | Contenu du document pour révision | **Exemple d'Utilisation** : ```typescript { specName: "user-auth", docType: "requirements", documentId: "user-auth-req-v1", content: "# Exigences\n\n..." } ``` **Retourne** : ```typescript { success: true, approvalId: "user-auth-req-v1", message: "Approbation demandée. Vérifier le tableau de bord pour réviser." } ``` ### get-approval-status **Objectif** : Vérifie le statut d'approbation d'un document. **Paramètres** : | Paramètre | Type | Requis | Description | |-----------|------|----------|-------------| | specName | string | Oui | Nom de la spec | | documentId | string | Oui | ID du document à vérifier | **Retourne** : ```typescript { exists: true, status: "pending" | "approved" | "rejected" | "changes-requested", feedback: "Veuillez ajouter plus de détails sur la gestion des erreurs", timestamp: "2024-01-15T10:30:00Z", reviewer: "user" } ``` **Exemple d'Utilisation** : ``` "Vérifier le statut d'approbation pour les exigences user-auth" ``` ### delete-approval **Objectif** : Supprime les demandes d'approbation complétées pour nettoyer la file d'approbation. **Paramètres** : | Paramètre | Type | Requis | Description | |-----------|------|----------|-------------| | specName | string | Oui | Nom de la spec | | documentId | string | Oui | ID du document à supprimer | **Retourne** : ```typescript { success: true, message: "Enregistrement d'approbation supprimé" } ``` **Exemple d'Utilisation** : ``` "Nettoyer les approbations complétées pour user-auth" ``` ## Patterns d'Intégration d'Outils ### Workflow Séquentiel Les outils sont conçus pour fonctionner en séquence : 1. `steering-guide` → Apprendre sur la direction 2. `create-steering-doc` → Créer les documents de direction 3. `spec-workflow-guide` → Apprendre le workflow 4. `create-spec-doc` → Créer les exigences 5. `request-approval` → Demander une révision 6. `get-approval-status` → Vérifier le statut 7. `create-spec-doc` → Créer la conception (après approbation) 8. `manage-tasks` → Suivre l'implémentation ### Opérations Parallèles Certains outils peuvent être utilisés simultanément : - `spec-list` + `spec-status` → Obtenir vue d'ensemble et détails - `get-spec-context` + `get-steering-context` → Contexte complet du projet - Multiples `create-spec-doc` → Créer plusieurs specs ### Gestion des Erreurs Tous les outils retournent des structures d'erreur cohérentes : ```typescript { success: false, error: "Spec non trouvée", details: "Aucune spec nommée 'invalid-spec' n'existe", suggestion: "Utiliser spec-list pour voir les specs disponibles" } ``` ## Meilleures Pratiques ### Sélection d'Outils 1. **Collecte d'Informations** : - Utiliser `spec-list` pour la vue d'ensemble - Utiliser `spec-status` pour une spec spécifique - Utiliser `get-spec-context` pour l'implémentation 2. **Création de Document** : - Toujours créer les exigences en premier - Attendre l'approbation avant la conception - Créer les tâches après l'approbation de la conception 3. **Gestion de Tâches** : - Mettre à jour le statut au démarrage des tâches - Marquer complété immédiatement après avoir fini - Utiliser les notes pour le contexte important ### Considérations de Performance - **Opérations par Lot** : Demander plusieurs specs dans une conversation - **Mise en Cache** : Les outils mettent en cache les lectures de fichiers pour la performance - **Chargement Sélectif** : Utiliser `includeContent: false` pour des vérifications de statut plus rapides ### Sécurité - **Validation de Chemin** : Tous les chemins sont validés et assainis - **Isolation de Projet** : Les outils n'accèdent qu'au répertoire du projet - **Assainissement d'Entrée** : Le contenu markdown est assaini - **Pas d'Exécution** : Les outils n'exécutent jamais de code ## Extension des Outils ### Développement d'Outils Personnalisés Pour ajouter de nouveaux outils : 1. Créer un module d'outil dans `src/tools/` 2. Définir le schéma de paramètres 3. Implémenter la fonction de gestionnaire 4. Enregistrer avec le serveur MCP 5. Ajouter aux exports Exemple de structure : ```typescript export const customTool = { name: 'custom-tool', description: 'Description', parameters: { // JSON Schema }, handler: async (params) => { // Implémentation } }; ``` ## Versionnage des Outils Les outils maintiennent la rétrocompatibilité : - Les ajouts de paramètres sont optionnels - Les structures de réponse étendent, ne remplacent pas - Les fonctionnalités dépréciées affichent des avertissements - Guides de migration fournis ## Documentation Associée - [Guide Utilisateur](USER-GUIDE.md) - Utilisation efficace des outils - [Processus de Workflow](WORKFLOW.md) - Utilisation des outils dans le workflow - [Guide de Prompting](PROMPTING-GUIDE.md) - Exemples d'utilisation d'outils - [Guide de Développement](DEVELOPMENT.md) - Ajout de nouveaux outils

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Pimzino/spec-workflow-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server