内容
# AGH 邮件 MCP 服务器
一个小型 [MCP] 服务器,允许 **Claude** 从您的 AGH 邮箱(`poczta.agh.edu.pl`)读取和发送电子邮件。
询问 Claude 类似的问题,如 *"有新邮件吗"* 或 *"回复教授说我会参加"*。
> **状态:** 使用 **Claude Desktop** 的本地使用完全支持,本 README 涵盖了这一点。远程托管(使其在 Claude 移动/网页应用或 Cowork 中工作)尚不支持。
---
## 工具列表
| 工具 | 功能 |
|---|---|
| `get_unread_emails` | 列出未读消息 |
| `get_email_body` | 获取一条消息的全文 |
| `search_emails` | 按发件人、主题和/或日期搜索 |
| `mark_as_read` | 将消息标记为已读 |
| `send_email` | 从您的 AGH 地址发送邮件(仅在确认后) |
| `get_folders` | 列出邮箱中的所有 IMAP 文件夹 |
---
## 先决条件
- Python 3.10 或更新版本
- 一个 AGH 邮箱,位于 `poczta.agh.edu.pl`
- 已安装 Claude Desktop
---
## 设置
### 步骤 1 - 生成 AGH 应用密码
1. 登录 <https://poczta.agh.edu.pl>
2. 进入 **Ustawienia → Hasła do aplikacji**
3. 输入密码授权,命名新密码
4. 复制生成的密码(您只会看到一次)
### 步骤 2 - 克隆和安装
```bash
git clone https://github.com/Nikodem5/agh-mcp.git
cd agh-mcp
python -m venv .venv
(激活虚拟环境)
pip install -r requirements.txt
```
### 步骤 3 - 配置您的凭证
复制示例文件并填写您的两个值:
```bash
cp .env.example .env # Windows PowerShell: Copy-Item .env.example .env
```
编辑 `.env`:
```env
AGH_EMAIL=123456@student.agh.edu.pl
AGH_APP_PASS=步骤 1 中的应用密码
```
### 步骤 4 - 连接到 Claude Desktop
打开您的 Claude Desktop 配置文件(如果它不存在,请创建它):
添加一个指向 `server.py` 绝对路径的条目
```json
{
"mcpServers": {
"agh-mail": {
"command": "python",
"args": ["/绝对路径/到/agh-mcp/server.py"]
}
}
}
```
完全退出并重新打开 Claude Desktop。
---
## 扩展:“大学代理”想法
这是一个基础。每个新功能都只是一个带有 `@mcp.tool()` 装饰器的 Python 函数。想法:
- `get_calendar` — 从 USOS 拉取您的 AGH 时间表
- `check_grades` — 监视 USOS 以获取新的成绩条目
- `get_deadlines` — 解析 UPeL 电子学习平台以获取即将到来的截止日期
- `search_library` — 查询 AGH 图书馆目录
---
## 项目结构
```
agh-mcp/
├── server.py # MCP 服务器(所有工具都位于此处)
├── requirements.txt # mcp + python-dotenv
├── .env.example # 模板 — 复制到 .env 并填写
├── .env # 您的机密(git-ignored,永远不会提交)
├── .gitignore
├── cowork-skill-morning-briefing.md # 可选的每日摘要技能
└── README.md
```