串行MCP服务器
  
用于串行端口通信的专业模型上下文协议(MCP)服务器。为AI助手提供全面的串行通信功能,用于嵌入式系统、物联网设备和具有真实硬件集成的硬件调试。
📖 语言版本: 英语 | 中文
✨ 特性
- 🚀 生产就绪:与5个全面的串行通信工具进行真正的硬件集成
- 🔌 与跨平台支持:具有自动端口检测功能的Windows、Linux、macOS
- 📡 完全串行控制:列出端口、连接、发送/接收具有完整配置的数据
- 📝 多种数据格式:UTF-8、十六进制、二进制编码支持,带超时处理
- 🛠️ 硬件集成:使用STM32、Arduino、ESP32和其他嵌入式系统进行测试
- 🤖 人工智能集成:与Claude和其他AI助手完美兼容
- 🧪 综合测试:所有5个工具都经过真实硬件验证
- ⚡ 高性能:基于Tokio异步运行时构建,支持并发连接
🏗️ 建筑
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ MCP Client │◄──►│ Serial MCP │◄──►│ Serial Device │
│ (Claude/AI) │ │ Server │ │ Hardware │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────────┐
│ Target Device │
│ (STM32/Arduino) │
└──────────────────┘🚀 快速开始
先决条件
硬件要求:
- 串行设备:STM32、Arduino、ESP32或任何兼容UART的设备
- 连接:USB转串行转换器或内置USB-UART
- USB电缆:用于将设备连接到PC
软件要求:
- 锈蚀1.70+
- 串行设备驱动程序(在大多数系统上自动检测)
安装
# Clone and build from source
git clone https://github.com/adancurusul/serial-mcp-server.git
cd serial-mcp-server
cargo build --release基本用法
配置MCP客户端
Claude桌面配置示例
添加到Claude Desktop配置文件:
Windows示例:
{
"mcpServers": {
"serial": {
"command": "C:\\path\\to\\serial-mcp-server\\target\\release\\serial-mcp-server.exe",
"args": [],
"env": {
"RUST_LOG": "info"
}
}
}
}macOS/Linux示例:
{
"mcpServers": {
"serial": {
"command": "/path/to/serial-mcp-server/target/release/serial-mcp-server",
"args": [],
"env": {
"RUST_LOG": "info"
}
}
}
}其他工具的其他示例,如游标、claude代码等,请参阅相应的工具文档
🎯 试试STM32演示
我们提供全面的 STM32串行通信演示 展示所有功能:
# Navigate to the example
cd examples/STM32_demo
# Build and run the firmware
cargo run --release
# Use with MCP server for complete serial communication experience演示显示了什么:
- ✅ 交互式串行命令:发送命令并获得实时响应
- ✅ 所有5个MCP工具:使用真正的STM32硬件完成验证
- ✅ 硬件控制:LED开关、计数器系统、闪烁模式
- ✅ 命令接口:具有交互式命令处理的帮助系统
AI助手的使用示例
列出可用串行端口
Please list available serial ports on the system连接到串行设备
Connect to COM19 with baud rate 115200 for my STM32 device发送交互式命令
Send 'H' command to get help menu, then send 'L' to toggle the LED读取设备响应
Read the response from the serial device with 2 second timeout完成通信测试
Please help me test all 5 MCP serial tools with my STM32 board on COM19. Start by listing ports, then connect, send some commands, read responses, and finally close the connection.🛠️ 全套工具(5个工具)
所有工具均使用真实的STM32硬件进行测试和验证:
📡 串行通信(5个工具)
| 工具 | 描述 | 状态 |
|---|---|---|
list_ports | 发现系统上可用的串行端口 | ✅ 生产就绪 |
open | 使用配置打开串行连接 | ✅ 生产就绪 |
write | 向连接的串行设备发送数据 | ✅ 生产就绪 |
read | 从串行设备读取数据时超时 | ✅ 生产就绪 |
close | 干净地关闭串行连接 | ✅ 生产就绪 |
✅ 5/5工具-使用真实硬件的成功率为100%
🌍 支持的硬件
串行设备
- STM32:所有STM32系列均具有UART功能
- 阿尔杜伊诺规格:Uno、Nano、ESP32、ESP8266
- 嵌入式系统:任何具有UART/USB串行接口的设备
- 工业的:Modbus、RS485转换器
- 物联网设备:带串行通信的传感器、执行器
- 其他:任何具有UART/USB串行接口的设备
串行接口
- USB转串行:CH340、CH343、FTDI、CP2102
- 内置USB:带USB-C的STM32,Arduino Leonardo
- 硬件UART:直接UART连接
平台支持
| 平台 | 端口格式 | 示例 |
|---|---|---|
| 窗户 | COMx | COM1、COM3、COM19 |
| Linux | /dev/ttyXXX | /dev/ttyUSB0,/dev/ttyACM0 |
| macOS | /dev/tty.xxx | /dev/tty.usbserial-1234 |
🏆 生产状态
✅ 完全实施和测试
当前状态:生产准备就绪
- ✅ 完整的串行集成:与所有5个工具进行真正的硬件通信
- ✅ 硬件验证:在COM19上使用STM32+CH343 USB串行进行测试
- ✅ 互动的沟通:全双向指挥/响应系统
- ✅ 多平台:Windows、Linux、macOS支持自动检测
- ✅ 连接管理:强大的连接处理和适当的清理
- ✅ 人工智能集成:完美的MCP协议兼容性
📦 技术特性
串行实现
- 交叉平台的:自动端口检测和配置
- 多种编码:UTF-8、十六进制、二进制数据支持
- 超时处理:可配置的读/写超时
- 连接池:多个并发串行连接
性能特征
- 端口发现:快速枚举可用端口
- 连接速度:快速建立连接
- 数据吞吐量:高效的数据传输,延迟最小
- 会话稳定性:经过长时间运行测试
🙏 致谢
感谢以下开源项目:
📄 许可证
该项目根据MIT许可证获得许可。请参阅 许可证 文件以获取详细信息。
______________________________________________________________________
⭐ 如果这个项目对你有帮助,请给我们一颗星!
