mcpx-mcp-server

YudaiKitamura/mcpx-mcp-server

3.2

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.

Operation Image

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.

FieldDescription
addressSpecifies the device address.
nameSpecifies the device name.
commentSpecifies 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"
    }
  }
}