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 "Install 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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceIndustrial-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.Last updated12MIT
- Flicense-qualityAmaintenanceMCP 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. 16 tools, 166 actions.Last updated20
- AlicenseBqualityBmaintenanceMCP server that enables AI agents to read, edit, and create PLC projects in EcoStruxure Control Expert via COM automation.Last updated52MIT
- Flicense-qualityBmaintenanceAn MCP server that lets AI agents interact with Siemens TIA Portal via its Openness API.Last updated
Related MCP Connectors
MCP server exposing the Backtest360 engine API as tools for AI agents.
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors β no code.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yoβ¦
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kgpgit/genius-automation-community'
If you have feedback or need assistance with the MCP directory API, please join our Discord server