Plcs Ai MCP server
{
"mcpServers": {
"plcs-ai": {
"type": "http",
"url": "https://mcp.plcs.ai/mcp"
}
}
}{
"mcpServers": {
"plcs-ai": {
"type": "http",
"url": "https://mcp.plcs.ai/mcp"
}
}
}{
"mcpServers": {
"plcs-ai": {
"type": "http",
"url": "https://mcp.plcs.ai/mcp"
}
}
}{
"servers": {
"plcs-ai": {
"type": "http",
"url": "https://mcp.plcs.ai/mcp"
}
}
}{
"mcpServers": {
"plcs-ai": {
"type": "http",
"url": "https://mcp.plcs.ai/mcp"
}
}
}file .mcp.json (in your project root)file claude_desktop_config.jsonfile ~/.cursor/mcp.jsonfile .vscode/mcp.jsonfile ~/.codeium/windsurf/mcp_config.jsonversion 1.0.0
What it does
PLCs.ai MCP server exposes 17 tools that give MCP-compatible AI agents access to PLC projects (Allen-Bradley Studio 5000, Siemens TIA Portal, CODESYS V3), live tag values, and project analyses hosted on PLCs.ai. It is aimed at PLC engineers and developers who want to query, troubleshoot, and propose code changes for industrial control projects from within AI coding tools like Claude, Cursor, or Codex.
- Query live tag values and tag history from a connected PLC to diagnose why a machine stopped or misbehaved.
- Ask the PLCs.ai assistant a natural-language question about a project and receive a cited answer, such as tracing interlocks to find why a conveyor won't restart.
- Draft a code change proposal for a missing handshake or dead-code issue identified in the project analysis, review it, then save it as a new version.
Tools this server exposes
| Tool | Does |
|---|---|
| plcs_health | Check the health and availability of the PLCs.ai MCP service. |
| plcs_list_projects | List all PLC projects accessible to the authenticated organization. |
| plcs_get_project | Retrieve metadata and details for a specific PLC project. |
| plcs_get_project_source | Fetch the source content of a PLC project. |
| plcs_ask_project | Ask a natural-language question about a project and receive a cited answer from the PLCs.ai assistant. |
| plcs_get_live_values | Read current live tag values from a connected PLC. |
| plcs_get_tag_history | Retrieve historical values for a specific tag over a given time range. |
| plcs_request_live_tags | Request that specific tags be made available for live data collection. |
| plcs_get_project_analysis | Fetch the latest analysis of a project, covering dead code, race conditions, interlocks, cycle-time bottlenecks, and signal tracing. |
| plcs_propose_code | Generate a reviewable code change proposal; nothing is persisted without a separate approval step. |
| plcs_save_version | Save a reviewed proposal as a new version of the project. |
| plcs_stage_upload | Stage a project upload in preparation for committing a new version. |
| plcs_export_plc | Initiate an export of a PLC project in its native format. |
| plcs_export_pdf | Initiate a PDF export of a PLC project. |
| plcs_get_export | Check the status or metadata of a previously initiated export. |
| plcs_download_export | Download the file produced by a completed export job. |
| plcs_mint_embed_token | Generate a short-lived, read-only, project-scoped token for embedding a project view in an iframe. |
Before you enable it
An MCP server runs with whatever access you give it. Start with a development account rather than production, and check which tools the server exposes before you let an agent call them unattended.