Genius Automation MCP Server
Provides tools for interacting with Siemens TIA Portal, enabling AI agents to connect to a TIA Portal instance, read PLC tags, list blocks, retrieve project trees, and compile projects.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Genius Automation MCP ServerList all blocks in PLC_1"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Genius Automation β Community Edition
MCP server for Siemens TIA Portal β open-core, MIT-licensed Community Edition.
π― What is Genius Automation?
Genius Automation is a Model Context Protocol (MCP) server that lets AI agents (Claude Code, OpenClaw, Cursor, etc.) control Siemens TIA Portal V17+ β the leading industrial automation software used in factories worldwide.
This Community Edition ships with 5 essential read-only tools under the MIT License β free to use in commercial and non-commercial projects.
For the full Pro / Enterprise Edition (39 tools including write operations, multi-vendor, SLA), see: genius-automation-pro (private).
Related MCP server: tiacommander-mcp
β¨ Available Tools (Community Edition)
This Community Edition exposes 5 tools, all read-only and safe for production use:
Tool | Description |
| Establish a session with TIA Portal. Required first call in any session. |
| Read current values of one or more tags from a PLC. |
| List all blocks (OB/FB/FC/DB) in a given PLC. |
| Get the hierarchical project tree: devices, block groups, tag tables. |
| Compile the project (or a specific PLC) and return errors/warnings. Does NOT modify the PLC runtime β only validates the offline project. |
For write operations (create/edit blocks, write tags, HMI screens, library management, advanced diagnostics, batch operations), upgrade to Pro (below).
π Quick Start (3 steps)
Step 1 β Install
# Windows (with TIA Portal installed)
git clone https://github.com/your-org/genius-automation-community.git
cd genius-automation-community
python -m venv .venv
.venv\Scripts\activate
pip install -e .# Linux/macOS (mock server only, no TIA Portal)
git clone https://github.com/your-org/genius-automation-community.git
cd genius-automation-community
python3.11 -m venv .venv
source .venv/bin/activate
pip install -e .Step 2 β Run the Mock Server (Linux/macOS)
For testing without TIA Portal:
python -m mock.server --port 8001Output:
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Genius Automation Mock Server β
β Listening: http://0.0.0.0:8001 β
β Mode: MOCK (no TIA Portal connection) β
β Tools: 5/5 fixtures loaded β
ββββββββββββββββββββββββββββββββββββββββββββββββββββStep 3 β Connect from Your AI Agent
Configure your MCP-compatible agent (Claude Code, OpenClaw, Cursor) to point at the server:
{
"mcpServers": {
"genius-automation": {
"command": "python",
"args": ["-m", "mock.server"],
"env": {"PORT": "8001"}
}
}
}Then in the agent:
"List all blocks in PLC_1" β calls
list_blocks"Read the motor speed tag" β callsread_tags"Compile the project and show errors" β callscompile
π Architecture
βββββββββββββββββββ
β AI Agent β (Claude Code, OpenClaw, Cursor, β¦)
β (Linux/Mac) β
ββββββββββ¬βββββββββ
β MCP protocol (HTTP/SSE)
β
ββββββββββΌβββββββββ
β W11 VM β
β (Windows) β
β β
β βββββββββββββ β
β β MCP Serverβ β β this repo
β β (Python) β β
β βββββββ¬ββββββ β
β β β
β βββββββΌββββββ β
β β pythonnet β β
β βββββββ¬ββββββ β
β β β
β βββββββΌββββββ β
β β TIA Portalβ β (Siemens software, V17+)
β β V17+ β β
β βββββββββββββ β
βββββββββββββββββββThe MCP server runs on the same Windows machine as TIA Portal (because TIA Portal Openness requires Windows + .NET Framework 4.8). AI agents on Linux/macOS connect over the network via MCP.
π Tools (Community Edition)
1. connect
Establish a session with a running TIA Portal instance. Required as the first call in any session.
Input:
{"mode": "without_user_interface"}Output:
{
"status": "connected",
"tia_version": "V21",
"mode": "without_user_interface",
"openness_version": "V21.0.2",
"session_id": "mock-session-12345"
}2. read_tags
Read the current value of one or more tags from a PLC. Read-only.
Input:
{
"plc": "PLC_1",
"tag_names": ["Motor_Start", "Motor_Speed"]
}Output:
{
"plc": "PLC_1",
"tags": [
{"name": "Motor_Start", "address": "%I0.0", "data_type": "Bool", "value": false},
{"name": "Motor_Speed", "address": "%MW10", "data_type": "Int", "value": 1450}
],
"count": 2
}3. list_blocks
List all blocks in a given PLC inside the project. Returns block names, types, languages, and metadata. Read-only.
Input:
{"plc": "PLC_1"}Output:
{
"plc": "PLC_1",
"blocks": [
{"name": "OB1", "type": "OB", "number": 1, "language": "FBD"},
{"name": "FB10_Steckel_Control", "type": "FB", "number": 10, "language": "SCL"},
...
],
"count": 8
}4. get_project_tree
Get the hierarchical project tree: devices, software containers, block groups, tag tables. Read-only.
Input:
{"max_depth": 5}Output: hierarchical JSON tree of the project structure.
5. compile
Compile the current project (or a specific PLC) and return errors/warnings. Does NOT modify the PLC runtime β only validates the offline project.
Input:
{"plc": "PLC_1"} // optionalOutput:
{
"overall_state": "success",
"devices": [
{"plc_name": "PLC_1", "state": "success", "errors": 0, "warnings": 2}
],
"errors": [],
"warnings": [
{"plc_name": "PLC_1", "block": "FB20", "code": "W001", "message": "Unused variable"}
]
}π Upgrade to Pro / Enterprise
For write operations, HMI, library management, advanced diagnostics, and multi-vendor support, upgrade to the Pro Edition.
Tier | Tools | License | Price | Use case |
Community | 5 (read-only) | MIT | Free | Hobby, evaluation, read-only workflows |
Pro | 39 (read + write) | Proprietary | $29/mo (R$ 149) | Professional work, freelancers |
Enterprise | 39 + multi-vendor | Proprietary | $199/mo (R$ 999) | Companies, Rockwell/CODESYS, SLA |
Pro tools include everything in Community, plus:
Block CRUD:
create_plc,import_blocks,export_blocksTag write:
write_tagsHardware:
add_module,remove_module,configure_plc,configure_profinet,set_ip_address,list_devices,get_hardware_infoDiagnostics:
get_compile_errors,get_online_status,read_diagnostic_buffer,compare_online_offline,upload_from_device,get_plc_info,read_force_table,get_module_diagnostics,get_profinet_topology,get_security_infoLibrary:
list_libraries,create_library,get_library_info,add_to_library,publish_library_versionHMI / SCADA:
create_hmi_screen,add_screen_element,link_tag_to_screen,configure_alarm,export_hmi_xmlCapture:
capture_project_tree,capture_tag_table,capture_hardware_config,capture_watch_table,capture_screenBatch:
batch_capture_all_blocks,batch_import_from_excel,generate_project_summary,project_audit_report,batch_export_formatMulti-vendor (Enterprise): Rockwell Studio 5000, CODESYS, Beckhoff TwinCAT
π See genius-automation-pro (private, $29/mo).
π€ Contributing
We welcome contributions! See CONTRIBUTING.md for:
How to file bug reports
How to suggest features
How to submit pull requests
Code style and testing requirements
Translation guidelines
Quick links:
π Issues
π¬ Discussions
π License
This project is licensed under the MIT License β see LICENSE.
The Community Edition is open-core: the 5 basic tools are MIT-licensed, while advanced functionality (39 tools) lives in the proprietary Pro / Enterprise Editions.
π Acknowledgments
Siemens AG β For TIA Portal and the Openness API
Repsay β tia-openness-api-client (MIT, the basis for the Openness wrapper)
Anthropic β For MCP (Model Context Protocol) and the Python MCP SDK
OpenClaw Team β For the AI agent framework
π Contact
Website: https://plccursos.com.br/genius-automation (PT-BR)
Email: contato@plccursos.com.br
Issues: https://github.com/your-org/genius-automation-community/issues
Pro Edition: https://plccursos.com.br/genius-automation/pricing ($29/mo)
This server cannot be deployed
Maintenance
Related MCP Connectors
Nifty's MCP server β exposes tasks, projects, messages, and files as tools for AI agents.
A registry of AI agent tools β MCP servers, APIs, CLIs, SDKs β kept current by automated ingestion.
MCP server exposing the Backtest360 engine API as tools for AI agents.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceIndustrial-grade MCP server for Siemens TIA Portal (V17βV21). 120+ tools for PLC programming: create blocks (FB/FC/OB/DB), manage tags, compile, download, and simulate with PLCSim Advanced. On-premise, sovereign-AI compatible.18MIT
- FlicenseNot gradedqualityAmaintenanceMCP 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.35-
- AlicenseBqualityCmaintenanceMCP server that enables AI agents to read, edit, and create PLC projects in EcoStruxure Control Expert via COM automation.52MIT
- FlicenseNot gradedqualityBmaintenanceAn MCP server that lets AI agents interact with Siemens TIA Portal via its Openness API.-