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


βš™οΈ 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
-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/mrwan84/ThinkPLC-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server