WinCC OA MCP Server
A Model Context Protocol server that bridges AI assistants with WinCC OA projects, enabling natural language queries for datapoint search, manager management, and CTL script execution.
README
WinCC OA MCP Server
<div align="center">
Model Context Protocol server for WinCC OA - enables AI assistants to interact with WinCC OA projects
Features • Installation • Usage • Known Issues
</div>
⚠️ EXPERIMENTAL - Preview Release
This extension is in experimental/preview state. Features may change, break, or be incomplete.
Known Limitations:
- Not all MCP Server features are available when using the npm package installation method
- Some tools (e.g., Modbus, advanced datapoint operations) require the Git installation method
- If you encounter missing tools or errors, switch to Git installation in settings:
"winccoa.mcp.installMethod": "git"Tip: If the extension doesn't work as expected, try
Ctrl+Shift+P→Reload Windowto refresh.
🎯 Motivation
This extension provides a Model Context Protocol (MCP) Server for WinCC OA, acting as a bridge between AI assistants (like GitHub Copilot) and your WinCC OA projects.
Note: This extension uses the officially provided WinCC OA MCP Webserver interface developed by Siemens. The extension automates the installation, configuration, and integration of this official webserver into your VS Code workflow.
The goal is to enable developers to use natural language commands to:
- 🔍 Search and query datapoints
- 📊 List and monitor managers
- 📈 Get datapoint values and types
- ✅ Check manager status
- 🗂️ Analyze WinCC OA project structure
- ⚡ Execute CTL scripts
🎬 See It In Action

✨ Features
🧙 Auto-Setup Wizard
- One-Click Installation: Automatically clones, installs, and configures MCP Server
- Smart Manager Installation: Post-setup dialog for WinCC OA manager configuration
- Automatic Mode: Writes manager to
config/progsfile with auto-assigned number - Manual Mode: Shows comprehensive setup instructions
- Automatic Mode: Writes manager to
- Auto-Number Assignment: Finds next free
-num Xnumber automatically - Restart Reminder: Clear instructions about project restart requirements
🔌 Persistent Client Architecture
- Auto-Detection: Reads MCP configuration from project's
.envfile - Auto-Connect: Connects to MCP Server on extension activation
- Auto-Reconnect: Monitors connection with configurable heartbeat
- Project Integration: Seamless switching between WinCC OA projects
🤖 Language Model Tools
This extension no longer registers Copilot-specific Language Model Tools.
Instead, it installs/configures an MCP server and writes/updates VS Code's native MCP configuration (mcp.servers) so Copilot can call the server's tools directly.
⚙️ User Settings
Configurable options in VS Code Settings:
- Log Level: Filter log output (debug, info, warn, error)
- Auto-Reconnect: Enable/disable automatic reconnection (default: true)
- Reconnect Retries: Configure retry attempts 0-10 (default: 3)
- Heartbeat Interval: Configure heartbeat check frequency 5s-5min (default: 30s)
- Show Notifications: Toggle reconnect notifications (default: true)
📊 Status Bar UI
- Connection Status: Live indicator (🪄 Connected / ⚠️ Disconnected)
- QuickPick Menu: Click status bar for context-aware actions
- Connected: Show Server Info, Disconnect, Reconnect, Show Logs
- Disconnected: Connect, Run Setup, Show Logs
📥 Installation
Prerequisites
- WinCC OA Project Admin Extension (required for automatic project detection)
- WinCC OA 3.21+ (officially supported version)
- Node.js 14+ (for MCP Server runtime)
From VS Code Marketplace
- Open VS Code
- Go to Extensions (
Ctrl+Shift+X) - Search for "WinCC OA MCP Server"
- Click "Install"
🚀 Setup
Automatic Setup (Recommended)
-
Install Extensions:
- Install WinCC OA MCP Server extension
- Install WinCC OA Project Admin extension (dependency)
-
Select Project:
- Open WinCC OA Project Admin view
- Select your project from the list
-
Run Setup Wizard:
- If MCP Server not found, extension prompts: "Run Setup Wizard"
- Click "Install" to start automatic installation
- Wait for progress: Clone → Install → Generate Token → Configure → Build
-
Add Manager (v1.1.0):
- After installation, dialog appears: "Add MCP Server manager?"
- Choose Automatic or Manual Instructions
Automatic Mode:
- Extension writes manager to
config/progsfile - Auto-assigns next free manager number
- Shows restart reminder
Manual Mode:
- Webview panel with comprehensive instructions
- Two setup options:
- Option 1 (Recommended): Via PMON Console
- Option 2: Direct
config/progsfile editing
- Copy-ready manager options string
-
Restart WinCC OA Project:
- ⚠️ IMPORTANT: Close and reopen your WinCC OA project
- Manager will appear in PMON Console
- Manager starts automatically (start mode: always, 3 retries)
-
Verify Connection:
- Check status bar: Should show "🪄 WinCC OA Copilot"
- Click status bar → "Show Server Info" to verify
Manual Setup
If auto-setup fails or you prefer manual installation:
<details> <summary>Click to expand manual setup steps</summary>
-
Clone MCP Server repository:
cd <your-project>/javascript git clone https://github.com/winccoa/winccoa-ae-js-mcpserver.git mcpServer -
Install dependencies and build:
cd mcpServer/mcpWinCCOA npm install npm run build -
Create
.envfile inmcpWinCCOA/build/.env:MCP_API_TOKEN=your-secure-token-here MCP_MODE=http MCP_HTTP_PORT=3001 MCP_HTTP_HOST=0.0.0.0 MCP_AUTH_TYPE=bearer RATE_LIMIT_ENABLED=true MCP_CORS_ENABLED=true MCP_CORS_ORIGINS=* WINCCOA_FIELD=default TOOLS=datapoints/dp_basic,datapoints/dp_create,datapoints/dp_set,manager/manager_list,archive/archive_query -
Add manager to PMON:
Option 1 - Via PMON Console (Recommended):
- Open PMON Console
- Click "Add Manager"
- Configure:
- Component:
node - Start Mode:
always - Seconds to Kill:
30 - Restart Count:
3 - Reset Min:
1 - Options:
-num 2 mcpServer /path/to/mcpWinCCOA/build/index_http.js
- Component:
Option 2 - Edit config/progs:
- Open
<project>/config/progs - Add this line (before comments):
node | always | 30 | 3 | 1 |-num 2 mcpServer /path/to/mcpWinCCOA/build/index_http.js - Save file and restart WinCC OA project
-
Restart WinCC OA Project
</details>
💡 Usage
With GitHub Copilot
Use natural language to interact with your WinCC OA project:
"Show me all datapoints with 'pump' in the name"
"What's the current value of System1:Tank.level?"
"List all running managers"
"Get the type information for ExampleDP_Arg1"
"Execute the test script in scripts/tests/myTest.ctl"
Status Bar Menu
Click "🪄 WinCC OA Copilot" in the status bar to access:
When Connected:
- 📊 Show Server Info: View project, URL, and available tools
- 🔌 Disconnect: Close connection to MCP Server
- 🔄 Reconnect: Reconnect to server
- 📋 Show Logs: Open extension output channel
When Disconnected:
- 🔌 Connect: Connect to MCP Server
- 🛠️ Run Setup: Start MCP Server installation wizard
- 📋 Show Logs: Open extension output channel
Commands
Available via Command Palette (Ctrl+Shift+P):
WinCC OA: Connect to MCP ServerWinCC OA: Disconnect from MCP ServerWinCC OA: Reconnect to MCP ServerWinCC OA: Show Server InfoWinCC OA: Run Setup WizardWinCC OA: Show Logs
⚙️ Configuration
Essential Settings
| Setting | Default | Description |
|---|---|---|
winccoa.mcp.logLevel |
info |
Log verbosity: debug, info, warn, error |
winccoa.mcp.autoReconnect |
true |
Enable automatic reconnection on connection loss |
winccoa.mcp.reconnectRetries |
3 |
Number of retry attempts (0-10) |
winccoa.mcp.heartbeatInterval |
30000 |
Heartbeat check interval in ms (5000-300000) |
winccoa.mcp.showNotifications |
true |
Show notifications for reconnect events |
💡 Tip: Set log level to debug when reporting bugs for detailed diagnostics.
🐛 Known Issues
Manager Installation
-
Project Restart Required:
- After adding MCP Server manager, the WinCC OA project must be restarted
- Manager will not appear in PMON until restart
- This is a WinCC OA limitation -
config/progsis only read at startup
-
WinCC OA Complete Restart Sometimes Needed:
- ⚠️ Known Issue: Sometimes a simple project restart is not enough
- Symptom: Manager does not appear in PMON Console even after project restart
- Workaround: Close WinCC OA completely and reopen it
- Root Cause: WinCC OA caching issue with PMON configuration
- Recommendation: If manager doesn't appear after first restart, close and reopen WinCC OA
Connection & Auto-Reconnect
-
Initial Connection Delay:
- First connection after project start may take 2-3 seconds
- MCP Server needs time to initialize Node.js manager
-
Auto-Reconnect Notifications:
- Can be disabled in settings:
winccoa.mcp.showNotifications - Notifications appear during temporary connection loss (e.g., server restart)
- Can be disabled in settings:
🔧 Troubleshooting
Manager Not Appearing
Symptom: Manager not visible in PMON Console after restart
Solution:
- Restart WinCC OA project again
- If still not visible: Close WinCC OA completely and reopen
- Verify entry in
<project>/config/progsfile - Check manager number is unique (no conflicts with existing managers)
Connection Failed
Symptom: Status bar shows "⚠️ WinCC OA Copilot" (red/yellow)
Solution:
- Check MCP Server manager is running in PMON
- Verify
.envfile exists:<project>/javascript/mcpServer/mcpWinCCOA/build/.env - Check port 3001 is not blocked by firewall
- Check logs: Click status bar → "Show Logs"
Setup Wizard Fails
Symptom: Installation errors during setup wizard
Solution:
- Check Node.js is installed:
node --version - Check Git is installed:
git --version - Check internet connection (for git clone and npm install)
- Try manual setup (see Manual Setup)
📚 Requirements
- VS Code: 1.110.0 or higher
- WinCC OA: 3.21 or higher (officially supported)
- Node.js: 14 or higher (for MCP Server runtime)
- WinCC OA Project Admin Extension: Required for automatic project detection
License
MIT © Richard Janisch - See LICENSE file for details
🙏 Acknowledgments
- WinCC OA development team for the MCP Server implementation
- GitHub Copilot / VS Code team for MCP integration
- VS Code extension development community
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.