核心功能
outlook-mcp 是一个生产级 MCP 服务器,专为个人 Microsoft 账户(Outlook.com / Hotmail / Live)设计,通过 Microsoft Graph API 为 AI Agent 提供对邮件、日历、联系人和待办事项的全面读写能力。项目包含 57 个类型安全的工具,覆盖从基础查看到复杂批量处理的完整工作流。
主要能力矩阵
| 模块 | 工具数量 | 核心能力 |
|:---|:---:|:---|
| **邮件管理** | 16 | 收件箱筛选、KQL 搜索、发送/回复/转发、分类标记、Focused Inbox 调优、软删除/永久删除 |
| **日历** | 6 | 事件 CRUD、周期性事件展开、在线会议创建、RSVP 响应 |
| **联系人** | 5 | 分页列表、搜索、完整 CRUD |
| **待办事项** | 5 | 任务列表管理、创建/更新/完成/删除 |
| **草稿箱** | 4 | 草稿生命周期管理,支持后续发送 |
| **附件处理** | 4 | 列表、下载、发送附件(自动处理 >3MB 大文件分片上传) |
| **文件夹管理** | 3 | 创建/重命名/删除(保护系统文件夹) |
| **线程与批量** | 3 | 会话线程获取、`/$batch` 优化的批量分类操作(最多 20 条) |
| **用户与配置** | 6 | 多账户切换、邮件提示预检、分类定义查询 |
显著优势
1. 权限粒度精细:支持 read_only 全局开关及 7 大类别细粒度控制(mail_read, mail_write, mail_triage, calendar_write, contacts_write, tasks_write, drafts_write),可按需最小化授权
2. 安全架构严谨:
3. 生产级优化:/$batch 端点实现批量分类操作,减少 API 调用次数;大附件自动使用 upload session 分片上传
4. 多账户支持:配置文件中可定义多个账户,支持运行时切换
- 零遥测、零本地缓存
- 令牌存储于 OS 密钥环(macOS Keychain / Windows Credential Store)
- BYOID(Bring Your Own ID):用户自建 Azure AD 应用,无共享客户端 ID
局限性与注意事项
| 限制 | 说明 |
|:---|:---|
| **账户类型限制** | v1 仅支持个人 Microsoft 账户,**不支持企业/学校 Entra ID 账户** |
| **前置配置复杂** | 需注册免费 Azure 账户 → 创建 Azure AD 应用 → 本地 CLI 认证,流程约 5-10 分钟 |
| **认证方式** | 必须在宿主环境运行 `outlook-mcp auth` 完成设备码流认证,**不支持 MCP 工具内的交互式认证** |
| **依赖外部服务** | 完全依赖 Microsoft Graph API 可用性,无离线能力 |
| **ID 不透明性** | 所有 Graph ID 为不透明字符串,必须通过 list/search 工具获取,无法预测 |
适用人群
- 重度 Outlook 个人用户:需要 AI 辅助进行邮件分类、日程规划、联系人管理的个体用户
- 自动化工作流开发者:希望构建基于个人邮箱的自动化代理(如智能邮件分拣、会议自动回复、待办同步)
- 隐私敏感用户:重视数据主权,愿意自行管理 Azure 应用凭证,不接受第三方托管授权
常规风险
- 误操作风险:
delete_message默认软删除但支持permanent=true,批量 triage 工具可一次性处理 20 条邮件,需配合read_only模式先行测试 - 凭证泄露风险:
config.json包含 client_id,虽非高敏感但建议权限最小化;需确保持有 Azure 应用的凭据安全 - API 限流风险:Microsoft Graph 存在请求配额,高频批量操作可能触发 429 限流
- 多账户切换状态风险:
outlook_switch_account改变全局状态,并发场景下可能导致意外操作目标账户