6.3 KiB
MCP setup
Source canonique pour l'usage MCP local de Kill_LIFE.
References canoniques:
- spec de perimetre:
specs/kicad_mcp_scope_spec.md - matrice de support:
docs/MCP_SUPPORT_MATRIX.md - matrice ecosysteme:
docs/MCP_ECOSYSTEM_MATRIX.md - backlog MCP:
specs/mcp_tasks.md
Source de verite et ownership
Kill_LIFEown le lancement, la consommation et la gouvernance documentaire MCP localemascaradeown l'implementation du serveur KiCad principal et l'observabilite compagnonspecs/a la racine deKill_LIFEest la source de verite canoniqueai-agentic-embedded-base/specs/n'est qu'un miroir exporte
Chemins supportes
- serveur MCP KiCad supporte:
../mascarade/finetune/kicad_mcp_server - launcher supporte cote
Kill_LIFE:tools/hw/run_kicad_mcp.sh - alias operateur supporte:
tools/hw/cad_stack.sh mcp - serveur auxiliaire supporte:
python3 tools/validate_specs.py --mcp - serveur MCP Notion supporte:
tools/run_notion_mcp.sh - serveur MCP GitHub dispatch supporte:
tools/run_github_dispatch_mcp.sh - transport supporte:
stdiolocal uniquement
kicad-sch-mcp n'est plus un chemin supporte dans ce repo. Il reste un ancien axe documentaire, pas un runtime principal.
Ce qui est reellement supporte
kicad: runtime MCP KiCad canonique, avectools,resourcesetpromptsvalidate-specs: validation repo/specs coteKill_LIFE, sans role CADnotion: MCP local sur le backend Notion existant demascaradegithub-dispatch: MCP local pour workflows GitHub allowlistes
Les micro-serveurs kicad_kic_ai de mascarade sont suivis comme surfaces auxiliaires. Ils ne sont pas des points d'entree operateur Kill_LIFE, et leur statut doit etre lu avec leurs dependances externes dans docs/MCP_SUPPORT_MATRIX.md.
Prerequis
- le repo compagnon
mascaradeexiste en voisin (../mascarade) ou viaMASCARADE_DIR nodeest disponible sur la machine- le serveur est builde dans
mascarade/finetune/kicad_mcp_server/dist/index.js - le venv
mascarade/core/.venvexiste, ouMASCARADE_CORE_PYTHONpointe vers un Python avecnotion-clientethttpx - Docker est disponible pour le fallback conteneur KiCad v10
pcbnewcote hote est optionnel: s'il est absent, le launcher bascule vers le conteneur supporteNOTION_API_KEYest requis pour les outilsnotionKILL_LIFE_GITHUB_TOKENouGITHUB_TOKENest requis pourdispatch_workflow
Le runtime prepare un environnement writable sous .cad-home/kicad-mcp/ et exporte KICAD_MCP_DATA_DIR pour eviter les ecritures dans un prefixe immuable.
Diagnostic rapide
Depuis Kill_LIFE:
tools/hw/run_kicad_mcp.sh --doctor
tools/hw/cad_stack.sh mcp --doctor
tools/run_notion_mcp.sh --doctor
tools/run_github_dispatch_mcp.sh --doctor
python3 tools/validate_specs_mcp_smoke.py --json --quick
python3 tools/notion_mcp_smoke.py --json --quick
python3 tools/github_dispatch_mcp_smoke.py --json --quick
python3 tools/hw/mcp_smoke.py --json --quick --timeout 30
python3 tools/hw/mcp_smoke.py --timeout 30
python3 tools/validate_specs.py --json
Sur cette machine auditee, le smoke KiCad passe via le fallback conteneur:
HOST_PCBNEW_IMPORT=missingCONTAINER_STATUS=availablepython3 tools/hw/mcp_smoke.py --timeout 30passepython3 tools/notion_mcp_smoke.py --json --quickretournedegradedtant queNOTION_API_KEYest absentpython3 tools/github_dispatch_mcp_smoke.py --json --quickretournedegradedtant que le token GitHub est absent
Configuration locale
Le fichier versionne mcp.json pointe vers les serveurs MCP reellement supportes:
{
"mcpServers": {
"kicad": {
"type": "local",
"command": "bash",
"args": ["tools/hw/run_kicad_mcp.sh"],
"tools": ["*"]
},
"validate-specs": {
"type": "local",
"command": "python3",
"args": ["tools/validate_specs.py", "--mcp"],
"tools": ["*"]
},
"notion": {
"type": "local",
"command": "bash",
"args": ["tools/run_notion_mcp.sh"],
"tools": ["*"]
},
"github-dispatch": {
"type": "local",
"command": "bash",
"args": ["tools/run_github_dispatch_mcp.sh"],
"tools": ["*"]
}
}
}
Usage
Depuis Kill_LIFE:
tools/hw/run_kicad_mcp.sh
tools/hw/cad_stack.sh mcp
python3 tools/validate_specs.py --mcp
tools/run_notion_mcp.sh
tools/run_github_dispatch_mcp.sh
Le smoke tools/hw/mcp_smoke.py valide actuellement la surface cible suivante:
initializetools/listresources/listprompts/list- creation de projet
- lecture de resources stables
- lecture d'un prompt stable
Les smokes dedies supplementaires sont:
tools/validate_specs_mcp_smoke.py: handshake MCP devalidate-specstools/notion_mcp_smoke.py: handshake MCP denotion, puis validation live si le secret est disponibletools/github_dispatch_mcp_smoke.py: handshake MCP degithub-dispatch, puis validation allowlist et live optionnelle
Le chemin d'observabilite synthetique n'est pas fourni par Kill_LIFE seul. Si la stack compagnon mascarade tourne, /api/ops/summary expose un bloc mcp qui remonte le statut, le runtime reellement choisi, la version de protocole et les compteurs de surface.
Outils auxiliaires
tools/hw/sync_kicad_v10_libs.shest un helper auxiliaire optionnel, hors chemin operateur principal, pour prechauffer les libs/cache KiCad v10 des micro-serveurs auxiliaires- ce helper depend:
- d'une image Docker locale
kill_life_cad-kicad-mcp:latest - du repo compagnon
mascarade
- d'une image Docker locale
- ce helper n'est pas requis pour lancer le runtime
kicadcanonique
Politique de support
stdioreste le seul transport supporte par defaut- aucun serveur MCP reseau n'est expose par defaut
tools/hw/cad_stack.sh mcpest un alias supporte du launcher canonique- le runtime KiCad canonique est celui de
mascarade/finetune/kicad_mcp_server validate-specsreste un MCP auxiliaire repo/specs, pas un runtime CADnotionetgithub-dispatchrestent enstdiolocal et reutilisent les backends existants- les micro-serveurs
kicad_kic_aisont des surfaces auxiliaires suivies, mais restent hors chemin operateurKill_LIFE
Points encore ouverts
- le chemin host-native avec
pcbnewdoit encore etre revalide sur une machine qui expose reellement KiCad Python nexar_apidoit encore etre valide en mode live avecNEXAR_TOKEN