Enables programmatic interaction with Siemens WinCC Unified SCADA systems, allowing users to browse SCADA objects, read and write tag values, query historical tag data, and manage active or logged alarms.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@WinCC Unified MCP XTget the current value for the Temperature_Sensor_01 tag"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
WinCC Unified MCP XT
A Model Context Protocol (MCP) server designed to interface with SIEMENS WinCC Unified SCADA systems via their GraphQL API. This server exposes various WinCC Unified functionalities as MCP tools, enabling AI assistants and other MCP-compatible clients to interact programmatically with the SCADA system.
This project is based on the repository by Andreas Vogler
🔧 Features
Connects to a WinCC Unified GraphQL endpoint.
Provides MCP tools for:
✅ User authentication (
login-user)📂 Browsing SCADA objects (
browse-objects)📊 Reading current tag values (
get-tag-values)🕒 Querying historical/logged tag data (
get-logged-tag-values)🚨 Fetching active alarms (
get-active-alarms)📁 Fetching logged alarms (
get-logged-alarms)✍️ Writing values to tags (
write-tag-values)🟢 Acknowledging alarms (
acknowledge-alarms)🔄 Resetting alarms (
reset-alarms)
Optional automatic service account login with token refresh mechanism.
⚙️ Prerequisites
Node.js (v18.x or newer recommended)
npm (comes with Node.js)
Access to a running WinCC Unified GraphQL server endpoint
⚙️ Configuration
this server uses a config.js file written in ES module syntax.
config.js (ESM) example:
🚀 How to Start
Navigate to the project folder:
Install dependencies:
Edit config.js as shown above.
Start the server
🖥️ Connecting with Claude Desktop
To use this MCP server with Claude AI (desktop version):
Find or create the claude_desktop_config.json file (typically in the Claude app config folder).
Add or update the following:
Ensure @modelcontextprotocol/tools is installed:
🧰 Available MCP Tools
Tool | Description |
| Logs in with username/password. |
| Browses configured SCADA elements. |
| Retrieves live tag values. |
| Gets historical tag data. |
| Lists currently active alarms. |
| Shows previously triggered alarms. |
| Updates one or more tags. |
| Acknowledges alarms. |
| Resets alarms. |
📝 Notes
If configured, a service account is automatically logged in and token refreshed every minute.
A user's manual login overrides the service session temporarily.