Skip to main content
Glama
mrwan84

WinCC Unified MCP XT

by mrwan84

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.


Related MCP server: WinCC V8 MCP Server

⚙️ 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.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with SIEMENS WinCC Unified SCADA systems through their GraphQL API, supporting operations like reading/writing tag values, browsing objects, querying historical data, and managing alarms.
    12
    GPL 3.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server providing access to Siemens WinCC V8 SCADA systems via REST API, enabling tag management, alarm logging, and archive operations.
    12
    GPL 3.0
  • F
    license
    Not graded
    quality
    A
    maintenance
    MCP server that connects AI assistants to Siemens TIA Portal via the Openness API. AI-assisted PLC programming, project management, hardware configuration, cross-reference analysis, and deployment. 19 tools, 230 actions.
    33
    -