内容
# UART MCP 服务器
仅限Windows的Python最小可行性产品,用于通过MCP从Codex读取UART日志,同时在小型Tkinter用户界面中显示相同的串行流。
## 功能特点
- 列出可用的Windows COM端口。
- 打开和关闭一个串行端口。
- 选择常见的波特率或输入自定义波特率。
- 在Tkinter窗口中显示最近的UART日志。
- 让Codex通过MCP读取最近的日志。
- 清除日志。
- 发送文本到UART,可选追加CRLF。
## 安装配置
```powershell
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements-dev.txt
pip install -e .
```
## 运行UI
```powershell
python -m uart_mcp_server.app --ui
```
UI支持:
- 可调整大小的接收和发送面板。
- 以ASCII或十六进制显示接收内容。
- 多行一次性发送为ASCII或以空格分隔的十六进制。
- 独立的循环发送区域,支持格式、间隔和重复次数。
- 循环次数为`0`表示无限发送,直到点击`停止`。
十六进制发送格式使用空格分隔的字节:
```text
01 03 00 00 00 02
```
## 运行MCP服务器
```powershell
python -m uart_mcp_server.app --mcp
```
## Codex MCP示例
将以下内容添加到您的Codex `config.toml`文件中,并调整此仓库的路径:
```toml
[mcp_servers.uart]
command = "python"
args = ["-m", "uart_mcp_server.app", "--mcp"]
cwd = "D:\\UART MCP"
startup_timeout_sec = 10
tool_timeout_sec = 30
```
## 注意事项
最小可行性产品一次只打开一个串行端口。Windows通常不允许两个进程同时打开同一个COM端口。