e67fb754c2
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>
72 lines
7.5 KiB
Markdown
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
|