Labsco
mrwan84 logo

ThinkPLC-MCP

β˜… 10

from mrwan84

Interface with SIEMENS PLC S7-1500/1200 using their JSON-RPC 2.0 API, exposing PLC functionalities as MCP tools for programmatic interaction.

πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedFreeAdvanced setup

ThinkPLC-MCP

ThinkPLC-MCP is a server designed to interface with SIEMENS PLC S7-1500/1200 using their JSON-RPC 2.0 API. It exposes API functionalities as MCP tools, enabling AI assistants and other MCP-compatible clients to interact with the PLC programmatically.


πŸ”§ Features

  • Connects to a SIEMENS PLC API (Webserver) endpoint
  • Provides MCP tools for:
    • βœ… User authentication (login, logout, ChangePassword-user)
    • βœ… Check PLC connectivity (ping)
    • βœ… Retrieve user permissions via Api-GetPermissions after login
    • βœ… Get API version with Api-Version
    • βœ… List available API methods using Api-Browse
    • βœ… Retrieve structure information with Api-GetQuantityStructures
    • βœ… Get password security policies with Api-GetPasswordPolicy
    • βœ… Browse tags and metadata using PlcProgram-Browse
    • βœ… Read single variables via PlcProgram-Read
    • βœ… Write Boolean, Number, or String tags with PlcProgram-Write-*
    • βœ… Read the current CPU operating mode with Plc-ReadOperatingMode
    • βœ… Request a change of operating mode using Plc-RequestChangeOperatingMode
    • βœ… Read the CPU system time (Plc-ReadSystemTime)
    • βœ… Set the CPU system time (Plc-SetSystemTime)
    • βœ… Read available project languages (Project-ReadLanguages)
    • βœ… Browse active alarms (Alarms-Browse)
    • βœ… Acknowledge alarms (Alarms-Acknowledge)
    • βœ… Browse diagnostic buffer entries (DiagnosticBuffer-Browse)
  • πŸ”„ Optional: automatic service account login with token refresh