关于 outlook
olk 是一个面向 Microsoft Outlook 与 OneDrive 的命令行工具和 MCP 服务,通过 Microsoft Graph 访问邮件、日历、联系人、任务和文件。它同时支持个人 Outlook.com 账户和企业版 Microsoft 365 账户,适合需要在终端或脚本中处理办公数据的用户。
主要功能
- 01邮件列出、搜索、发送与回复
- 02日历查看与联系人搜索
- 03待办任务列表管理
- 04OneDrive 文件浏览
- 05JSON、TSV 等脚本友好输出
- 06MCP 工具按需开启写入权限
适用场景
- 01在脚本中批量读取邮件主题和发件人
- 02在命令行中起草带内嵌图片的 HTML 邮件
- 03为 AI Agent 提供受限的 Outlook 数据访问
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
40收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| out | string | 否 | 下载文件的输出目录 |
| concise | boolean | 否 | 删除较大的自由文本字段(邮件/事件/任务正文、预览、与会者列表),以减小负载。 |
| event-id | string | 是 | 事件 ID |
| attachment-id | string | 是 | 附件 ID |
详细介绍
olk — 在终端中使用 Microsoft Outlook
olk 是一个可编写脚本的 CLI 和 MCP 服务,可通过 Microsoft Graph 管理 Outlook 邮件、日历、联系人、任务和 OneDrive。它适用于个人 Outlook.com 账户和企业 Microsoft 365 账户。
安装
brew install rlrghb/tap/olk
# or
go install github.com/rlrghb/olkcli/cmd/olk@latest
npm 包名为 olkcli;安装后的命令为 olk:
npm install -g olkcli
如果 macOS 在升级后要求访问 Keychain,请参阅 macOS 说明。
快速开始
olk auth login
olk auth status
olk mail list --json --results-only --select id,subject,from
olk mail search 'from:[email protected] subject:urgent'
olk calendar view --days 7
olk contacts search "Alex"
olk todo lists list
olk drive ls
对于工作或学校账户以及仅限企业使用的功能:
olk auth login --enterprise
常用命令
| 需求 | 命令 |
|---|---|
| 检查已登录账户 | olk auth status 或 olk whoami |
| 查找邮件 ID 和主题 | olk mail list --json --results-only --select id,subject,from |
| 搜索邮件 | olk mail search "from:[email protected] subject:urgent" |
| 查看接下来一周 | olk calendar view --days 7 |
| 搜索联系人 | olk contacts search "Alex" |
| 列出任务列表 | olk todo lists list |
| 浏览 OneDrive | olk drive ls |
| 发送邮件 | olk mail send --to [email protected] --subject "Hi" --body "Hello" |
| 撰写包含额外抄送对象的全部回复草稿 | olk mail reply <ID> --reply-all --draft --body "$(cat reply.txt)" --cc [email protected] |
| 撰写带内嵌图片的 HTML 草稿 | olk mail drafts create --to [email protected] --subject "Steps" --html --body '<img src="cid:steps">' --inline steps=steps.png |
| 同步更改 | olk changes --json |
| 在脚本中使用 JSON | olk mail list --json --results-only |
| 用作 MCP 服务 | olk mcp |
所有命令和标志请参阅命令参考。
HTML 草稿中的内嵌图片
在 HTML 中使用 cid: URL,并通过可重复使用的 --inline CID=PATH 标志提供对应图片。这适用于新草稿,以及真正的线程回复或全部回复草稿:
olk mail reply <ID> --draft --html \
--body '<p>See both images:</p><img src="cid:logo"><img src="cid:steps">' \
--inline logo=logo.png --inline steps=steps.png
olk mail drafts create --to [email protected] --subject "Instructions" --html \
--body '<p>Follow these steps:</p><img src="cid:steps">' \
--inline steps=steps.png
每个 CID 都必须唯一,并且在 HTML 中有所引用。文件必须是图片,且每个文件都不得超过 3 MB,这是 Microsoft Graph 简单附件的大小限制。草稿命令不会发送邮件;立即发送和转发不接受 --inline。
输出与脚本编写
结果写入 stdout;诊断信息和提示写入 stderr。
olk mail list --json --results-only | jq '.[].subject'
olk contacts list --plain
输出格式包括 JSON(--json)、TSV(--plain),以及默认的对齐表格。使用 --concise 可省略较大的正文或预览内容;在支持的情况下,使用 --select 可限制字段。请参阅脚本编写与同步。
安全默认设置
- 对无人值守的只读运行,请使用
--no-write --no-send --no-input。 - MCP 提供经过筛选的工具;如需进行更改,必须明确选择启用。
- 外部邮件、日历、联系人和文件文本可使用
--wrap-untrusted包装,以便安全地供 Agent 使用。 - 刷新令牌存储在 OS 钥匙串中;访问令牌仅保留在内存中。
在连接 Agent 或分享日志之前,请阅读安全与隐私指南。
文档
贡献
make build
make test
make lint
有关仓库结构、验证、CI 和发布详情,请参阅开发与发布。
许可证
请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。