# leadtech-bmad-mcp Serveur MCP **sidecar** pour brancher la base Lead_tech dans un workflow BMAD sans remplacer BMAD. Etat actuel : **prototype exploitable** pour un rollout advisory. ## Objectif - BMAD garde l'orchestration (story, roles, statut, handoff). - Ce serveur apporte des outils de guidance et de gate qualite. - Ecriture controlee: uniquement `95_a_capitaliser.md` et memoire projet (optionnel, avec flag). ## Ce que le serveur fait bien aujourd'hui - exposer la base Lead_tech en `resources` MCP lisibles par un agent - retrouver les patterns/risques les plus probables pour une story - appliquer quelques gates transverses deja stabilises dans Lead_tech - encapsuler la capitalisation dans un flux plus propre que l'edition manuelle ## Ce qu'il ne faut pas lui demander pour l'instant - remplacer la lecture humaine complete des docs prioritaires - faire du ranking semantique avance - ecrire directement dans `knowledge/` - prendre la decision finale de merge, de done, ou de capitalisation ## Tools exposes - `get_guidance(domain, task_type, story_text?, keywords?, max_items?)` - `validate_plan(domain, plan_text, agent_role?, strict?)` - `validate_patch(domain, diff_text, changed_files?, strict?)` - `emit_checklist(agent_role, domain, story_text?)` - `propose_capitalization(project_name, target_file, why, proposal, dry_run?)` - `triage_capitalization(project_filter?, max_entries?)` - `route_to_project_memory(project_name, section, content, dry_run?)` ## Resources exposees - `leadtech://index` - `leadtech://capitalisation/pending` - `leadtech://projects/conf` - `leadtech://knowledge/{domain}/{bucket}/{slug}` - `leadtech://global/architecture` - `leadtech://global/debug` - `leadtech://global/conventions` ## Design de securite - lecture libre sur les fichiers Lead_tech exposes - ecriture desactivee par defaut - aucune ecriture autorisee dans `knowledge/*` - ecriture conditionnelle uniquement sur : - `95_a_capitaliser.md` - `CLAUDE.md` projet ## Integration recommandee dans BMAD 1. Analyst Appeler `get_guidance(...)` a l'entree de story pour injecter patterns, risques et docs a lire. 2. Builder Appeler `validate_plan(...)` avant implementation puis `validate_patch(...)` apres generation du diff. 3. Reviewer Appeler `emit_checklist(...)` et, si besoin, relancer `validate_patch(...)` sur le diff final. 4. Curator Utiliser `propose_capitalization(..., dry_run=true)` puis `triage_capitalization()`. ## Installation locale ```bash cd /srv/helpers/_Assistant_Lead_Tech/mcp/leadtech_bmad_mcp python -m venv .venv source .venv/bin/activate pip install -e . ``` Pour le dev local avec tests : ```bash pip install -e ".[dev]" pytest tests -q ``` ## Lancement (stdio) ```bash source .venv/bin/activate export LEADTECH_ROOT=/srv/helpers/_Assistant_Lead_Tech leadtech-bmad-mcp ``` ## Variables d'environnement - `LEADTECH_ROOT` (defaut: `/srv/helpers/_Assistant_Lead_Tech`) - `LEADTECH_MCP_ALLOW_WRITE` (defaut: `0`) - mettre `1` pour autoriser l'ecriture dans `95_a_capitaliser.md` et `CLAUDE.md` projet ## Mode de branchement BMAD Voir `80_bmad/integration_mcp_sidecar.md` pour les points d'injection exacts dans le workflow. ## Merge checklist recommandee Avant de merger cette brique dans `main` : - supprimer du repo les artefacts locaux (`.venv`, `__pycache__`, `*.pyc`) - verifier l'installation sur une machine vierge avec `pip install -e ".[dev]"` - lancer `pytest tests -q` - confirmer que les tools/resources exposes sont bien ceux attendus par les prompts BMAD - documenter la phase de rollout retenue : advisory only ou blocage sur `blocking_issues` ## Upgrades conseilles - index de recherche compile plutot qu'un scan fichier par fichier - metadonnees YAML/front matter dans `knowledge/` pour fiabiliser le ranking - schémas MCP formalises et versionnes pour chaque tool - logs d'execution par story pour auditer les gates et la decision humaine - suites de tests complementaires sur les faux positifs/faux negatifs des regex