# 微信消息发送服务器

这是一个基于 MCP (Micro Controller Protocol) 的微信消息发送服务器，通过命令行参数可以灵活配置服务器运行模式和日志级别。

## 快速开始

```bash
# 先安装服务
pip install xmcp-server-wxauto

# 以默认配置启动服务器
python -m xmcp-server-wxauto

# 指定日志级别和传输方式
python -m xmcp-server-wxauto --log-level=INFO --transport=sse --port=8080
```

## 命令行参数

### 日志级别 (`--log-level`)
设置服务器的日志输出级别，可选值：
- `DEBUG`：详细的调试信息，用于开发和问题排查
- `INFO`：正常运行的信息，显示关键操作
- `WARNING`：警告信息，可能影响功能但不影响运行
- `ERROR`：错误信息，功能无法正常执行
- `CRITICAL`：严重错误，可能导致程序崩溃

**默认值**：`ERROR`

**示例**：
```bash
python -m xmcp-server-wxauto --log-level=DEBUG
```

### 传输方式 (`--transport`)
设置服务器与客户端之间的通信协议，可选值：
- `stdio`：使用标准输入输出进行通信，适用于进程间通信
- `sse`：使用 Server-Sent Events 进行实时通信，适用于网络环境

**默认值**：`stdio`

**注意**：
- `stdio` 模式下日志不会输出到控制台，避免干扰通信
- `sse` 模式需要指定端口参数

**示例**：
```bash
python -m xmcp-server-wxauto --transport=sse
```

### 服务器端口 (`--port`)
当使用 `sse` 传输方式时，指定服务器监听的端口号。

**默认值**：`8000`

**示例**：
```bash
python -m xmcp-server-wxauto --transport=sse --port=8080
```

## 完整示例

启动一个具有详细日志记录的网络服务器：
```bash
python -m xmcp-server-wxauto --log-level=INFO --transport=sse --port=8080
```

启动一个用于进程间通信的服务器（无日志输出）：
```bash
python -m xmcp-server-wxauto --transport=stdio
```

## 常见问题

1. **为什么 `stdio` 模式下看不到日志？**
   - `stdio` 模式使用标准输入输出进行通信，日志输出会干扰通信协议，因此默认禁用控制台日志。

2. **如何在后台运行服务器？**
   - 可以使用 `nohup` 或 `systemd` 等工具将服务器作为守护进程运行。

3. **端口被占用怎么办？**
   - 使用 `--port` 参数指定其他可用端口，或使用 `lsof` 命令查找并关闭占用端口的进程。

```bash
# 查找占用8000端口的进程
lsof -i:8000

# 终止进程（PID为进程ID）
kill -9 <PID>
```