ThinkPLC-MCP
Interface with SIEMENS PLC S7-1500/1200 using their JSON-RPC 2.0 API, exposing PLC functionalities as MCP tools for programmatic interaction.
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)
- β
User authentication (
- π 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-directory
- Install dependencies:
npm install
-
Edit 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/tools
Related Servers
Brandomica
Brand name verification across domains, social handles, trademarks (USPTO), web presence, app stores, and SaaS channels with safety scoring and filing readiness.
BloodHound MCP
Enables Large Language Models to interact with BloodHound Community Edition data.
Cast
MCP server for Google Cast β discover devices, play media, control volume, launch apps, and manage queues over stdio
SentinelGate
Open-source MCP proxy for AI agent access control. CEL policies, RBAC, full audit trail, content scanning, Admin UI.
Global Entry Alerts
Query real-time Global Entry interview appointment wait times across all 130+ US enrollment centers. Free, no auth required.
BrokerIA Imoveis
Search Brazilian real estate listings, simulate financing, qualify leads, and schedule visits directly from any LLM.
VOLO MCP Server
Private aviation MCP server β search flights, get quotes, browse 200+ aircraft, check empty legs, weather, and flight tracking
Pylon
20+ pay-per-request APIs for AI agents β screenshots, web scraping, PDF, OCR, search, QR codes, translation & more. No API keys needed. Pay with USDC via x402. npm: @pylonapi/mcp
Smithsonian Open Access
An MCP server to interact with the Smithsonianβs Open Access collection.
MCP Servers
A collection of MCP servers for Cursor IDE, including demo and weather services.