Glossary · Conformance

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
The mistake people make: Capability codes are a category tag, not a conformance claim, and they say nothing about which facets were tested. A server can advertise HD and still reject every HistoryRead detail type you need. Use the codes to triage, then read ServerProfileArray and exercise the service.

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.

Free download
OPC UA Server Acceptance Test Pack
A 40-check acceptance test you run against a vendor's server before commissioning sign-off. Weighted scoring, three hard gates, and a one-page verdict for the supplier meeting.
Get the free test pack →
Free, no course, no login