
Serial-MCP

2025.04.20
0
Python串行通信设备通信其它
Serial-MCP 是一个基于 FastMCP 框架构建的串行通信服务器,专为与计算机串口连接的设备通信而设计。它提供了异步串行通信、消息缓冲、错误处理和连接管理等核心功能,适用于需要与串口设备进行可靠通信的场景。
View on GitHub
Overview
基本能力
产品定位
Serial-MCP 是一个串行通信服务器,旨在为代理(Agents)提供与计算机串口连接的设备进行通信的能力。
核心功能
- 异步串行通信:基于 asyncio 实现高效的 I/O 操作。
- 消息缓冲:支持可配置的缓冲区大小,并带有时间戳支持。
- 连接管理:自动端口检测和连接处理。
- 错误处理:全面的错误检测和报告机制。
- 环境配置:支持环境变量和运行时配置。
- 日志记录:带有时间戳和错误跟踪的详细日志。
适用场景
- 与串口设备进行通信的自动化测试。
- 嵌入式系统开发中的设备调试。
- 需要与硬件设备进行串行通信的任何应用场景。
工具列表
- delay:等待指定的秒数。
- init_serial:初始化串行连接。
- send_message:通过串行连接发送消息。
- read_message:从缓冲区读取消息。
- list_serial_ports:列出系统上所有可用的串行端口。
- get_serial_status:获取当前串行连接的状态。
- configure_serial:初始化后配置串行连接。
- close_serial:关闭当前的串行连接。
- help:获取如何使用 Serial MCP 服务器的详细说明。
常见问题解答
- 如何配置串行端口:通过环境变量
SERIAL_PORT
、SERIAL_BAUD_RATE
和SERIAL_BUFFER_LENGTH
进行配置。 - 如何处理连接失败:服务器提供详细的错误消息,包括连接失败的原因。
- 如何查看日志:日志写入
logs/serial_MCP.log
文件。
使用教程
使用依赖
- 确保已安装 Python 3.7+。
- 安装依赖:
pip install -r requirements.txt
安装教程
- 克隆仓库:
git clone https://github.com/PaDev1/Serial-MCP.git
cd Serial-MCP
- 安装依赖:
pip install -r requirements.txt
- 配置服务器:
"serial_MCP": {
"command": "uv",
"args": [
"run",
"--with",
"fastmcp,pyserial",
"fastmcp",
"run",
"<path to>/serial_MCP.py"
],
"env": {
"SERIAL_PORT": "<your serial port name>",
"SERIAL_BAUD_RATE": "9600",
"SERIAL_BUFFER_LENGTH": "100"
}
}
调试方式
- 启动服务器:
python serial_MCP.py
- 使用 API 端点进行调试:
- 初始化串行连接:
await init_serial({
"port": "/dev/tty.usbmodem1101",
"baudrate": 9600,
"buffer_length": 100
})
- 发送消息:
await send_message({
"message": "Hello, device!"
})
- 读取消息:
await read_message({
"wait": False,
"timeout": 1.0
})
- 列出可用端口:
await list_serial_ports()
- 获取连接状态:
await get_serial_status()
- 配置连接:
await configure_serial({
"port": "/dev/tty.usbmodem1101",
"baudrate": 9600,
"list_ports": False
})
- 关闭连接:
await close_serial()