# Cybus::Server

The **Cybus::Server** resource defines an additional server endpoint that makes data available to external clients. External applications or devices can connect to this server to either consume data from Connectware or provide data into it.

By default, Connectware already includes an internal MQTT broker ([CybusMQ](https://docs.cybus.io/2-0-6/documentation/cybusmq)), which exposes all data via the internal MQTT API. The Cybus::Server resource allows you to extend this by offering other standardized access methods, such as OPC UA or RESTful APIs.

The data exposed by a server is structured through [Cybus::Node](https://docs.cybus.io/2-0-6/documentation/services/service-commissioning-files/resources/cybus-node) resources, which define available data points in a hierarchical tree. This ensures a clear and consistent data model regardless of the chosen protocol.

In addition to the internal MQTT broker, the [OPC UA Server](https://docs.cybus.io/2-0-6/documentation/industry-protocol-details/opc-ua/opc-ua-server) is available.

## Server Properties

| Property                    | Type   | Required |
| --------------------------- | ------ | -------- |
| [targetState](#targetstate) | `enum` | Optional |

### targetState

Specifies the operational state of the server after Connectware startup.

* **Optional**
* Type: `enum`
* Allowed values:
  * `enabled` - The server will be started automatically (default).
  * `disabled` - The server will remain stopped until explicitly enabled.
* Default: `enabled`

## Custom Server Properties

Each server type may define additional properties specific to its protocol. For example:

* [Cybus::Server::Opcua](https://docs.cybus.io/2-0-6/industry-protocol-details/opc-ua/opc-ua-server#custom-server-properties)
