Skip to main content
Glama
WinCC Unified MCP XT

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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    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.
      15
      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.
      13
      GPL 3.0
    • F
      license
      Not graded
      quality
      C
      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.
      60
      -