MCP Server

MCP is an emerging technology and may evolve over time. While we strive to minimize disruptions, changes to the standard may introduce breaking changes that could affect existing integrations.

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.

Tool calls against pipelines without a return stage will be marked as either successful or failed. To return data, you can add a return stage to the pipeline.

When a pipeline completes successfully or is configured to return an HTTP status code in the 200 range, the tool call will be marked as successful. Conversely, if the pipeline encounters an error or is configured to return an HTTP status code outside the 200 range, the tool call will be marked as failed.

Supported Protocols

The MCP server supports Streamable HTTP.

Specification

The MCP server adheres to the 2025-03-26 revision of the MCP specification.

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 Streamable HTTP
  3. Change the URL port to 45345 (default port for our MCP server)
  4. Append /mcp to the URL, after the port
  5. Expand Authentication and copy in the bearer token created (see REST Data Server) for details on creating the token
  6. Click Connect
  7. Click List Tools
  8. You should see all the pipelines with API Triggers enabled and the parameters for each API Trigger

MCP Inspector Example