Token导航 LogoToken导航TokenDH.com
Modbus Tcp Simulation logo
运维云端stdio官方级别未说明来源级核验

Modbus Tcp Simulation

MCP Server

一个具有内存存储、Web UI、REST API、Swagger 和 MCP over HTTP 的 Modbus TCP 模拟器,适用于工业自动化和测试场景。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
开发工具JavaScriptCursorAPI集成Cursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Allexd1992

提供方

Allexd1992

最后核验

2026/5/17 20:20

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -d --name modbus-sim \

详细介绍

Modbus TCP服务器仿真

](https://hub.docker.com/r/allexd2010/modbus-server-sim) ](https://github.com/Allexd1992/modbus-tcp-simulation) ![Rust](https://www.rust-lang.org/) ](https://nodejs.org/) ![Latest tag](https://github.com/Allexd1992/modbus-tcp-simulation/tags) ![License: MIT](https://opensource.org/licenses/MIT)

Modbus TCP服务器·内存存储·Web UI·REST·Swagger·基于HTTP的MCP

*现代深色玻璃形态UI:寄存器矩阵、浮点/32位语序、自动刷新、Swagger&AI。*

______________________________________________________________________

A. Modbus TCP 模拟器与a 单内存存储:web UI, REST API, 昂首阔步,以及 MCP(模型上下文协议) 对于Cursor等客户端,通过HTTP。建于 火箭, 东京-Modbus,以及 rmcp.

✨ 特性

  • Modbus TCP --保持/输入寄存器、线圈和离散输入。
  • 表征状态转移 --与Modbus和MCP相同的数据。
  • 网页用户界面 (/ui/)--寄存器矩阵,UInt16/Int32/浮点/双格式,位掩码,可配置间隔的自动刷新,MCP提示 mcp.json 示例和下载。 英语 (默认)和 俄语 通过 EN / 在标题栏中;选择存储在浏览器中。
  • 主控程序 --可流式HTTP /mcp工具,如 modbus_read_holding_registers, modbus_write_holding_registers以及更多。
  • 可安装PWA --在中打开UI 边缘http://127.0.0.1:9090/ui/ (或你的主人);页面加载后,使用 安装 在地址栏中(与 油管 / 声破天 web:独立窗口,无标签)。用途 manifest.json +最低限度的服务人员 /ui/.

📋 需求

  • 来源: 生锈的工具链。
  • 集装箱: Docker(或仅从Docker Hub拉取)。

🚀 快速启动

Docker Hub镜像(推荐)

当前标签(示例): 2.1.1.

docker pull allexd2010/modbus-server-sim:2.1.1

docker run -d --name modbus-sim \
  -p 9090:9090 \
  -p 502:502 \
  -p 18081:8081 \
  allexd2010/modbus-server-sim:2.1.1
主机容器用途
90909090HTTP:REST、Swagger、, /ui/
502502Modbus TCP
180818081MCP(http://:18081/mcp)

为什么主机上有18081: MCP在进程内监听 MCP_SERVER_PORT (默认值 8081).映射 18081:8081 与Cursor的web UI提示匹配。对于主机上的MCP,如 8081,使用 -p 8081:8081.

在本地构建映像:

docker build -t allexd2010/modbus-server-sim:2.1.1 .

Docker Compose

docker compose up -d

端口和图像在中定义 docker-compose.yml.

没有Docker

cargo run --release

默认值:web 9090Modbus 502,MCP 8081 (见下面的环境变量)。UI: http://127.0.0.1:9090/ui/.

作为应用程序安装(PWA)

  1. 启动服务器(cargo run --release 或带有端口的Docker 9090 出版)。
  2. 打开 http://127.0.0.1:9090/ui/微软边缘 (安全上下文: localhost / 127.0.0.1 作品)。
  3. 当浏览器显示 安装 在地址栏(或菜单)中→ *将此网站安装为应用程序*),confirm--UI将在其 自己的窗口 没有正常的浏览器工具栏。

已安装的应用程序仍在与 同源 作为页面;保持后端运行。对于远程服务器,请在安装前在URL中使用该主机。

🌐 启动后的服务

服务URL/地址
Web用户界面http://:9090/ui/
斯瓦格http://:9090/api/v1/swagger/
REST基础前缀 /api/v1/
Modbus TCP:502 (或港口从 MB_SERVER_PORT 以及你的Docker -p 映射)
MCPhttp://:/mcp

🖥️ 网页用户界面

  • 标签:保持/输入/线圈/离散输入。
  • 偏移计数 设置读取窗口。限制来自服务器(MB_MAX_ADDRESS, MB_MAX_READ_COUNT;违约 65535 每个)。UI从以下位置加载它们 GET /api/v1/ui-config 因此输入保持同步。寄存器矩阵在网格区域内滚动。
  • 自动 --定期读取;间隔(秒);当单元格聚焦时,自动刷新不会覆盖您的输入。
  • 人工智能 --MCP帮助文本、光标的当前URL、, mcp.json 下载(主机如页面上所示,端口 18081 默认情况下,或 ?mcpPort= 在页面URL中)。

📍 Modbus寻址

协议和API使用 零基偏移 (第一个持有寄存器是地址 0).Modicon风格文档:持有 40001 → 抵消 0, 4002120.

🔌 REST API(简称)

所有路线都在 /api/v1/;举个例子:

  • GET /api/v1/ui-config --JSON max_modbus_address, max_read_count (与下面的env变量相同的限制;由web UI使用)
  • GET /api/v1/holding-registers/{addr}/{cnt} --阅读
  • POST /api/v1/holding-register/{addr}/{data} --单个单词
  • POST /api/v1/holding-registers/{addr} --JSON正文 {"data":[…]}

超出配置限制的读/写请求将返回 400输入、线圈和离散的URL模式相同——请参见Swagger。

🤖 MCP(光标和其他)

  • 运输: 可流式传输的HTTP,端点 /mcp.
  • 与REST相同的商店。
  • 在工具中, addr协议偏移,而不是40001款式号。

示例 mcp.json (全球 %USERPROFILE%\.cursor\mcp.json 或项目 .cursor/mcp.json):

{
  "mcpServers": {
    "modbus-tcp-sim": {
      "url": "http://127.0.0.1:18081/mcp"
    }
  }
}

与当地 cargo run 没有Docker,通常: http://127.0.0.1:8081/mcp在改变配置之后, 完全重启 光标。

禁用MCP: MCP_SERVER_PORT=0.

⚙️ 环境变量

变量默认值描述
WEB_SERVER_PORT9090HTTP(REST、Swagger、静态 /ui)
MB_SERVER_PORT502Modbus TCP
MCP_SERVER_PORT8081流程内的MCP端口; 0 --不要启动MCP
MB_MAX_ADDRESS65535最大值 协议地址 (含)。窗口 addraddr + cnt - 1 不得越过此界限。
MB_MAX_READ_COUNT65535最大值 单词或比特 在一次HTTP读取中,最大 元素 在一批写入正文中。
RUST_LOG(无)日志级别,例如。 info

Modbus客户端: 使用从映射的主机端口 MB_SERVER_PORT (默认值 502).这 **MB_MAX_* 变量适用于 HTTP REST API** (以及web UI调用的内容),而不是内部的原始Modbus TCP帧限制 tokio-modbus.

🔧 故障排除

  • 正在使用的端口 --检查 netstat /任务经理;改变 -p 映射或环境变量。
  • MCP在游标中没有响应 --确保URL使用 主机和已发布端口 容器(通常 18081不是8081)。
  • UI中的数据为空或错误 -API必须返回 JSON数组;来自代理的HTML不会填充表格。

📦 图像和注册表

  • Docker Hub: allexd2010/modbus-server-sim
  • 标签:例如。 2.1.1
  • 持续集成 (.github/workflows/ci.yml):在非PR推送上,图像被构建和推送 仅限Docker Hub (:test 在树枝上; :latest: 在发布标签上--图像标签是 没有 领先的 v例如。 2.1.1 即使git标签是 v2.1.1). 平台: 分支/测试构建 linux/amd64; 释放标签 添加 linux/arm64 (多拱形舱单)。设置秘密 DOCKERHUB_USERNAMEDOCKERHUB_TOKEN ().

🔩 Git:条 Made-with: Cursor 从承诺

该回购提供 commit-msg 钩下 .githooks/ 这会删除以下线条 Made-with: Cursor (因此它们不会存储在历史中)。每个克隆启用一次:

git config core.hooksPath .githooks

要关闭挂钩,请执行以下操作: git config --unset core.hooksPath。要从中删除此类线路 过去 提交、使用 git rebase -i / filter-repo (此处未涉及)。

📄 许可证

麻省理工学院

______________________________________________________________________

Documentation · example image tag 2.1.1

目录标签

目录标签

开发工具JavaScriptCursorAPI集成工业自动化本地部署ModbusTCP服务器RESTAPIWebUI测试工具

支持客户端

Cursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP