mcpField
M
mcp-rs485

mcp-rs485

本地服务
github.com/daedalus其他027 周前更新

关于 mcp-rs485

mcp-rs485 是供 AI 助手与 RS485 设备交互的 MCP 服务,提供串口发现、连接管理及数据读写,并支持配置串口参数。

主要功能

  1. 01列出可用串口
  2. 02打开和关闭 RS485 连接
  3. 03读写十六进制数据
  4. 04查看连接状态和统计信息
  5. 05配置串口通信参数

适用场景

  1. 01发现系统上的串口
  2. 02向 RS485 设备发送命令
  3. 03读取已打开连接的数据

MCP 相关

它通过列出串口、管理连接、读写数据和查询状态等工具,向 MCP 客户端提供 RS485 连接能力。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"daedalus-mcp-rs485": {
"command": "uvx",
"args": [
"mcp-rs485"
]
}
}
}
启动命令uvx mcp-rs485

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-rs4850.1.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mcp-rs485

用于提供 RS485 总线连接能力,以读取和写入串行数据的 MCP 服务。

mcp-name: io.github.daedalus/mcp-rs485

PyPI Python Ruff

安装

pip install mcp-rs485

配置

{
  "mcpServers": {
    "mcp-rs485": {
      "command": "mcp-rs485",
      "env": {},
      "name": "io.github.daedalus/mcp-rs485"
    }
  }
}

用法

此 MCP 服务通过模型上下文协议提供 RS485 串行总线连接能力。它允许 AI 助手与 RS485 设备交互。

工具
  • list_ports:列出系统上所有可用的串行端口
  • connect_rs485:打开与 RS485 设备的连接
  • disconnect_rs485:关闭 RS485 连接
  • read_rs485:从已打开的 RS485 连接读取数据
  • write_rs485:向 RS485 连接写入数据
  • get_connection_status:获取 RS485 连接的状态
示例
from mcp_rs485.server import connect_rs485, write_rs485, read_rs485

# Connect to a device
conn_id = connect_rs485("/dev/ttyUSB0", baudrate=9600)

# Write data (Modbus RTU example)
write_rs485(conn_id, "01 03 00 00 00 0A")

# Read response
response = read_rs485(conn_id)

# Cleanup
disconnect_rs485(conn_id)

开发

git clone https://github.com/daedalus/mcp-rs485.git
cd mcp-rs485
pip install -e ".[test]"

# run tests
pytest

# format
ruff format src/ tests/

# lint
ruff check src/ tests/

# type check
mypy src/

API

list_ports()

列出所有可用的串行端口。

**返回:**包含 port、description 和 hwid 的端口字典列表。

connect_rs485(port, baudrate=9600, parity="N", stopbits=1, bytesize=8, timeout=1.0)

打开与 RS485 设备的连接。

参数:

  • port:串行端口路径(例如,"/dev/ttyUSB0")
  • baudrate:通信速率(默认值:9600)
  • parity:"N"(无)、"E"(偶校验)、"O"(奇校验)
  • stopbits:停止位数
  • bytesize:每帧的数据位数
  • timeout:读取超时时间,单位为秒

**返回:**连接 ID 字符串。

read_rs485(connection_id, length=1024)

从已打开的 RS485 连接读取数据。

参数:

  • connection_id:来自 connect_rs485 的连接 ID
  • length:要读取的最大字节数

**返回:**收到数据的十六进制字符串。

write_rs485(connection_id, data)

向 RS485 连接写入数据。

参数:

  • connection_id:来自 connect_rs485 的连接 ID
  • data:十六进制字符串(例如,"01 03 00 00 00 0A")

**返回:**已写入的字节数。

get_connection_status(connection_id)

获取连接状态和统计信息。

**返回:**包含连接状态和统计信息的字典。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。