Server capability code
A server capability code is a short string from the normative OPC UA capability list, such as DA, HD, AC, HE, DI, S95, PUB, PACKML, MTC, AUTOID or VROBOT, published with a server's discovery registration and filterable in FindServersOnNetwork. Reading the codes tells you which service groups and companion specifications a server claims.
The normative list
Schema/ServerCapabilities.csv in the UA-Nodeset repository is the authoritative list: NA, DA, HD, AC, HE, GDS, LDS, DI, ADI, FDI, FDIC, PLC, S95, RCP, PUB, NTRS, AUTOID, MDIS, CNC, PLK, FDT, TMC, CSPP, 61850, PACKML, MTC, AUTOML, SERCOS, MIMOSA, WITSML, DEXPI, IOLINK, VROBOT, PNO, PADIM, ALIAS, SKS, FXAC, FXCM. NA means no capability is claimed.
How to read them in seconds
The classic four are DA (data access), HD (historical data), AC (alarms and conditions) and HE (historical events). Everything else is essentially a companion-specification flag: PACKML says the server exposes the PackML state model, MTC says MTConnect, DI says the device information model, S95 says ISA-95, AUTOID says barcode or RFID reads, VROBOT says the robotics model, PUB says PubSub. A plant server advertising DA, HD, AC, PACKML is telling you your OEE mapping is mostly a modelling exercise, not a tag hunt.
Where the codes surface
The codes are carried in the discovery registration a server makes with a Local Discovery Server, including the mDNS discovery configuration, which is what lets FindServersOnNetwork return only servers with a given capability. Many servers also surface equivalent information in the Server object, but the capability code list and ServerProfileArray are different things: codes are a coarse category tag, profile URIs are a testable conformance claim.
Example
Capability codes on a packaging line server, and what each implies
capabilities = DA, HD, AC, HE, PACKML, DI
DA data access -> read/write/subscribe values
HD historical data -> HistoryRead on variables
AC alarms and conditions -> Part 9 conditions available
HE historical events -> event history queryable
PACKML PackML companion spec -> PackMLMachineStateMachineType present
DI Device Information model -> identification nameplate nodes present
Absent: PUB (no PubSub), S95 (no MES job control), MTC, VROBOT
Defined in: Part 12 - Discovery and Global Services. The code list ships as Schema/ServerCapabilities.csv with the nodesets.
Last verified 7 September 2026 against OPC UA 1.05.07. OPC UA Connect is an educational resource and is not affiliated with the OPC Foundation.