Skip to content

mcpx-mcp-server is an MCP server that allows generative AI to access Mitsubishi PLC devices in real time.

License

Notifications You must be signed in to change notification settings

YudaiKitamura/mcpx-mcp-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mcpx-mcp-server

Version License

日本語 | 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.

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.

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"
    }
  }
}

About

mcpx-mcp-server is an MCP server that allows generative AI to access Mitsubishi PLC devices in real time.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published