YudaiKitamura/mcpx-mcp-server
If you are the rightful owner of mcpx-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
mcpx-mcp-server is an MCP server enabling real-time access to Mitsubishi PLC devices via generative AI.
mcpx-mcp-server
|
Overview
mcpx-mcp-server is an MCP server that allows generative AI to access Mitsubishi PLC devices in real time.
For PLC communication, it uses the NativeAOT build of the MC Protocol library McpX.

Features
- Real-time reading of PLC devices
- Writing to PLC devices
- Operation via natural language instructions from generative AI
- Operation by name
- By predefining names, you can operate devices without worrying about addresses
Example Prompts
- Start Conveyor A.
- Stop Conveyor A.
- What is the status of Gate A?
- Open Gate A and then start Conveyor A.
- What is the current production count?
- Set the target production count to 9999.
Usage
Prerequisites
The following applications must be installed:
PLC Connection Information
Set the PLC connection information in app/src/.env.
PLC_IP=192.168.12.88 # PLC IP address
PLC_PORT=10000 # PLC port number
IS_ASCII=false # PLC communication mode (true: ASCII, false: Binary)
IS_UDP=false # PLC communication protocol (true: UDP, false: TCP)
Note: When changing the PLC connection information, you need to restart the MCP server.
Device Definition
By predefining device definitions (app/src/address-comment.json), you can operate devices with named access and apply access rules.
| Field | Description |
|---|---|
| address | Specifies the device address. |
| name | Specifies the device name. |
| comment | Specifies the data type or rules. |
Note: If you modify the device definitions, you must restart the MCP server.
Example Configuration
[
{ "address": "M0", "name": "Conveyor A Start Command", "comment": "true = run, false = stop" },
{ "address": "M1", "name": "Conveyor A Status", "comment": "true = running, false = stopped" },
{ "address": "M2", "name": "Gate A Open Command", "comment": "true = open, false = closed" },
{ "address": "M3", "name": "Gate A Status", "comment": "true = open, false = closed" },
{ "address": "D0", "name": "Production Count", "comment": "short type" }
]
Starting the MCP Server
docker compose up -d
Stopping the MCP Server
docker compose down
Configuring the MCP Server
Configure the MCP server according to the generative AI you are using.
Example Configuration for Gemini CLI
Mac
/Users/{username}/.gemini/settings.json
Linux
/home/{username}/.gemini/settings.json
Windows
C:\Users\{username}\.gemini\settings.json
Configuration Content
Add the MCP server information to settings.json:
{
"security": {
"auth": {
"selectedType": "oauth-personal"
}
},
"mcpServers": {
"mcpx": {
"httpUrl": "http://localhost:3000/mcp"
}
}
}