Skip to main content
Glama
niusulong

MCP Serial Port Tool

by niusulong
README.md
# MCP串口工具 (MCP Serial Port Tool)

基于MCP(Model Context Protocol)协议的串口工具,为AI助手提供与物理串口设备交互的能力。

## 功能特性

- 🔄 基于MCP协议的标准化接口
- 🔌 跨平台串口支持(Windows COM / Linux tty)
- ⚡ 异步事件驱动架构
- 🔒 写入互斥锁保证数据完整性
- 🎯 配置化URC识别与过滤
- 📊 结构化日志与健康检查
- 🧪 完整的测试覆盖

## 快速开始

### 安装依赖

```bash
npm install
```

### 开发模式

```bash
npm run dev
```

### 构建项目

```bash
npm run build
```

### 运行测试

```bash
npm test
```

## 项目结构

```
mcp2serial/
├── src/                    # 源代码
│   ├── core/              # 核心引擎层
│   ├── adapters/          # 硬件适配层
│   ├── services/          # 业务服务层
│   ├── mcp/               # MCP协议层
│   ├── utils/             # 工具模块
│   └── types/             # 类型定义
├── config/                # 配置文件
├── tests/                 # 测试代码
├── docs/                  # 文档
└── examples/              # 示例配置
```

## API接口

### 串口操作

- `serial.open` - 打开串口
- `serial.close` - 关闭串口
- `serial.write` - 写入数据并读取响应
- `serial.list` - 获取可用串口列表
- `serial.status` - 查询串口状态

### 通知

- `serial.report` - 异步事件通知(URC、错误、状态变化)

### 健康检查

- `health.status` - 获取系统健康状态
- `health.metrics` - 获取性能指标

### 日志

- `trace.get_log` - 获取日志记录

## 配置说明

主要配置文件位于 `config/` 目录:

- `default.yaml` - 默认配置
- `urc-patterns.yaml` - URC模式配置

详细配置说明请参考 [配置文档](docs/CONFIGURATION.md)

## 开发指南

### 代码规范

项目使用ESLint和TypeScript严格模式,请确保代码符合规范:

```bash
npm run lint
npm run lint:fix
```

### 测试

```bash
# 运行所有测试
npm test

# 监视模式
npm run test:watch

# 覆盖率报告
npm run test:coverage
```

## 许可证

MIT License

## 贡献

欢迎提交Issue和Pull Request!