Install
$ agentstack add mcp-yudaikitamura-mcpx-mcp-server ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
mcpx-mcp-server
日本語 | English
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"
}
}
}
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: YudaiKitamura
- Source: YudaiKitamura/mcpx-mcp-server
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.