# Servers

Servers allow Cybus Connectware to expose data and functionality to external systems through standardized interfaces. Instead of connecting to external services, these components provide server endpoints that external clients can access.

Using server resources, Connectware can make data from the internal MQTT broker available to external applications. Clients can send data to Connectware or retrieve data that is produced or processed within the platform.

Server configurations define how the interface is exposed and how data is mapped between external protocols and the internal message format. Depending on the server type, this may include defining routes, nodes, or hierarchical structures that represent the available data and operations.

## Supported Servers

* [**OPC UA Server**](https://docs.cybus.io/connectors/servers/opc-ua-server): Exposes data via OPC UA protocol. OPC UA clients can browse and read data points organized in a hierarchical address space.
* [**HTTP Server**](https://docs.cybus.io/connectors/servers/http-server): Provides REST API endpoints for data access over HTTP/HTTPS. Accepts JSON data via POST or PUT requests.

Server configuration is defined in service commissioning files using `Cybus::Server` resources. Data points are defined using corresponding node resources (`Cybus::Node::Opcua` or `Cybus::Node::Http`). Access control is managed through Connectware's user management system.

For other connector types, see [Shop Floor Connectors](https://docs.cybus.io/connectors/shop-floor-connectors) for connecting to industrial equipment, [Enterprise Connectors](https://docs.cybus.io/connectors/enterprise-connectors) for IT system integration, or [Custom Connectors](https://docs.cybus.io/connectors/custom-connectors) for creating custom protocol implementations.

<table data-view="cards"><thead><tr><th align="center"></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><strong>OPC UA Server</strong></td><td><a href="https://2355450750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGzXPesVecsUM1eHBfwea%2Fuploads%2Fgit-blob-c870260b3cb48fafe36f043213cd84033dd6ef39%2Fconnector.png?alt=media">connector.png</a></td><td><a href="servers/opc-ua-server">opc-ua-server</a></td></tr><tr><td align="center"><strong>HTTP Server</strong></td><td><a href="https://2355450750-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGzXPesVecsUM1eHBfwea%2Fuploads%2Fgit-blob-c870260b3cb48fafe36f043213cd84033dd6ef39%2Fconnector.png?alt=media">connector.png</a></td><td><a href="servers/http-server">http-server</a></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cybus.io/connectors/servers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
