Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@UART MCP Serverlist available serial ports"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
UART MCP Server
English | 中文
为 AI 助手提供串口通信能力的 MCP Server。
功能特性
串口管理 - 枚举、打开、关闭和配置串口设备
数据通信 - 支持文本和二进制模式的数据收发
终端会话 - 创建交互式终端会话,支持命令发送和输出读取
热配置 - 支持在不关闭串口的情况下修改配置参数
自动重连 - 设备断开后自动尝试重新连接
快速开始
提示词配置
为了让 AI 助手优先使用 UART 工具操作串口,建议在项目提示词文件中添加以下内容:
始终使用 uart MCP 工具进行串口操作,包括列出串口、打开/关闭串口、发送/接收数据等。不同工具的提示词文件位置:
工具 | 提示词文件 |
Claude Code |
|
Factory Droid |
|
Cursor |
|
Windsurf |
|
Claude Code
claude mcp add uart -- uvx --from git+https://github.com/donnel666/uart-mcp.git uart-mcpCodex CLI
在 ~/.codex/config.toml 中添加:
[mcp_servers.uart]
type = "stdio"
command = "uvx"
args = ["--from", "git+https://github.com/donnel666/uart-mcp.git", "uart-mcp"]Factory Droid
在项目 .factory/settings.json 或全局 ~/.factory/settings.json 中添加:
{
"mcpServers": {
"uart": {
"command": "uvx",
"args": ["--from", "git+https://github.com/donnel666/uart-mcp.git", "uart-mcp"]
}
}
}Claude Desktop
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"uart": {
"command": "uvx",
"args": ["--from", "git+https://github.com/donnel666/uart-mcp.git", "uart-mcp"]
}
}
}可用工具
串口管理
工具 | 描述 |
| 列出所有可用串口设备 |
| 打开指定串口(支持配置波特率、数据位、校验位等) |
| 关闭指定串口 |
| 修改已打开串口的配置(热更新) |
| 获取串口当前状态和配置信息 |
数据通信
工具 | 描述 |
| 向串口发送数据(支持文本/二进制模式) |
| 从串口读取数据(支持文本/二进制模式) |
终端会话
工具 | 描述 |
| 创建终端会话(支持配置换行符、本地回显) |
| 关闭终端会话 |
| 向终端发送命令 |
| 读取终端输出缓冲区 |
| 列出所有活动会话 |
| 获取会话详细信息 |
| 清空会话输出缓冲区 |
串口权限
请确保本工具有权限访问串口设备:
Linux:
# 方法1:临时赋予权限
sudo chmod 777 /dev/ttyUSB0
# 方法2:将用户加入 dialout 组(推荐,重新登录后生效)
sudo usermod -aG dialout $USERmacOS:
# 将用户加入 wheel 组
sudo dseditgroup -o edit -a $USER -t user wheelWindows: 通常无需额外配置,COM 端口默认可访问。
使用示例
基础串口通信
使用
list_ports查看可用串口使用
open_port打开串口,如/dev/ttyUSB0或COM1使用
send_data发送数据使用
read_data读取响应使用
close_port关闭串口
终端会话模式
使用
open_port打开串口使用
create_session创建终端会话使用
send_command发送命令使用
read_output读取命令输出使用
close_session关闭会话
串口配置参数
参数 | 默认值 | 可选值 |
波特率 | 115200 | 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600 |
数据位 | 8 | 5, 6, 7, 8 |
校验位 | N (无) | N (无), E (偶), O (奇), M (标记), S (空格) |
停止位 | 1 | 1, 1.5, 2 |
流控制 | none | none, xonxoff, rtscts, dsrdtr |
配置文件
UART MCP 的配置文件位于:
Linux/macOS:
~/.uart-mcp/Windows:
%APPDATA%\.uart-mcp\
配置文件说明
文件 | 说明 |
| 全局配置(波特率、超时、流控等默认参数) |
| 串口黑名单(支持精确匹配和正则表达式) |
config.toml 示例
[serial]
baudrate = 115200
bytesize = 8
parity = "N"
stopbits = 1.0
[timeout]
read_timeout = 1000
write_timeout = 1000
[flow_control]
xonxoff = false
rtscts = false
dsrdtr = false
[reconnect]
auto_reconnect = true
reconnect_interval = 5000
[logging]
log_level = "INFO"blacklist.conf 示例
# 黑名单配置(每行一个规则)
# 支持精确匹配和正则表达式
# 精确匹配
/dev/ttyS0
# 正则表达式匹配所有 COM 端口
COM[0-9]+注意: 配置文件权限应为 600(仅所有者可读写),否则会报权限错误。
本地开发
# 克隆仓库
git clone https://github.com/donnel666/uart-mcp.git
cd uart-mcp
# 安装依赖
uv sync --dev
# 运行服务器
uv run uart-mcp
# 运行测试
uv run pytest
# 代码检查
uv run ruff check src/
uv run mypy src/系统要求
Python 3.13+
支持的操作系统: Linux, macOS, Windows
许可证
MIT License
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.