ThinkPLC-MCP
Enables programmatic control and monitoring of SIEMENS PLC S7-1500/1200 controllers via their JSON-RPC 2.0 API, including authentication, tag browsing and reading/writing, operating mode management, system time control, alarm handling, and diagnostic buffer access.
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., "@ThinkPLC-MCPread the current temperature from sensor tag DB1.DBD10"
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.
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-GetPermissionsafter 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
Navigate to the project folder:
cd your-project-directoryInstall dependencies:
npm installEdit config.js as shown above.
Start the server
node startπ₯οΈ Connecting with Claude Desktop
To use this MCP server with Claude AI (desktop version):
Find or create the claude_desktop_config.json file (typically in the Claude app config folder).
Add or update the following:
{
"mcpServers": {
"ThinkPLC-MCP": {
"command": "npx",
"args": ["mcp-remote", "http://localhost:5000/mcp"]
}
}
}Ensure @modelcontextprotocol/tools is installed:
npm install -g @modelcontextprotocol/toolsThis server cannot be installed
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