mcpField
O
outlook

outlook

本地服务
github.com/rlrghb通信协作214 天前更新

关于 outlook

olk 是一个面向 Microsoft Outlook 与 OneDrive 的命令行工具和 MCP 服务,通过 Microsoft Graph 访问邮件、日历、联系人、任务和文件。它同时支持个人 Outlook.com 账户和企业版 Microsoft 365 账户,适合需要在终端或脚本中处理办公数据的用户。

主要功能

  1. 01邮件列出、搜索、发送与回复
  2. 02日历查看与联系人搜索
  3. 03待办任务列表管理
  4. 04OneDrive 文件浏览
  5. 05JSON、TSV 等脚本友好输出
  6. 06MCP 工具按需开启写入权限

适用场景

  1. 01在脚本中批量读取邮件主题和发件人
  2. 02在命令行中起草带内嵌图片的 HTML 邮件
  3. 03为 AI Agent 提供受限的 Outlook 数据访问

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"rlrghb-outlook": {
"command": "npx",
"args": [
"-y",
"olkcli"
]
}
}
}
启动命令npx -y olkcli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmolkcli1.16.1

工具

40

收录的工具列表 · 更新于 2 周前

参数类型必填说明
outstring否下载文件的输出目录
conciseboolean否删除较大的自由文本字段(邮件/事件/任务正文、预览、与会者列表),以减小负载。
event-idstring是事件 ID
attachment-idstring是附件 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
浏览 OneDriveolk 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
在脚本中使用 JSONolk 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。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。