Skip to main content
Glama

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


Related MCP server: OPC UA MCP Server

βš™οΈ Prerequisites

  • Node.js (v18.x or later recommended)

  • npm (comes bundled with Node.js)

  • Access to a running SIEMENS PLC API (Webserver)


βš™οΈ Configuration

This server uses a config.js file written in ES Module syntax.

Example config.js:

export const config = {
  URL: "https://<PLC-IP-Address>/api/jsonrpc", // required
  userName: "your-username", // optional
  pwr: "your-password", // optional
};

πŸš€ Getting Started

  1. Navigate to the project folder:

cd your-project-directory
  1. Install dependencies:

npm install
  1. Edit config.js as shown above.

  2. Start the server

node start

πŸ–₯️ Connecting with Claude Desktop

To use this MCP server with Claude AI (desktop version):

  1. Find or create the claude_desktop_config.json file (typically in the Claude app config folder).

  2. Add or update the following:

{
  "mcpServers": {
    "ThinkPLC-MCP": {
      "command": "npx",
      "args": ["mcp-remote", "http://localhost:5000/mcp"]
    }
  }
}
  1. Ensure @modelcontextprotocol/tools is installed:

npm install -g @modelcontextprotocol/tools

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to interact with SIEMENS WinCC Unified SCADA systems through their GraphQL API, supporting operations like reading/writing tag values, browsing objects, querying historical data, and managing alarms.
      15
      GPL 3.0
    • A
      license
      Not graded
      quality
      D
      maintenance
      Connects AI agents to OPC UA-enabled industrial systems for real-time monitoring and control of operational data. It enables users to read, write, and browse industrial device nodes through natural language interactions.
      MIT
    • F
      license
      Not graded
      quality
      C
      maintenance
      MCP 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.
      60
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Connects AI agents to Siemens industrial PLCs for automatic monitoring and control of industrial equipment.
      28
      MIT