# 客服容器云自动提测 MCP Server

这是一个基于 Model Context Protocol (MCP) 的集成测试服务，用于自动化执行代码的集成测试流程。

## 项目概述

该项目提供了一个 MCP 服务器，可以通过命令行和 HTTP 两种方式与之交互，帮助开发团队自动化执行代码的集成测试流程，包括特性验证、提测、流水线执行和最终集成。

## 技术栈

- TypeScript
- Node.js (>=18.0.0)
- Model Context Protocol (MCP) SDK
- Puppeteer (浏览器自动化)
- Axios (HTTP 客户端)
- Zod (数据验证)

## 项目结构

```
.
├── src/                    # 源代码目录
│   ├── index.ts            # MCP命令行服务器入口
│   ├── utils/              # 工具函数
│   │   └── index.ts        # 集成测试核心功能实现
│   └── types/              # 类型定义
│       └── index.d.ts      # 类型声明文件
├── scripts/                # 脚本目录
│   ├── publish.js          # Node.js发布脚本
│   └── README.md           # 发布脚本使用说明
├── dist/                   # 编译输出目录
├── package.json            # 项目配置和依赖
├── tsconfig.json           # TypeScript配置
└── README.md               # 项目说明文档
```

## 功能特性

- 提供命令行交互方式
- 自动化执行特性验证
- 自动提交测试请求
- 流水线执行监控
- 最终集成自动化
- 详细的测试结果报告

## 环境要求

- Node.js >= 18.0.0
- 需要设置环境变量:
  - `MCP_USERNAME`: 系统登录用户名
  - `MCP_PASSWORD`: 系统登录密码
  - `MCP_API_BASE_URL`: 测试系统域名

## 安装与使用

### 安装

```bash
# 安装依赖
npm install

# 或使用pnpm
pnpm install
```

### 构建

```bash
npm run build
```

### 运行

#### 命令行模式

```bash
npm start
```

### 开发模式

#### 命令行开发模式

```bash
npm run dev
```

## MCP 工具使用

该服务提供以下 MCP 工具:

### run_integration_test

运行集成测试工具，用于执行代码的集成测试流程。

**参数:**

- `branchName`: 指定要测试的 Git 分支名称

**返回:**

- 成功时返回集成测试的详细结果，包括分支信息、特性验证、提测结果、流水线状态和集成结果
- 失败时返回错误信息

## 发布管理

项目提供了自动化的发布脚本，支持版本更新和 npm 包发布。

### 快速发布

```bash
# 发布patch版本（推荐）
npm run release

# 发布patch版本
npm run publish:patch

# 发布minor版本
npm run publish:minor

# 发布major版本
npm run publish:major

# 发布预发布版本
npm run publish:prerelease

# 模拟运行（测试发布流程）
npm run publish:dry
```

### 发布脚本特性

- ✅ 自动更新版本号（patch/minor/major/prerelease）
- ✅ 自动构建项目
- ✅ 发布到 npm
- ✅ 创建 Git 标签
- ✅ 支持模拟运行
- ✅ 错误回滚机制
- ✅ 彩色输出日志

### 发布前准备

1. 确保已登录 npm：`npm login`
2. 确保代码已提交到 Git 仓库
3. 建议先运行模拟测试：`npm run publish:dry`

详细的发布脚本使用说明请查看：[scripts/README.md](scripts/README.md)

## 配置说明

项目配置主要通过环境变量和代码中的常量进行管理:

- 环境变量(.env 文件):

  - `MCP_USERNAME`: 系统登录用户名
  - `MCP_PASSWORD`: 系统登录密码
  - `MCP_API_BASE_URL`: 测试系统 URL

## 许可证

仅供内部使用，未经授权不得外传。
