Meshcue Forge — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Meshcue Forge (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
The hardware compiler — describe it, build it, print it.
MeshCue Forge is an open-source MCP server that turns natural language hardware descriptions into complete, buildable projects: circuits, firmware, 3D-printable enclosures, PCB files, and documentation — all from a single spec.
"ESP32-S3 board with OLED, 3 LEDs, 2 buttons, and a buzzer"
|
v meshforge-describe
|
MHDL Spec (single source of truth)
|
v meshforge-build
|
+-- diagram.json (Wokwi circuit — simulate in browser)
+-- main.ino (Arduino firmware — ready to compile)
+-- platformio.ini (Build config)
+-- enclosure.scad (OpenSCAD — 3D printable case)
+-- bom.csv (Bill of materials)
+-- PINOUT.md (GPIO reference)
+-- ASSEMBLY.md (Step-by-step build guide)
+-- PRINT_GUIDE.md (3D print settings)npm install @meshcue/forgeAdd to your Claude Code MCP settings:
{
"mcpServers": {
"meshcue-forge": {
"command": "node",
"args": ["node_modules/@meshcue/forge/dist/index.js"]
}
}
}Just describe what you want to build:
"Use meshcue forge to design an ESP32-S3 board with an OLED display, 3 status LEDs, 2 buttons, and a buzzer for a mesh networking node"
MeshCue Forge generates everything you need to simulate, build, and 3D print the device.
| Tool | Description |
|---|---|
meshforge-describe | Natural language to MHDL spec |
meshforge-build | MHDL to all build artifacts |
meshforge-validate | Design Rule Checks (DRC) |
meshforge-iterate | Patch spec + rebuild |
MHDL is the single source of truth for a hardware project. One YAML/JSON file describes the entire device:
meta:
name: MeshCue Node
version: 1.0.0
board:
mcu:
family: esp32-s3
components:
- id: oled
type: oled
- id: led_green
type: led
connections:
- from: mcu.oled_sda
to: oled.sda
firmware:
framework: arduino
entrypoint: main.ino
enclosure:
type: snap-fit
cutouts:
- type: oled-window
wall: front
- type: usb-c
wall: backMHDL is git-friendly (text-based diffs), team-friendly (one file everyone works from), and AI-friendly (structured enough for generation, readable enough for humans).
Every build runs automatic Design Rule Checks:
MeshCue Forge uses a pluggable backend architecture:
| Stage | Default Backend | Alternatives |
|---|---|---|
| Circuit | Wokwi JSON | Fritzing, SPICE |
| Firmware | Arduino | MicroPython, ESP-IDF |
| Enclosure | OpenSCAD | CadQuery, FreeCAD |
| PCB | KiCad | EasyEDA |
ESP32, ESP32-S3, ESP32-C3, Arduino Uno/Nano/Mega, RP2040, STM32, ATtiny85
LEDs, buttons, OLED/LCD displays, buzzers, sensors (DHT22), motors, relays, transistors, resistors, capacitors
Snap-fit, screw-close, slide-on, friction-fit, open-frame
The MeshCue Node — a dedicated mesh networking hardware device — was designed and built entirely using MeshCue Forge. See the examples/meshcue-node directory for the complete project.
npx tsx examples/meshcue-node/build.tsgit clone https://github.com/tinkclaw/meshcue-forge.git
cd meshcue-forge
npm install
npm run build
npm run dev # watch modeRun tests:
npx tsx test.tsMeshCue Forge is MIT licensed and welcomes contributions:
MeshCue Forge follows a linear pipeline with validation at every stage:
Natural Language Input
|
v meshforge-describe (keyword NL parser)
|
MHDL Spec (YAML/JSON — single source of truth)
|
v meshforge-validate (Design Rule Checks)
|
v meshforge-build (parallel backend execution)
|
+-- Circuit Stage -> diagram.json (Wokwi)
+-- Firmware Stage -> main.ino + platformio.ini (Arduino)
+-- Enclosure Stage -> enclosure.scad (OpenSCAD / CadQuery / Zoo / LLaMA-Mesh)
+-- PCB Stage -> pcb.py (SKiDL) or .kicad_pcb (KiCad)
+-- BOM Stage -> bom.csv
+-- Docs Stage -> PINOUT.md, ASSEMBLY.md, PRINT_GUIDE.md
+-- Viz Stage -> 3D model / video (Hunyuan3D / Cosmos / LLaMA-Mesh)The meshforge-iterate tool allows patching an existing spec and re-running the pipeline without starting from scratch.
Each pipeline stage has a default backend and optional alternatives. Backends are selected via environment variables or per-spec overrides.
| Stage | Env Variable | Default | Alternatives | Requirements |
|---|---|---|---|---|
| Enclosure | FORGE_ENCLOSURE_BACKEND | openscad | cadquery, zoo-cad, llama-mesh | OpenSCAD: none (generates .scad). CadQuery: Python 3 + cadquery pip package. Zoo: ZOO_CAD_API_KEY. LLaMA-Mesh: LLAMA_MESH_ENDPOINT. |
| PCB | FORGE_PCB_BACKEND | skidl | kicad | SKiDL: generates Python script (execution needs Python + skidl). KiCad: KICAD_PATH pointing to kicad-cli. |
| Visualization | FORGE_VIZ_BACKEND | hunyuan3d | cosmos, llama-mesh | All generate placeholders in offline mode. Online mode requires the respective *_ENDPOINT env var. |
| Circuit | (not configurable) | Wokwi JSON | -- | None |
| Firmware | (not configurable) | Arduino | -- | None (generates source; compilation requires Arduino CLI or PlatformIO) |
See .env.example for all environment variables.
"Python not found" or CadQuery backend fails
PYTHON_PATH to your Python 3 interpreter (e.g., PYTHON_PATH=/usr/local/bin/python3).cadquery is installed: pip3 install cadquery."KiCad not installed" or PCB generation fails with kicad backend
KICAD_PATH to the CLI binary (e.g., KICAD_PATH=/usr/bin/kicad-cli on Linux, KICAD_PATH=/Applications/KiCad/KiCad.app/Contents/MacOS/kicad-cli on macOS).Zoo Text-to-CAD returns errors
curl -H "Authorization: Bearer $ZOO_CAD_API_KEY" https://api.zoo.dev/user.ZOO_CAD_ENDPOINT is set correctly (default: https://api.zoo.dev).Enclosure cutouts don't match components
componentRef in each cutout matches a component id in the board section.meshforge-validate to catch mismatches before building.Build succeeds but firmware won't compile
"I2C address collision" validation error
properties.i2cAddress field, or use different I2C bus pins.OpenSCAD rendering is slow
OPENSCAD_PATH).MeshCue Forge is MIT licensed and welcomes contributions.
src/backends/ directory (e.g., src/backends/enclosure/freecad.ts).openscad.ts or cadquery.ts as reference).src/schema/mhdl.ts.src/config.ts to detect the new backend's capabilities.npm run build # Compile TypeScript
npm test # Run all tests
npx tsx test.ts # Run integration tests
npm run typecheck # Type-check without emitting
npm run lint # ESLint
npm run format:check # Prettier checkmain.npm run typecheck && npm run lint && npm test before submitting.MeshCue Connect is the patient communication layer — it closes the loop between medical devices, clinics, patients, and families.
MeshCue Connect operates as a clinic-owned multi-tenant platform:
| Free | Basic | Professional | Enterprise | |
|---|---|---|---|---|
| Patients | 50 | 500 | 2,000 | Unlimited |
| Devices | 5 | 50 | 200 | Unlimited |
| Messages/month | 500 | 5,000 | 20,000 | Unlimited |
| SMS | Yes | Yes | Yes | Yes |
| USSD | — | Yes | Yes | Yes |
| — | — | Yes | Yes | |
| Voice/IVR | — | — | Yes | Yes |
| Custom integration | — | — | — | Yes |
| Price | Free | $29/mo | $99/mo | $299/mo |
Free tier is forever free for community health clinics in developing countries. Apply for a grant-funded upgrade.
| Channel | Provider | Notes |
|---|---|---|
| SMS | Africa's Talking | Works on any phone, any network. No internet needed. |
| USSD | Africa's Talking | Zero data cost. Patients dial *123# to report symptoms, request appointments, check results. |
| WhatsApp Business API | Rich messages with images, documents, and interactive buttons. | |
| Voice/IVR | Africa's Talking or Twilio | Automated voice calls for critical alerts. Supports text-to-speech in 9 languages. |
9 languages supported: English, French, Swahili, Kinyarwanda, Lingala, Kirundi, Portuguese, Arabic, Spanish. Language is set per-patient and auto-detected from incoming messages.
| Tool | Description |
|---|---|
meshcue-clinic-register | Register a new clinic with name, location, and language |
meshcue-clinic-setup-sms | Configure a clinic's SMS provider (Africa's Talking or Twilio) |
meshcue-clinic-setup-whatsapp | Configure a clinic's WhatsApp Business API credentials |
meshcue-clinic-setup-voice | Configure a clinic's Voice/IVR provider |
meshcue-clinic-test-channel | Send a test message through a clinic's configured channel |
meshcue-clinic-dashboard | View clinic stats: patients, devices, messages, channel health |
meshcue-connect-alert | Send a critical alert to patient + family + nurse based on device reading |
meshcue-connect-send | Send a message to a specific phone number via any channel |
meshcue-connect-register | Register a patient under a clinic with phone, language, emergency contacts, and consent |
meshcue-connect-inbox | Retrieve incoming messages for a clinic (symptoms, replies, opt-outs) |
Platform-level environment variables are documented in .env.example. Individual clinics configure their own API keys via MCP tools — no environment variables needed per clinic.
MESHCUE_DEFAULT_CHANNEL — Platform default delivery channel (sms, whatsapp, voice)MESHCUE_DEFAULT_LANGUAGE — Platform default language code (en, fr, sw, rw, ln, rn, pt, ar, es)MESHCUE_MAX_RETRIES — Number of delivery retries before escalationMESHCUE_ESCALATION_PHONE — Platform-level fallback phone number for critical alerts when all clinic contacts failmeshforge-describe tool uses keyword matching, not a full NLU model. Complex or ambiguous descriptions may produce incomplete specs. Iterate with meshforge-iterate to refine..ino, .scad, .py), not compiled binaries or rendered STLs. You need the respective toolchains installed locally to compile/render.custom type with manual pin configuration.MIT
Built by TinkClaw | forge.meshcue.com | Powering the MeshCue decentralized mesh network.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.