OPC UA Commander ๐Ÿš€

July 8, 2026 ยท View on GitHub

Get it from the Snap Store npm version License

A premium, interactive, terminal-based visual OPC UA client explorer. Built on top of the powerful node-opcua stack and curses-based blessed UI.

No bulky heavy GUI dependencies required. It is fast, lightweight, and perfect for remote diagnostics, embedded gateways, or developer console workflows.


OPC UA Commander Demo


๐ŸŒŸ Key Features

๐ŸŒฒ Interactive Address Space Explorer Tree

  • Visual Node Tree: Fluid, keyboard-driven navigation through the entire OPC UA hierarchical Address Space (Objects, Variables, Types, and Views).
  • Dynamic Node Expand/Collapse: Smoothly expand and contract branches dynamically to discover child nodes and complex structures on-the-fly.

๐Ÿ“‹ Full Attribute & Property Inspector

  • Live Details: Displays all standard attributes of the currently selected node (including Node ID, BrowseName, DisplayName, Description, DataType, Value, NodeClass, AccessLevel, UserAccessLevel, Historizing, and more).
  • Attribute Writing: Edit and write new values to Variable attributes directly from the interactive UI.

๐Ÿ”— Dynamic Reference Explorer

  • Bi-directional Browsing: Explore all references linked to the selected node. Toggle views to show only Forward references, Backward references, or All references.

๐ŸŽฏ Powerful GoTo Node ID Back-Search & Locate (New!)

No more manually clicking and expanding deeply nested folders! Simply press / or f to focus the search bar:

  • Standard Resolution: Type a standard Node ID like ns=2;s=MyVariable and press Enter. The client automatically performs a server-wide hierarchical parent lookup, expands the tree levels, scrolls, and selects the target node.
  • Alternative Formats: Supports nsi=2;s=MyVariable (shorthand for namespace index).
  • Dynamic Namespace URI Resolution (nsu=): Search using Namespace URIs like nsu=http://samples.org/UA/MyNamespace;s=MyVariable. The client automatically queries the server's NamespaceArray node at runtime, maps the URI to its integer index, and resolves it!
  • UX Color Indicators:
    • Yellow: Recognized as a valid Node ID pattern while typing.
    • Green / White: Successfully navigated to.
    • Orange: The node exists, but the server does not support inverse browsing (or cannot trace the parent hierarchy back to the root folder).
    • Red: The node does not exist or failed to resolve.
  • Instant Clear: Press Ctrl-U to instantly clear the search box!

๐Ÿงญ Smart Node History & Jump Navigation

  • Tracks your browsing history as you explore.
  • Easily jump backwards (Left Arrow on collapsed root or Backspace) and jump forwards through your visited paths for lightning-fast comparisons.

๐Ÿ“ Engineering Units & EURange Enrichment

  • Automatically reads associated EURange and EngineeringUnits companion properties.
  • Enhances the displayed Value attribute on-the-fly (e.g., displaying 42.5 ยฐC).
  • Adds a distinct EURange attribute line (e.g., [ 0, 100 ]) for clear engineering context.

๐Ÿ—‚๏ธ HasSubtype Mode Filtering

  • When exploring type hierarchies inside the Types folder, toggle Subtype Mode to restrict navigation to subtype structures (HasSubtype references) instead of mixing in standard instances, keeping your types tree clean and organized.

๐Ÿ“ˆ Real-time Variable Monitoring & Subscriptions

  • Hit m on any Variable node to instantly subscribe and start monitoring it in real-time. Live transactions and updates stream directly into your Monitored Items panel.

โšก Remote Server Method Calls

  • Execute server-side methods directly from the curses-based command UI. Allows inputting parameters and seeing returned values.

๐Ÿ” Secure Connections & Security Profiles

  • Full support for anonymous connections as well as Username/Password authentication.
  • Configurable with various Message Security Modes (None, Sign, SignAndEncrypt) and Security Policies (Basic128Rsa15, Basic256, Basic256Sha256, Aes128_Sha256_RsaOaep, etc.).

๐Ÿ–ฅ๏ธ Built-in Logger Console

  • Live transaction, message size, subscription events, renewal logs, and error diagnostic reporting inside a separate, clearable log panel.

๐Ÿ› ๏ธ Installation & Usage

๐Ÿ“ฆ Via npm (Global)

npm install -g opcua-commander
opcua-commander -e opc.tcp://localhost:26543

Note for Ubuntu/Linux users experiencing EACCES permission errors:

sudo npm install -g opcua-commander --unsafe-perm=true --allow-root

๐Ÿ›๏ธ Via Snap Store

sudo snap install opcua-commander
opcua-commander -e opc.tcp://localhost:26543

๐Ÿณ Via Docker

Build the docker image:

docker build . -t opcua-commander

Run the docker image:

docker run -it opcua-commander -e opc.tcp://localhost:26543

๐Ÿ› ๏ธ From Source

git clone https://github.com/node-opcua/opcua-commander.git
cd opcua-commander
npm install
npm run build
node bin/opcua-commander -e opc.tcp://localhost:26543

๐ŸŽน Interactive Keyboard Shortcuts

Address Space Explorer Tree

  • Arrow Up / Down: Navigate through tree items.
  • Arrow Right / +: Expand folder.
  • Arrow Left / -: Collapse folder.
  • f or /: Activate Search/Filter Bar.
  • m: Monitor current node.
  • H: View history/attributes panel.
  • r: Refresh current node children.
  • q or Ctrl-C: Quit.

Search Bar (Active Mode)

  • F3: Next string match (standard search).
  • Shift-F3: Previous string match (standard search).
  • Ctrl-U: Instantly clear the entire search box.
  • Enter: Apply search, or execute GoTo Node ID search if Node ID format is matched.
  • Escape: Cancel search and close the search bar.

๐Ÿค Contributing

Contributions, bug reports, and suggestions are always welcome! Feel free to open issues or pull requests on GitHub.


๐Ÿ’Ž Created & Maintained by Sterfive

opcua-commander and the underlying node-opcua stack are proudly designed, developed, and maintained by Sterfive, the leading expert organization in industrial IoT, OPC UA technology, custom client/server integrations, and professional support.

Need professional support, custom industrial IoT features, or enterprise-grade OPC UA guidance? Visit sterfive.com or reach out for expert consulting services.

License: MIT