node-opcua/node-opcua
TypeScriptUnlocking the Full Potential of OPC UA with Typescript and NodeJS - http://node-opcua.github.io/
npm install node-opcuanode-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.
:heart: 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)