winccua
A MCP (Model Context Protocol) server for SIEMENS WinCC Unified SCADA systems.
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:
- Clone or download the MCP server repository.
- Install dependencies:
npm install
- 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)
- Start the server:
node index.js
- 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
comunica
📬 A knowledge graph querying framework for JavaScript
github-brain
An experimental GitHub MCP server with local database.
time
⏰ Time MCP Server: Giving LLMs Time Awareness Capabilities
unity-editor
An MCP server and client for LLMs to interact with Unity Projects
website-publisher
AI Website builder and publisher MCP. Quickly publish and deploy your AI generated code as real website URL. Support html, css, js, python etc.
mcp-graphql-tools
GraphQL MCP server for AI assistants