WinCC Unified MCP XT MCP Server

Interface with SIEMENS WinCC Unified SCADA systems via GraphQL

README.md

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](https://github.com/vogler75/winccua-mcp-server)


🔧 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:

export const config = {
  URL: "https://your-wincc-server.example.com/graphql", // required
  userName: "service_account_username", // optional
  pwr: "service_account_password", // optional
};

🚀 How to Start

  1. Navigate to the project folder:
cd your-project-directory
  1. Install dependencies:
npm install
  1. Edit config.js as shown above.

  2. Start the server

node start

🖥️ Connecting with Claude Desktop

To use this MCP server with Claude AI (desktop version):

  1. Find or create the claude_desktop_config.json file (typically in the Claude app config folder).

  2. Add or update the following:

{
  "mcpServers": {
    "WinCC Unified": {
      "command": "npx",
      "args": ["mcp-remote", "http://localhost:3000/mcp"]
    }
  }
}
  1. Ensure @modelcontextprotocol/tools is installed:
npm install -g @modelcontextprotocol/tools

🧰 Available MCP Tools

Tool Description
login-user Logs in with username/password.
browse-objects Browses configured SCADA elements.
get-tag-values Retrieves live tag values.
get-logged-tag-values Gets historical tag data.
get-active-alarms Lists currently active alarms.
get-logged-alarms Shows previously triggered alarms.
write-tag-values Updates one or more tags.
acknowledge-alarms Acknowledges alarms.
reset-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.

Tools 9

login-userLogs in with username/password.
browse-objectsBrowses configured SCADA elements.
get-tag-valuesRetrieves live tag values.
get-logged-tag-valuesGets historical tag data.
get-active-alarmsLists currently active alarms.
get-logged-alarmsShows previously triggered alarms.
write-tag-valuesUpdates one or more tags.
acknowledge-alarmsAcknowledges alarms.
reset-alarmsResets alarms.

Environment Variables

URLrequiredThe GraphQL endpoint URL for the WinCC Unified server
userNameService account username for authentication
pwrService account password for authentication

Try it

List all currently active alarms in the SCADA system.
Get the current value for the production line speed tag.
Acknowledge all pending alarms in the system.
Retrieve the historical data for the temperature sensor over the last hour.
Update the setpoint tag to 50.0.

Frequently Asked Questions

What are the key features of WinCC Unified MCP XT?

Connects to WinCC Unified GraphQL endpoints. Browse and interact with SCADA objects. Read and write real-time tag values. Query historical logged tag data. Manage alarms including fetching, acknowledging, and resetting.

What can I use WinCC Unified MCP XT for?

Automating alarm response workflows for industrial operators. Integrating SCADA data into AI-driven reporting dashboards. Programmatic monitoring of production line performance metrics. Simplifying historical data analysis for maintenance teams.

How do I install WinCC Unified MCP XT?

Install WinCC Unified MCP XT by running: npm install

What MCP clients work with WinCC Unified MCP XT?

WinCC Unified MCP XT works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep WinCC Unified MCP XT docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Open Conare