Add MPS UI Toolkit Controls to a WebUI¶
The UI Toolkit allows developers to add manageability features to a console with prebuilt React components. The code snippets simplify the task of adding complex manageability UI controls, such as Keyboard, Video, Mouse (KVM), Serial Over LAN (SOL), and IDE Redirection (IDER). An example web application is provided for testing.
The tutorial outlines how to run and test the UI Toolkit controls using the included example application.
Note - Other Framework Technologies
This guide shows a basic example implementation using React. Other frameworks can be used using the UI-Toolkit like Angular and Vue.js.
For an example implementation of Angular, see our Sample Web UI codebase.
What You'll Need¶
Hardware¶
Configure a network that includes:
- A development system running Windows® 10 or Ubuntu* 22.04 or newer
- An Activated and Configured Intel® vPro device as the managed device
Software¶
- MPS, the Management Presence Server
- RPS, the Remote Provisioning Server
-
Intel® vPro device, configured and connected to MPS
Note
For instructions to setup the MPS and RPS servers to connect a managed device, see the Get Started Guide
-
The development system requires the following software:
- git
- Visual Studio Code or any other IDE
- Node.js
What You'll Do¶
- Clone and run the example application
- Authenticate with an MPS server
- Test KVM, SOL, and IDER controls
Test the React Library with the Example App¶
An example application is included within the library for quick testing and development. Use it to verify your setup and explore the available controls before integrating them into your own application.
Note
The steps below walk through setting up the example app, authenticating with MPS, and testing each control (KVM, SOL, IDER). Complete each step in order before proceeding to the next.
Clone and Run the Example App¶
-
Clone the repository:
git clone https://github.com/device-management-toolkit/ui-toolkit-react.git cd ui-toolkit-react -
Navigate to the example directory and install dependencies:
cd example npm install -
Start the development server:
npm run devBy default, Vite runs on port
5173. If port5173is already in use, Vite will automatically use the next available port.Success
Figure 2: Vite dev server running successfully Note - Live Reloading
When you make changes to the example app, you do not need to stop and restart. Vite will update and refresh automatically as you make code changes.
Authenticate with MPS¶
-
Open a Chromium-based browser and navigate to the local dev server URL (default:
http://localhost:5173). -
Enter the following details in the configuration panel:
Field Value MPS Server Your MPS server URL (e.g. http://localhost:8181orhttps://your-server)Device GUID GUID of the Intel® AMT device connected to MPS Username MPS username Password MPS password -
Click Authenticate to connect. The example app handles the authentication flow automatically — it obtains an access token from the MPS
/authorizeAPI and then fetches a redirection token for the device.
Test the Controls¶
Once authenticated, use the tabs to test each control:
KVM (Keyboard, Video, Mouse)¶
View and control the remote device's screen using keyboard and mouse.
- Select the KVM tab.
- Choose an encoding from the dropdown — RLE8 or RLE16.
- Click Connect. The button changes to Connecting... while the WebSocket session is established.
- Once connected, the remote desktop appears on the canvas. Keyboard and mouse input is forwarded directly to the device.
- To end the session, click Disconnect.
SOL (Serial Over LAN)¶
Interact with the device via a serial terminal.
- Select the SOL tab.
- Click Connect. The button changes to Connecting... while the WebSocket session is established.
-
Once connected, reset the device to BIOS with SOL enabled by sending a Power Action via the MPS API:
POST /api/v1/amt/power/bootOptions/{guid}{ "method": "PowerAction", "action": 101, "useSOL": true, "bootDetails": {} } -
The terminal window displays the serial console output. All keyboard input is sent directly to the remote device.
- To end the session, click Disconnect.
IDER (IDE Redirection)¶
Attach and mount a disk image (ISO/IMG) to the remote device. The selected image is streamed over the network and virtually mounted as a CD/DVD drive on the remote device.
- Select the IDER tab.
- Click Browse ISO/IMG to open the file picker and select an
.isoor.imgdisk image from your local machine. - The selected file name appears next to the button and the Start button becomes enabled.
- Click Start to begin the redirection session. The image is streamed and mounted as a virtual CD/DVD drive on the remote device.
- To end the session, click Stop. The virtual drive is unmounted and the connection is closed.
Once mounted, the image appears as a drive on the remote device (e.g. CD Drive (D:)). The device can then boot from this image for tasks such as OS recovery or re-installation.
Troubleshooting¶
Page will not load¶
- Ensure using a Chromium-based browser (Chrome, Microsoft Edge)
- Compilation errors: verify that dependencies were installed correctly by running
npm installin theexampledirectory.
Connect KVM Button does not Work¶
- Is MPS running?
- Is the AMT device connected to MPS?
- Was the self-signed certificate accepted? Navigate to the Sample Web UI in a new tab in the same browser and accept the self-signed certificate. Then, return to the React tab and refresh.
Next Steps¶
- Getting Started — Add UI Toolkit controls to your own React application
- Migration from v4 to v5 — Breaking changes and upgrade guide