内容
# Guardmail
[](https://smithery.ai/servers/afluffysquirrel/mail-guard)

具有 LLM Guard 保护的安全电子邮件服务,ClamAV 附件扫描,可配置的垃圾邮件过滤,LLM 代理的 MCP 服务器和 React 网络用户界面。
## 架构
参见 [`design.md`](./design.md) 和 [`requirements.md`](./requirements.md)。
| 软件包 | 描述 |
| --------------------- | ------------------------------------------------------------------------ |
| `packages/shared` | 共享的 TypeScript 类型和帮助函数 |
| `packages/api` | Hono REST API 服务器(身份验证,电子邮件,设置,电子邮件处理管道) |
| `packages/mcp-server` | LLM 代理的 MCP 服务器(标准输入/输出 + HTTP/SSE) |
| `packages/web` | React + Vite + Tailwind 单页应用 |
| `docker/llm-guard` | 封装 `llm-guard` 的 Python FastAPI 服务 |
外部服务(通过 Docker Compose):PostgreSQL,Redis,ClamAV,LLM Guard。
## 快速开始(本地)
```bash
pnpm install
cp .env.example .env # 如有需要,请编辑
pnpm -r run build # 类型检查 + 构建所有软件包
pnpm -r test # 运行单元测试(无需 Docker)
# 启动依赖服务:
cd docker && docker compose up -d
pnpm --filter @guardmail/api db:migrate # 创建数据库架构
pnpm --filter @guardmail/api db:seed # 创建演示用户(demo / demo-password-123)
# 在开发环境中运行服务:
pnpm --filter @guardmail/api dev # API 在 :3000
pnpm --filter @guardmail/mcp-server dev # MCP 在标准输入/输出(或 MCP_TRANSPORT=http :3001)
pnpm --filter @guardmail/web dev # 网络用户界面 在 :5173
```
## API
参见 [`design.md`](./design.md) 获取完整的端点表格。除 `/api/auth/*` 和 `/api/health` 之外的所有端点都需要 `Bearer` JWT。
## MCP 服务器
暴露 8 种工具(`send_email`,`list_inbox`,`list_spam`,`list_quarantine`,`get_email`,`register_user`,`update_spam_settings`,`update_security_settings`)和 5 种资源(`guardmail://inbox`,`guardmail://spam`,`guardmail://quarantine`,`guardmail://settings/spam`,`guardmail://settings/security`)。通过 `X-API-Key` 头或 `MCP_API_KEY` 环境变量进行身份验证。
## 测试状态
| 软件包 | 套件 | 测试 |
| ----------- | ------ | ----- |
| shared | 3 | 29 |
| api | 9 | 56 |
| mcp-server | 3 | 36 |
| web | 1 | 1 |
| smtp-server | 1 | 2 |
**总计:17 套件,124 个测试**(全部通过,无需 Docker)。
集成测试(`packages/api/tests/integration/`)需要实时 Docker 服务,默认情况下不运行在 CI 中。