Get the FREE Ultimate OpenClaw Setup Guide →

winccua

A MCP (Model Context Protocol) server for SIEMENS WinCC Unified SCADA systems.

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio vogler75-winccua-mcp-server node index.js \
  --env GRAPHQL_PWD="Optional. Password for the service account" \
  --env GRAPHQL_URL="Required. Full URL to the WinCC Unified GraphQL server (e.g., https://your-wincc-server.example.com/graphql)" \
  --env GRAPHQL_USR="Optional. Service account username for automatic login on startup" \
  --env NODE_TLS_REJECT_UNAUTHORIZED="Optional. Set to 0 to disable TLS certificate validation (development only)"

How to use

This MCP server provides a set of tools to interact with Siemens WinCC Unified via its GraphQL API. It exposes tools for authentication, object browsing, tag value retrieval (current and historical), alarm queries, and write/acknowledge/reset actions on tags and alarms. Clients can connect to the MCP endpoint at the server's /mcp path and invoke the available tools to perform common SCADA operations through MCP, enabling AI assistants or automation workflows to work with WinCC Unified data and controls.

How to install

Prerequisites:

  • Node.js v18.x or later
  • npm (comes with Node.js)
  • Access to a running WinCC Unified GraphQL server

Step-by-step:

  1. Clone or download the MCP server repository.
  2. Install dependencies:
npm install
  1. Configure environment variables (see Configuration section in README):
  • GRAPHQL_URL: URL to your WinCC Unified GraphQL endpoint
  • GRAPHQL_USR/GRAPHQL_PWD: optional service account credentials for automatic login
  • NODE_TLS_REJECT_UNAUTHORIZED: set to 0 if using a self-signed certificate (development only)
  1. Start the server:
node index.js
  1. By default the MCP server listens on port 3000 and exposes MCP requests at /mcp. You can override the port with MCP_PORT:
MCP_PORT=8080 node index.js

Optional: If you prefer a shell script, you can use the provided run.sh (Linux/macOS) which sets NODE_TLS_REJECT_UNAUTHORIZED=0 before starting the server.

Additional notes

Tips and notes:

  • The server can automatically log in with a service account if GRAPHQL_USR and GRAPHQL_PWD are provided. It will refresh tokens periodically to maintain the session.
  • If your WinCC Unified GraphQL endpoint uses a self-signed certificate, you may need to disable TLS certificate validation by setting NODE_TLS_REJECT_UNAUTHORIZED=0 in development environments. Do not use this in production.
  • Ensure GRAPHQL_URL is reachable from the MCP server host and that network/firewall rules allow the connection.
  • The Claude Desktop integration example in the README demonstrates how to configure a client to connect to this MCP server via mcp-remote; you can adapt the example to your environment and client.

Related MCP Servers

Sponsor this space

Reach thousands of developers