ThinkPLC-MCP
ThinkPLC-MCP
Documentation
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:///api/jsonrpc", // required
userName: "your-username", // optional
pwr: "your-password", // optional
};๐ Getting Started
1. Navigate to the project folder:
cd your-project-directory2. Install dependencies:
npm install3. Edit config.js as shown above.
4. 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"]
}
}
}4. Ensure @modelcontextprotocol/tools is installed:
npm install -g @modelcontextprotocol/toolsFrequently asked questions
What is ThinkPLC-MCP?
ThinkPLC-MCP is ThinkPLC-MCP
How do I install ThinkPLC-MCP?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is ThinkPLC-MCP open source?
Yes โ it is hosted on GitHub at https://github.com/mrwan84/ThinkPLC-MCP and has 11 stars.
Related MCP tools
๐ฅ Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
Use any LLMs (Large Language Models) for Deep Research. Support SSE API and MCP server.
Enhanced MCP server for interactive user feedback and command execution in AI-assisted development, featuring dual interface support (Web UI and Desktop Application) with intelligent environment detection and cross-platform compatibility.
A powerful Zotero AI and MCP plugin with ChatGPT, Gemini 3.7, Claude Fable 5, Claude Opus 5, DeepSeek V4, Grok, OpenRouter, Kimi k3, GLM 5.3, SiliconFlow, GPT-oss, Gemma 4, Qwen 3.8
Connect your browser to AI models. Just use Dia on Chrome, Arc or Firefox.
ๆ้ข MCP Server ๅฏไปฅ่ฎฉ AI ่ชๅจๅฐ Markdown ๆ็ซ ๆ็ๅๅๅธ่ณๅพฎไฟกๅ ฌไผๅทใ
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP