node-opcua
The most complete OPC UA stack for Node.js and the browser, written in TypeScript.
Why node-opcua?
- Full OPC UA stack — Client, Server, Discovery, and Aggregation in a single toolkit
- Security first — Supports all OPC UA security policies, encrypted communication, and certificate management out of the box
- Cross-platform — Runs on Windows, Linux, macOS, and in the browser
- Modular architecture — Use only the packages you need, from a lightweight client to a full-featured server
- Battle-tested — Trusted in production by industrial companies worldwide
- Well documented — Comprehensive book, API reference, tutorials, and guided examples
Quick Start
Install node-opcua as an npm package
$ mkdir myproject
$ cd myproject
$ npm init
$ npm install node-opcua
Try the sample server & client
$ npm install node-opcua-samples
$ ./node_modules/.bin/simple_server
$ ./node_modules/.bin/simple_client -e "opc.tcp://opcuademo.sterfive.com:26543"
Node.js Requirement
- Node.js 20 or above is required.
Documentation
NodeOPCUA by Example — The best starting point. Dozens of practical, ready-to-use, and fully documented examples.
Tutorials
- Create a Server
- Create a Client in TypeScript
- Role-Based Security & User Management (OPC 10000-18)
- More advanced examples and training material are available for NodeOPCUA Subscription members
API Reference
Professional Support
Need help with your OPC UA project? Sterfive offers professional support and consulting for node-opcua.
| Community (GitHub) | Professional (Sterfive) | |
|---|---|---|
| GitHub Issues | ||
| CVE security advisories | After disclosure | Early access — patch before public disclosure |
| Private support channel | — | |
| Extended documentation | — | |
| Guaranteed response time | — | |
| Consulting & training | — | |
| Certifiable builds | — |
Contact: contact@sterfive.com · sterfive.com
Ecosystem
AI-Powered Modeling with MCP
node-opcua-modeler-mcp-server — An MCP server that gives AI agents access to the OPC UA companion specification type system. Discover types, resolve namespace dependencies, and look up engineering units — all from your AI coding assistant.
npx node-opcua-modeler-mcp-server
OPC UA Modeler
OPC UA Modeler — Create, validate, and generate OPC UA information models using a YAML-first workflow with full companion spec support.
Supported Features
node-opcua implements a comprehensive set of OPC UA services, transport protocols, security policies, and server/client profiles.
View the full supported features matrix
Roadmap
- Improved documentation and more tutorials
- Compliance testing and certification (CTT)
- Support for redundancy
- Session-less transactions
- JTokens and OAuth
Want to influence the roadmap? Contact Sterfive.
Sponsors
node-opcua is funded entirely by its users. If you use node-opcua in your project, please consider supporting its continued development:
Your sponsorship ensures long-term maintenance, new features, bug fixes, and representation of the node-opcua community at the OPC Foundation.
Contributors
This project exists thanks to all the people who contribute.
Contributing
We welcome contributions! Here's how to get started with the source:
$ git clone git://github.com/node-opcua/node-opcua.git
$ cd node-opcua
$ npm install -g pnpm
$ pnpm install
$ pnpm recursive install
$ pnpm build
Running the demo server from source
$ node packages/node-opcua-samples/bin/simple_server
Running the demo client from source
$ node packages/node-opcua-samples/bin/simple_client.js -e "opc.tcp://opcuademo.sterfive.com:26543"
License
node-opcua is MIT licensed.
- You can freely use it in open-source and commercial applications.
- You must include the copyright notice in all copies or substantial portions of the software.
- node-opcua comes without any warranty of any kind.
You are strongly encouraged to join the NodeOPCUA Membership for additional benefits and support.
Copyright
Copyright 2014-2026 Sterfive SAS — 833264583 RCS ORLEANS — France (sterfive.com)