Files
Kill_LIFE/docs/MCP_SUPPORT_MATRIX.md
root e67fb754c2 feat: KiCad 10 native, QEMU simulation, compliance EU, firmware fixes
Session kxkm-ai 25-26 mars 2026 — 98/98 tâches TODO complétées.

Hardware:
- KiCad 10.0.0 native avec sym/fp-lib-table locales
- Nouveau block SPI (gen_spi_header.py), ERC clean
- Module partagé hardware/lib/kicad_gen.py (5 générateurs refactorisés)
- Pipeline export: tools/hw/hw_export.sh (ERC + SVG + PDF + netlist)
- KiBot 1.8.5 installé, .kibot.yaml configuré

Firmware:
- Fix I2S driver conflict: migration I2sMic vers nouvelle API i2s_channel_*
- Fix WDT risk: yield() dans CompletePushToTalk (voice_controller.cpp)
- Fix XSS wifi_manager.cpp: innerHTML → createElement/textContent
- Fix null check FwIsValidWavHeader
- Dead code supprimé: i2s_audio.cpp.bak, i2s_audio.h

Simulation MCU:
- QEMU ESP32-S3 v9.2.2 installé (tools/sim/)
- Script run_qemu_esp32s3.sh — boot OK vérifié
- [env:esp32s3_qemu] dans platformio.ini
- Wokwi CI: wokwi.toml + diagram.json + scenario.yaml
- SPICE bridge POC: tools/sim/spice_bridge.py (ngspice → ADC/brownout)

Compliance:
- Profil iot_wifi_eu validé (16 standards, 8 evidence)
- 4 evidence remplis: risk_assessment, security_architecture,
  test_plan_radio_emc, supply_chain_declarations
- plan.yaml complété avec données produit réelles

CI:
- Job hardware-export (KiCad 10 ERC + SVG + PDF + netlist)
- Job firmware-sim (Wokwi, conditionnel WOKWI_CLI_TOKEN)
- evidence_pack.yml enrichi avec exports hardware

Docs & RAG:
- specs/02_arch.md complet (481 lignes, 4 ADR, diagrammes)
- docs/SIMULATION.md (3 niveaux: native, QEMU, Wokwi)
- 6 chunks ingérés dans kb-kicad RAG
- Dataset HF: tools/generate_hf_dataset.py + datasets/kb_kicad_qa.jsonl
- Rapport analyse: docs/plans/ANALYSIS_REPORT_2026-03-25.md
- Recherche OSS: docs/research/oss_similar_projects.md

Infra:
- ZeroClaw 0.1.7 installé (cargo install)
- APIFY_API_KEY configurée, smoke OK
- Tests: 39/39 firmware + 26/26 Python stable

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 09:52:00 +01:00

63 lines
6.1 KiB
Markdown

# MCP support matrix
Last updated: 2026-03-25
Matrice canonique du statut MCP pour `Kill_LIFE`, `mascarade` et les surfaces associees.
Vue plus large de l'ecosysteme:
- `docs/MCP_ECOSYSTEM_MATRIX.md`
## Statuts
- `supporte`: surface officiellement maintenue et validee comme point d'entree operateur
- `supporte avec dependance externe`: surface maintenue dans le workspace, mais dependante d'un runtime, d'un cache, d'un token ou d'un repo compagnon
- `experimental`: surface presente et suivie, mais pas encore validee comme chemin operateur stable
- `non supporte`: ancien chemin, historique ou simple reference documentaire
## Provenance
- `officiel`: surface publiee par l'organisation ou le projet qui own l'outil, ou referencee via le registry MCP officiel
- `community valide`: projet tiers etabli, retenu comme reference ou benchmark, sans ownership local direct
- `custom local`: launcher, wrapper, serveur ou audit maintenu dans `Kill_LIFE` ou son repo compagnon
## Matrice
| Surface | Point d'entree | Ownership | Protocole observe / declare | Statut | Provenance | Notes |
| --- | --- | --- | --- | --- | --- | --- |
| `kicad` | `tools/hw/run_kicad_mcp.sh` | launcher `Kill_LIFE`, implementation `mascarade/finetune/kicad_mcp_server` | `2025-03-26` observe au smoke | supporte | custom local | runtime KiCad canonique; `tools/hw/cad_stack.sh mcp` est un alias supporte |
| `validate-specs` | `python3 tools/validate_specs.py --mcp` | `Kill_LIFE` | `2025-03-26` observe en test | supporte | custom local | validation repo/specs; ne remplace pas le runtime KiCad |
| `knowledge-base` | `tools/run_knowledge_base_mcp.sh` | launcher `Kill_LIFE`, backend `mascarade/core/mascarade/integrations/knowledge_base.py` | `2025-03-26` observe en test | supporte avec dependance externe | custom local | serveur MCP de compat vers la knowledge base configuree (`memos` ou `docmost`); validation live fermee sur le provider actif `memos` auto-heberge |
| `github-dispatch` | `tools/run_github_dispatch_mcp.sh` | launcher `Kill_LIFE`, backend `mascarade/core/mascarade/integrations/github_dispatch.py` | `2025-03-26` observe en test | supporte avec dependance externe | custom local | serveur local stable; validation live fermee via token GitHub persiste dans `runtime-secrets` |
| `freecad` | `tools/run_freecad_mcp.sh` | runtime `Kill_LIFE`, ops `mascarade` | `2025-03-26` observe au smoke | supporte | custom local | MCP local headless pour infos runtime, creation minimale, export et script controle |
| `openscad` | `tools/run_openscad_mcp.sh` | runtime `Kill_LIFE`, ops `mascarade` | `2025-03-26` observe au smoke | supporte | custom local | MCP local headless stateless pour validation, rendu et export |
| `huggingface` | `https://huggingface.co/mcp` | `Hugging Face` | endpoint `url` versionne dans `mcp.json` | supporte avec dependance externe | officiel | surface MCP distante officielle; hors garde-fou `stdio` local; requiert `HUGGINGFACE_API_KEY` ou login OAuth |
| `component_database` | `python3 -m mcp_servers.component_db` | `mascarade/finetune/kicad_kic_ai` | `2025-03-26` observe au handshake | supporte avec dependance externe | custom local | micro-serveur auxiliaire; depend du cache KiCad v10 et du repo compagnon |
| `kicad_tools` | `python3 -m mcp_servers.kicad_tools` | `mascarade/finetune/kicad_kic_ai` | `2025-03-26` observe au handshake | supporte avec dependance externe | custom local | micro-serveur auxiliaire; analyses reelles si les fichiers KiCad et dependances associees sont disponibles |
| `nexar_api` | `tools/run_nexar_mcp.sh` | launcher `Kill_LIFE`, serveur `mascarade/finetune/kicad_kic_ai/mcp_servers/nexar.py` | `2025-03-26` observe au handshake | supporte avec dependance externe | custom local | micro-serveur auxiliaire; le chemin live est valide avec `Bearer NEXAR_TOKEN`; sur la machine de reference, le token actuel atteint Nexar mais retourne un quota `part limit of 0` |
| `ngspice` | `tools/run_ngspice_mcp.sh` | `Kill_LIFE` | `2025-03-26` observe au smoke | supporte | custom local | simulation SPICE batch via ngspice-42 (`/usr/bin/ngspice`); smoke passe sur circuit RC; circuits de reference: `spice/01-04_*.sp` |
| `platformio` | `tools/run_platformio_mcp.sh` | `Kill_LIFE` | `2025-03-26` observe au smoke | supporte | custom local | PlatformIO 6.1.19 dans `.pio-venv/`; smoke passe avec `get_metadata` sur `firmware/`; envs `esp32s3_waveshare / esp32s3_arduino / native` |
| `apify` | `tools/run_apify_mcp.sh` | `Kill_LIFE` | `2025-03-26` observe au smoke | supporte | custom local | mode `direct-scrape-fallback` sans cle; mode `apify-api` avec `APIFY_API_KEY`; 12 topics ESP32-S3 preconfigures; endpoint `ingest_to_rag` connecte a mascarade core |
## Hors chaine supportee
| Surface | Point d'entree | Ownership | Protocole observe / declare | Statut | Provenance | Notes |
| --- | --- | --- | --- | --- | --- | --- |
| `kicad-sch-mcp` | aucun chemin versionne supporte ici | historique | n/a | non supporte | community valide | ancien serveur MCP tiers documente seulement; pas retenu comme runtime principal de ce workspace |
## Decisions importantes
- `stdio` reste le seul transport supporte par defaut pour les serveurs locaux; `huggingface` est la seule surface distante versionnee dans `mcp.json`
- `knowledge-base` et `github-dispatch` sont supportes comme serveurs MCP locaux, avec validation live fermee sur la machine de reference
- `freecad` et `openscad` sont des serveurs MCP supportes et sondes par le cockpit ops
- la provenance `custom local` n'assouplit jamais le garde-fou `bash tools/tui/cad_mcp_audit.sh audit`
- la provenance des runtimes CAD sous-jacents est detaillee dans `deploy/cad/README.md`
- `K-025` est absorbe dans `docs/KICAD_BENCHMARK_MATRIX.md`: `KiAuto` reste un appoint opt-in, `kicad-automation-scripts` reste doc-only
## Dettes encore ouvertes
- fermer `K-012` sur une machine avec `pcbnew` host-native
- si un sourcing Nexar live complet est requis, prevoir un token/plan Nexar avec quota de parts non nul
- configurer `APIFY_API_KEY` pour activer le mode Apify API sur `apify` (optionnel, scrape direct suffisant)
- integrer `ngspice`, `platformio` et `apify` dans le rapport `python3 tools/mcp_runtime_status.py --json`