Forge reads MTConnect from 21 OEM families and emits the same canonical JSON for every one of them. No per-vendor parser, no per-vendor schema.
One MCP endpoint serves every protocol adapter — there is no per-protocol URL to configure.
Each links to its own mapping reference with vendor-specific tag shapes.
Sampled from the live corpus — one example per vendor, so you can see the same canonical field arriving from different raw tag shapes.
| Raw tag in | Canonical field out | Source | |
|---|---|---|---|
| SpindleActualSpeed: 8000 | → | spindle_speed_rpm: 8000 | DMG Mori |
| Spindle_Speed: 2200 | → | spindle_speed_rpm: 2200 | Fanuc |
| Q600_1: 3400 | → | spindle_speed_rpm: 3400 | Haas |
| S_actual: 9000 | → | spindle_speed_rpm: 9000 | Heidenhain |
| S1speed: 12000 | → | spindle_speed_rpm: 12000 | Mazak |
| SpindleRPM: 4500 | → | spindle_speed_rpm: 4500 | Okuma |
The fields most commonly emitted by these 21 OEMs. The full schema is open source: FoundryNet/canonical-schema (MIT).
alarm_codeaxes.0.load_percentaxes.0.position_actualaxes.0.temperature_ccnc.path.feedrateenergy.cumulative_kwhfeed_rateidentity.controller_modelmachining_statepart_countpower.instantaneous_kwprogram_name
CNC / machine tool industrial robot
Other protocols: BACnet/IP EtherNet/IP HTTP / REST J1939 (CAN) MQTT Sparkplug B Modbus TCP OPC UA PROFINET / S7 ROS 2 (DDS)