返回市场
串行-MCP服务器

串行-MCP服务器

作者:Adancurusul9 星标更新:2025-08-06

项目介绍

Serial MCP Server

Rust RMCP License

一款专业的模型上下文协议(MCP)服务器,用于串行端口通信。为嵌入式系统、物联网设备和硬件调试提供全面的串行通信能力,并实现与真实硬件的集成。

📖 语言版本: English | 中文

✨ 特性

  • 🚀 生产就绪: 实现与真实硬件的集成,包含5个全面的串行通信工具
  • 🔌 跨平台支持: 支持Windows、Linux、macOS,自动检测端口
  • 📡 完整的串行控制: 列出端口、连接、发送/接收数据,具备全配置功能
  • 📝 多种数据格式: 支持UTF-8、Hex、Binary编码及超时处理
  • 🛠️ 硬件集成: 已测试STM32、Arduino、ESP32及其他嵌入式系统
  • 🤖 AI集成: 完美兼容Claude及其他AI助手
  • 🧪 全面测试: 所有5个工具均通过真实硬件验证
  • 高性能: 基于Tokio异步运行时,支持并发连接

🏗️ 架构

┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│   MCP客户端     │◄──►│  Serial MCP      │◄──►│  串行设备       │
│   (Claude/AI)   │    │  服务器          │    │  硬件           │
└─────────────────┘    └──────────────────┘    └─────────────────┘
                              │
                              ▼
                       ┌──────────────────┐
                       │  目标设备       │
                       │  (STM32/Arduino) │
                       └──────────────────┘

🚀 快速开始

预备条件

硬件要求:

  • 串行设备: STM32、Arduino、ESP32或其他UART兼容设备
  • 连接: USB转串行转换器或内置USB-UART
  • USB线: 连接设备到PC

软件要求:

  • Rust 1.70+
  • 串行设备驱动程序(大多数系统上自动检测)

安装

# 克隆并构建源代码
git clone https://github.com/adancurusul/serial-mcp-server.git
cd serial-mcp-server
cargo build --release

基本使用

配置MCP客户端

Claude桌面配置示例

添加到Claude桌面配置文件中:

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

其他工具如cursor、claude code等的示例,请参考相应工具的文档

🎯 尝试STM32演示

我们提供一个全面的STM32串行通信演示,展示所有功能:

# 导航到示例
cd examples/STM32_demo

# 构建并运行固件
cargo run --release

# 使用MCP服务器进行完整的串行通信体验

演示展示了什么:

  • 交互式串行命令: 发送命令并获得实时响应
  • 所有5个MCP工具: 使用真实的STM32硬件进行全面验证
  • 硬件控制: LED切换、计数系统、闪烁模式
  • 命令接口: 带有交互式命令处理的帮助系统

📖 查看STM32演示文档 →

与AI助手一起使用的示例

列出可用的串行端口

请列出系统上的可用串行端口

连接到串行设备

以115200波特率连接到COM19上的我的STM32设备

发送交互式命令

发送'H'命令获取帮助菜单,然后发送'L'切换LED

读取设备响应

在2秒超时内从串行设备读取响应

完整通信测试

请帮我使用我的STM32板在COM19上测试所有5个MCP串行工具。首先列出端口,然后连接,发送一些命令,读取响应,最后关闭连接。

🛠️ 完整工具集(5个工具)

所有工具已测试并通过真实STM32硬件验证:

📡 串行通信(5个工具)

工具描述状态
list_ports发现系统上的可用串行端口✅ 生产就绪
open使用配置打开串行连接✅ 生产就绪
write向连接的串行设备发送数据✅ 生产就绪
read在超时时间内从串行设备读取数据✅ 生产就绪
close清洁地关闭串行连接✅ 生产就绪

✅ 5/5工具 - 100%成功通过真实硬件

🌍 支持的硬件

串行设备

  • STM32: 所有具有UART功能的STM32系列
  • Arduino: Uno, Nano, ESP32, ESP8266
  • 嵌入式系统: 任何具有UART/USB-Serial接口的设备
  • 工业: Modbus, RS485转换器
  • 物联网设备: 具有串行通信的传感器、执行器
  • 其他: 任何具有UART/USB-Serial接口的设备

串行接口

  • USB转串行: CH340, CH343, FTDI, CP2102
  • 内置USB: STM32带USB-CDC, Arduino Leonardo
  • 硬件UART: 直接UART连接

平台支持

平台端口格式示例
WindowsCOMxCOM1, COM3, COM19
Linux/dev/ttyXXX/dev/ttyUSB0, /dev/ttyACM0
macOS/dev/tty.xxx/dev/tty.usbserial-1234

🏆 生产状态

✅ 完全实现和测试

当前状态: 生产就绪

  • 完整的串行集成: 使用所有5个工具与真实硬件通信
  • 硬件验证: 测试STM32 + CH343 USB-Serial在COM19上
  • 交互式通信: 完整的双向命令/响应系统
  • 多平台: 支持Windows、Linux、macOS,自动检测
  • 连接管理: 强大的连接处理和适当的清理
  • AI集成: 完美的MCP协议兼容性

📦 技术特性

串行实现

  • 跨平台: 自动端口检测和配置
  • 多种编码: 支持UTF-8、Hex、Binary数据
  • 超时处理: 可配置的读/写超时
  • 连接池: 多个并发串行连接

性能特征

  • 端口发现: 快速枚举可用端口
  • 连接速度: 快速建立连接
  • 数据吞吐量: 高效的数据传输,延迟最小
  • 会话稳定性: 经过长时间操作测试

🙏 致谢

感谢以下开源项目:

📄 许可证

本项目采用MIT许可证。详情见LICENSE文件。


⭐ 如果这个项目对你有帮助,请给我们一个Star!