Skip to content

Integrating to Profinity

Connected equipment feeds into Profinity, which hosts web apps and scripts on top of Tags, Collections, Rules, and Alerts, all protected by Security. Profinity exposes that platform through Representational State Transfer (REST) APIs to business systems and applications. It exposes the platform to AI agents through the Model Context Protocol (MCP).

Connected equipment feeds into Profinity, which exposes its platform through APIs to business systems and through MCP to AI agents

Profinity as the Hub of a Solution

APIs

Profinity provides REST interfaces to integrate with and extend its functionality. The APIs are secured with Bearer tokens and use JSON, so custom applications can be built on them, or existing applications extended with them. They expose both real-time and historical data. They connect Profinity to other systems, to custom dashboards and to new applications built on Profinity's data.

Swagger is the interactive API page on your Profinity instance, which documents the available APIs and how to call them. The OpenAPI document that tools can import is at /swagger/v2/swagger.json. The Endpoint Reference lists the routes that complement the screens described elsewhere in the documentation. To make a first authenticated call, follow Make your first API call.

MCP server

Profinity includes an MCP server, which lets AI Chat and external tools query system data and metadata. Claude Code, Cursor, and Codex use ten read-only tools for tag discovery, tag values and history, and alert state, over Streamable HTTP at /api/v2/Ai/Mcp. ChatGPT uses a Custom GPT and the REST API instead, because it cannot reach a private MCP server. Refer to MCP Server for the tool guides, and to the MCP tool reference for the tools.

Other ways to move data

APIs and MCP are for systems that call Profinity. Data can also be pushed out of or into a Profinity instance without a custom client. The MQTT Publisher and Webhook Publisher components send tag values to other systems. The MQTT Subscriber component brings values in. Tag relay shares live tags between Profinity instances, and the receiving instance needs the Receive external tags permission.

Scripting vs APIs

Profinity offers two ways to extend its capabilities to meet the requirements of an application: Scripting and APIs. The table compares them.

Scripting APIs
Scripts support C#, Python and Lua Any programming language that can call REST APIs and JSON can be used
Scripts are built in to Profinity and need no external frameworks or hosting APIs are called from outside Profinity, in a custom environment, app, or cloud
Scripts can be developed quickly to solve simple problems Applications can be as rich and complex as required and still use Profinity
Scripts can run without a user interface, on a schedule or triggered by CAN The application supplies its own logic for how it uses the API
Scripts run inside Profinity Scripted API clients run outside Profinity and can be distributed

For compiled integrations and packaged components, refer to Developing with Profinity.