Files
Kill_LIFE/docs/MCP_ECOSYSTEM_MATRIX.md
T
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

72 lines
7.5 KiB
Markdown

# MCP ecosystem matrix
Last updated: 2026-03-25
Matrice transverse des surfaces MCP et non-MCP observees dans `Kill_LIFE`, `mascarade` et `crazy_life`.
## Statuts
- `supporte`: surface active ou officiellement maintenue dans le workspace
- `supporte avec dependance externe`: surface maintenue mais dependante d'un autre repo, d'un cache ou d'un runtime compagnon
- `experimental`: surface presente mais pas encore validee comme chemin stable
- `infra-only`: composant d'infra ou de migration, pas un point d'entree operateur
- `non supporte`: historique, doc-only ou chemin non retenu
## Provenance
- `officiel`: surface publiee par le projet ou l'organisation qui own l'outil, ou referencee par une source officielle
- `community valide`: projet tiers etabli, retenu comme reference ou benchmark
- `custom local`: launcher, wrapper, service, probe ou integration maintenu dans `Kill_LIFE` ou un repo compagnon du workspace
## 1. Serveurs MCP reels
| Surface | Repo principal | Type | Point d'entree | Statut | Provenance | Notes |
| --- | --- | --- | --- | --- | --- | --- |
| `kicad` | `Kill_LIFE` + `mascarade` | serveur MCP | `tools/hw/run_kicad_mcp.sh` | supporte | custom local | runtime KiCad canonique; implementation dans `mascarade/finetune/kicad_mcp_server` |
| `validate-specs` | `Kill_LIFE` | serveur MCP | `python3 tools/validate_specs.py --mcp` | supporte | custom local | validation repo/specs; pas un runtime CAD |
| `knowledge-base` | `Kill_LIFE` + `mascarade` | serveur MCP | `tools/run_knowledge_base_mcp.sh` | supporte avec dependance externe | custom local | serveur MCP de compat sur la knowledge base configuree (`memos` ou `docmost`) |
| `github-dispatch` | `Kill_LIFE` + `mascarade` | serveur MCP | `tools/run_github_dispatch_mcp.sh` | supporte avec dependance externe | custom local | serveur stable, validation live fermee via token GitHub persiste dans `runtime-secrets` |
| `freecad` | `Kill_LIFE` + `mascarade` | serveur MCP | `tools/run_freecad_mcp.sh` | supporte | custom local | serveur MCP headless local base sur `FreeCADCmd` |
| `openscad` | `Kill_LIFE` + `mascarade` | serveur MCP | `tools/run_openscad_mcp.sh` | supporte | custom local | serveur MCP headless local stateless base sur `openscad` |
| `huggingface` | `Kill_LIFE` | serveur MCP distant | `https://huggingface.co/mcp` | supporte avec dependance externe | officiel | endpoint MCP distant officiel, versionne dans `mcp.json` |
| `component_database` | `mascarade` | micro-serveur MCP | `python3 -m mcp_servers.component_db` | supporte avec dependance externe | custom local | serveur auxiliaire; depend du cache KiCad v10 et du repo compagnon |
| `kicad_tools` | `mascarade` | micro-serveur MCP | `python3 -m mcp_servers.kicad_tools` | supporte avec dependance externe | custom local | serveur auxiliaire; depend des fichiers KiCad reels et du repo compagnon |
| `nexar_api` | `Kill_LIFE` + `mascarade` | micro-serveur MCP | `tools/run_nexar_mcp.sh` | supporte avec dependance externe | custom local | chemin live valide, mais encore borne par un quota externe |
| `ngspice` | `Kill_LIFE` | serveur MCP | `tools/run_ngspice_mcp.sh` | supporte | custom local | simulation SPICE batch via ngspice-42 host; 4 tools: `run_simulation`, `validate_netlist`, `parse_operating_point`, `get_runtime_info`; circuits de reference dans `spice/` |
| `platformio` | `Kill_LIFE` | serveur MCP | `tools/run_platformio_mcp.sh` | supporte | custom local | build/test firmware ESP32-S3; PlatformIO 6.1.19 dans `.pio-venv/`; 6 tools: `build`, `run_tests`, `check_code`, `get_metadata`, `install_platformio`, `get_runtime_info` |
| `apify` | `Kill_LIFE` | serveur MCP | `tools/run_apify_mcp.sh` | supporte | custom local | fetch documentaire Espressif/KiCad/PlatformIO; mode dual: Apify API si `APIFY_API_KEY`, scrape direct sinon; 5 tools: `fetch_espressif_docs`, `fetch_platformio_registry`, `fetch_kicad_library_info`, `ingest_to_rag`, `get_runtime_info` |
## 2. Consommateurs et configs MCP
| Surface | Repo principal | Type | Point d'entree | Statut | Provenance | Notes |
| --- | --- | --- | --- | --- | --- | --- |
| `mcp.json` | `Kill_LIFE` | config consommateur MCP | `mcp.json` | supporte | custom local | reference `kicad`, `validate-specs`, `knowledge-base`, `github-dispatch`, `freecad`, `openscad`, `ngspice`, `platformio`, `apify` et `huggingface` (10 serveurs) |
| `MCP setup` | `Kill_LIFE` | doc operateur MCP | `docs/MCP_SETUP.md` | supporte | custom local | source de verite d'usage local et de provenance operatoire |
| `ops MCP probe` | `mascarade` | observabilite synthetique | `/api/ops/summary` via `api/src/routes/ops.ts` | supporte avec dependance externe | custom local | expose l'etat agrege des surfaces MCP locales et distantes suivies par le cockpit |
| `crazy_life MCP positionnement` | `crazy_life` | doc de non-ownership / cockpit | `docs/MCP_PLAN_2026-03-07.md` | supporte | custom local | `crazy_life` consomme l'etat MCP et les probes, sans porter de serveur |
## 3. Integrations tierces non-MCP
| Surface | Repo principal | Type | Point d'entree | Dependance | Statut | Provenance | Notes |
| --- | --- | --- | --- | --- | --- | --- | --- |
| `Knowledge base bridge` | `mascarade` | API HTTP interne | `/api/knowledge-base/*` via `api/src/routes/knowledgeBase.ts` | provider actif + credentials associes | supporte | custom local | bridge HTTP de compat vers la knowledge base configuree |
| `Knowledge base core` | `mascarade` | integration provider-aware | `core/mascarade/integrations/knowledge_base.py` | provider actif + credentials associes | supporte | custom local | source de verite backend pour `memos` et `docmost` |
| `GitHub dispatch` | `mascarade` | API GitHub directe | `api/src/lib/killlife.ts` | `KILL_LIFE_GITHUB_TOKEN` ou `GITHUB_TOKEN` | supporte | custom local | lance `workflow_dispatch`, conserve en parallele du MCP `github-dispatch` |
| `FreeCAD agent` | `mascarade` | agent metier | `core/mascarade/agents/freecad_agent.py` | backend LLM | supporte | custom local | reste un agent de guidance; l'execution outillee passe par le MCP `freecad` pour la suite cible |
| `Workflow editors` | `mascarade` + `crazy_life` | UI orchestration | `web/src/pages/KillLifeWorkflowEditor.tsx`, `src/pages/KillLifeWorkflowEditor.tsx`, `src/pages/CrazyLaneEditor.tsx` | backend API | supporte | custom local | exposent `github-dispatch` comme type de noeud, pas comme serveur MCP |
## 4. Surfaces infra-only ou migration
| Surface | Repo principal | Type | Point d'entree | Statut | Provenance | Notes |
| --- | --- | --- | --- | --- | --- | --- |
| `openmemory-mcp / mem0` | `mascarade` | conteneur MCP tiers | `deploy/migration/compose.tools.ai.yml` | infra-only | community valide | profil `heavy`, non documente comme point d'entree canonique |
| `kicad-sch-mcp` | docs historiques | ancien serveur MCP externe | documentation seulement | non supporte | community valide | pas package ni retenu dans le workspace actuel |
## 5. Conclusion
- `Kill_LIFE` porte des MCP locaux supportes pour `kicad`, `validate-specs`, `knowledge-base`, `github-dispatch`, `freecad`, `openscad`, `ngspice`, `platformio` et `apify`, tous classes `custom local` — 10 serveurs total dans `mcp.json`
- `huggingface` reste la surface MCP distante officielle versionnee dans `mcp.json`
- `mascarade` porte l'agregation ops, les agents specialises (18 agents dont `firmware-engineer`, `spice-expert`, `kicad-designer`, `openseeker`) et la pipeline RAG (Qdrant + nomic-embed-text + qwen3:4b reranking + devstral)
- `crazy_life` consomme et supervise, mais n'own pas de serveur MCP
- les references `community valide` restent des apports de benchmark ou d'infra, pas des runtimes canoniques par defaut