MCP Server

The MCP server exposes pipelines with API Triggers over MCP as tools for AI Agents to discover and call. This allows AI Agents to interact with contextualized industrial data, while also giving users the ability to control exactly what the agents can access.

Pipelines can be built to create very generic tools, like browse namespace and read data. Generally generic tools are good for read-only types of operations. For more critical operations and information, pipelines can be designed to provide answers to very specific questions or perform actions like creating a work order or changing a machine state.

Enable the MCP Server

The MCP server is enabled under the REST Data Server options. To enable MCP do the following:

  1. Enable the REST Data Server
  2. Enable the MCP Server

Enable MCP Server

Pipelines as Tools

The MCP Server exposes any pipeline with an enabled API Trigger as an MCP tool. The pipeline name, description, and parameters are all passed to MCP as tool context. Think of the pipeline description field in this mode as part of prompt engineering, where you’re trying to instruct the LLM when and how to best use a tool.

As an example a tool description like “call this to create a work order” isn’t much context. But something more verbose like “call this to create a maintenance work order when you think work needs to be performed on a machine. Make sure you always include the machineID of the machine that needs the work and a verbose message on what work needs to be done and why you think it needs to be done.”

Prompt engineering isn’t a science, but generally the more context the better.

Supported Protocols

Currently the MCP server supports SSE (Server Sent Events) only as it’s the most common. SSE Streamable is still fairly new and will likely replace SSE in a future version.

Tool Refresh

For now, the MCP server refreshes it’s tools list any time a client requests new tools. You can generally force this by one of the following:

  1. Restart the MCP server (toggle off/on). This will force clients to reconnect and re-request tools
  2. Restart the MCP Client (or agent)
  3. Prompt the agent/LLM to refresh

MCP does support a way to notify clients of tool changes, but this currently isn’t supported given that most clients don’t support it either. In general, tool changes only occur during development, and should be rare in production workflows.

Connecting MCP Inspector

MCP Inspector is an open source tool used to connect to an MCP Server and view tools. To test using MCP Inspector do the following:

  1. Follow the instructions here to launch MCP Inspector https://modelcontextprotocol.io/docs/tools/inspector
  2. Change the Transport Type to SSE
  3. Change the URL port to 45345 (default port for our MCP server)
  4. Expand Authentication and copy in the bearer token created (see REST Data Server) for details on creating the token
  5. Click Connect
  6. Click List Tools
  7. You should see all the pipelines with API Triggers enabled and the parameters for each API Trigger

MCP Inspector Example