Connecting AI Agents to Industrial Automation with i3X and Model Context Protocol (MCP)

Giving Claude, Gemini, and Cursor native eyes and ears on the factory floor

Industrial operations teams have spent decades structuring plant topologies, sensor models, and companion specifications in OPC UA. Today, frontier AI models—from Anthropic's Claude and OpenAI to Google Gemini—are proving remarkably capable of diagnosing process anomalies, drafting maintenance playbooks, and answering complex engineering questions.

Yet, until now, connecting an LLM to factory floor data has been notoriously frustrating.

If you give an AI agent raw OPC UA TCP or a naive 1:1 REST API, the interaction falls apart almost immediately:

  1. The Token Window Tax: An industrial address space contains thousands of nodes. A naive agent browsing nodes sequentially consumes 20,000+ tokens and 15 round-trips just to inspect a single pump.
  2. Context Window Exhaustion: Raw node dumps overwhelm the model with low-level protocol metadata (NodeClass, AccessLevel, BrowseNames) rather than actionable engineering telemetry.
  3. Identifier Hallucination: When an agent mistypes an identifier (e.g., Pump_101 instead of FeedPump_101), raw APIs return a cold 404 Not Found, leaving the model stuck in a blind retry loop.

To bridge this divide, Sterfive is releasing @node-i3x/mcp—an open-source Model Context Protocol (MCP) server built for industrial automation and the CESMII i3X standard.


Why Model Context Protocol (MCP)?

The Model Context Protocol (MCP), pioneered by Anthropic and supported by an expanding ecosystem of tools (including Claude Desktop, Cursor IDE, and custom agent runtimes), defines a standard protocol for AI agents to discover tools, execute actions, and read contextual resources.

Instead of hand-rolling custom agent wrappers or brittle Python scripts, @node-i3x/mcp provides a standard stdio or SSE server that any compliant agent can discover automatically.


The Design: "Single-Turn Intelligence" vs. Verbose Chatty Tools

When designing @node-i3x/mcp, we deliberately chose not to expose raw, 1-to-1 REST endpoint equivalents. An agent does not need get_node_attribute, browse_next, or get_raw_datatype. Every round-trip adds latency and increases token burn.

Instead, @node-i3x/mcp introduces composite high-value tools designed for single-turn diagnostics:

High-Value ToolWhat it Does in 1 TurnToken Efficiency Gain
i3x_inspect_assetConsolidates asset metadata, ObjectType JSON schema, ISA-95 sub-components, and live VQT telemetry values. Includes fuzzy suggestion self-correction if an asset ID is missing.85% fewer tokens than sequential browse/read calls.
i3x_explore_plant_hierarchyRecursively traverses plant topology from root assets down to child components up to a configurable depth (maxDepth) with cycle protection.Gives the agent the complete plant map in a single prompt.
i3x_query_telemetryQueries live or historical time-series data and automatically pre-computes statistical summaries (min, max, mean, badQualityCount).Eliminates manual math errors and token-heavy raw array processing.
i3x_discover_types_and_schemasReturns registered ObjectTypes, required properties, and RelationshipTypes.Informs the agent of mandatory machine parameters upfront.
i3x_monitor_asset_eventsRegisters an active subscription stream with threshold alert filtering.Enables asynchronous alert tracking without continuous polling.

Quickstart: Adding Factory Intelligence to Claude Desktop

Connecting Claude Desktop to your local or remote plant gateway takes 60 seconds.

1. Configure Claude Desktop

Open your claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add the @node-i3x/mcp server entry:

{
  "mcpServers": {
    "node-i3x": {
      "command": "npx",
      "args": ["-y", "@node-i3x/mcp"],
      "env": {
        "I3X_SERVER_URL": "http://127.0.0.1:8000"
      }
    }
  }
}

2. Start Chatting with Your Machines

Restart Claude Desktop. You will notice the hammer icon in the bottom right corner showing the active i3X tools.

Now you can prompt Claude directly:

"Explore the factory hierarchy and list all production lines."

"Inspect Boiler_101. Is its current temperature within normal range according to its ObjectType schema?"

"Query telemetry for FeedPump_101 over the last 2 hours. Did we experience any bad quality samples or pressure spikes?"

Because i3x_inspect_asset bundles the schema definition alongside the live value, Claude immediately knows the engineering units (°C, bar), the expected bounds, and whether the sensor reading has a Good or Bad status flag—all without making a secondary call.


Self-Correcting Address Space Traversal

One of the most persistent failure modes with LLMs in industrial systems is hallucinating node identifiers.

If an operator asks:

"What is the status of the main boiler?"

An agent might guess the element ID as Boiler_A or Boiler_01. In traditional APIs, the server responds with a generic 404 Not Found. The model then tries another blind guess, wasting prompt turns.

@node-i3x/mcp includes intelligent fuzzy resolution. When an unknown identifier is provided, the tool searches the namespace and returns actionable candidate suggestions:

{
  "error": "Asset 'Boiler_A' not found.",
  "suggestions": [
    "Boiler_101",
    "Boiler_Auxiliary_2"
  ],
  "tip": "Use 'i3x_explore_plant_hierarchy' to inspect the full topology."
}

Claude reads this response and seamlessly self-corrects: "Boiler_A was not found, but I found Boiler_101 in the plant registry. Here is the operational diagnosis for Boiler_101..."


Universal Compatibility: From Local Gateways to the Cloud

@node-i3x/mcp is designed to be completely gateway-agnostic:

  1. Any CESMII i3X REST Server: Connects over HTTP to any compliant i3X 1.0 endpoint—whether running node-i3x, C# gateways, Python implementations, or cloud endpoints.
  2. In-Process Embedded Execution: For Node.js application developers building edge runtimes, the MCP server can bind directly to node-i3x's domain stack (ModelService, ValueService, HistoryService) with zero HTTP network overhead.
  3. Instant Cloud Testing via i3x-portal.sterfive.io: If you do not have an i3X gateway running locally, spin up a free private sandbox session at i3x-portal.sterfive.io, point it at an OPC UA server, and supply the portal's session URL and bearer token to @node-i3x/mcp.

Getting Started & Open Source

@node-i3x/mcp is open source and available immediately on npm:

# Test the CLI tool directly
npx -y @node-i3x/mcp

For industrial manufacturers and automation vendors seeking custom enterprise connectors, secure multi-site rollouts, or high-performance Node-OPCUA commercial solutions, contact the Sterfive engineering team.