Token导航 LogoToken导航TokenDH.com
Outlook OAuth MCP Server logo
安全风控stdio官方级别未说明来源级核验

Outlook OAuth MCP Server

MCP Server

一个支持OAuth2和代理优化工具的Microsoft Outlook远程MCP服务器,适用于邮件、日历和联系人管理。

工具数

22

提示词数

0

GitHub Stars

0

资源数

0
联系人管理TypeScript日程管理邮件管理

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Leonine-Studios

提供方

Leonine-Studios

最后核验

2026/5/17 20:20

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -p 3000:3000 \

详细介绍

实用前景mcp

用于Microsoft Outlook的远程MCP服务器,具有适当的OAuth2和代理优化工具。

特性

  • 符合规范:RFC 9728/8414 OAuth元数据,RFC 7591动态客户端注册
  • 无状态OAuth:由客户端而非服务器管理的令牌——正如OAuth所希望的那样
  • 代理优化工具:工具描述中广泛的快速工程
  • 动态范围:OAuth作用域自动调整为启用的工具
  • 生产就绪:Docker、速率限制、只读模式、工具过滤

快速开始

npm install
npm run build
npm start  # Server at http://localhost:3000

所需环境:

MS365_MCP_CLIENT_ID=your-azure-ad-client-id
MS365_MCP_CLIENT_SECRET=your-azure-ad-client-secret
MS365_MCP_TENANT_ID=your-tenant-id  # or 'common'

Azure AD安装程序

  1. Azure门户 → 微软Entra ID→ 应用注册→ New
  2. 添加委派权限: User.Read, Mail.Read, Mail.ReadWrite, Mail.Send, Calendars.Read, Calendars.ReadWrite, Calendars.Read.Shared, Place.Read.All, People.Read, offline_access
  3. 添加重定向URI: http://localhost:6274/oauth/callback (供MCP检查员使用)
  4. 证书和秘密→ 新客户机密→ 复制值
  5. 将客户端ID、客户端密码和租户ID复制到您的 .env

工具

邮件

list-mail-folders · list-mail-messages · search-mail · get-mail-message · send-mail · create-draft-mail · reply-mail · reply-all-mail · create-reply-draft · create-reply-all-draft · delete-mail-message · move-mail-message

日历

list-calendars · list-calendar-events · search-calendar-events · find-meeting-times · get-calendar-event · get-calendar-view · create-calendar-event · update-calendar-event · delete-calendar-event

人们

lookup-contact-email

房间搜索

对于面对面的会议, find-meeting-times 自动:

  • 获取整个组织中所有可用的会议室
  • 将他们与与会者一起纳入可用性检查中
  • 按地点(城市/建筑)分组免费客房
  • 仅返回带有预订电子邮件地址的可用房间

isOnlineMeeting: false 以启用房间搜索。对于在线会议(默认值: true),团队会议链接会自动生成。

所需范围: Place.Read.All (添加到Azure AD应用程序权限)

配置

变量默认值描述
MS365_MCP_CLIENT_ID必需Azure AD客户端ID
MS365_MCP_CLIENT_SECRET-客户端机密(可选)
MS365_MCP_TENANT_IDcommon租户ID
MS365_MCP_PORT3000服务器端口
MS365_MCP_READ_ONLY_MODEfalse禁用写入操作
MS365_MCP_ENABLED_TOOLSall逗号分隔的工具列表
MS365_MCP_CORS_ORIGIN*CORS起源
MS365_MCP_RATE_LIMIT_REQUESTS30每个窗口的请求
MS365_MCP_RATE_LIMIT_WINDOW_MS60000窗口大小(ms)
MS365_MCP_ALLOWED_TENANTS-仅限于特定租户

码头工人

来自GitHub容器注册表:

docker run -p 3000:3000 \
  -e MS365_MCP_CLIENT_ID=xxx \
  -e MS365_MCP_CLIENT_SECRET=xxx \
  -e MS365_MCP_TENANT_ID=xxx \
  ghcr.io/Leonine-Studios/useful-outlook-mcp:latest

或者在本地构建:

docker build -t useful-outlook-mcp .
docker run -p 3000:3000 \
  -e MS365_MCP_CLIENT_ID=xxx \
  -e MS365_MCP_CLIENT_SECRET=xxx \
  -e MS365_MCP_TENANT_ID=xxx \
  useful-outlook-mcp

端点

端点描述
POST /mcpMCP协议
GET /health健康检查
GET /.well-known/oauth-protected-resourceRFC 9728
GET /.well-known/oauth-authorization-serverRFC 8414
GET /authorizeOAuth(微软代理)
POST /token令牌交换(微软代理)
POST /register动态客户端注册

测试

npm run dev
npx @modelcontextprotocol/inspector  # Connect to http://localhost:3000/mcp

______________________________________________________________________

设计说明

Why another Outlook MCP server?

现有服务器的问题

  1. 遗留架构:作为stdio构建,附加HTTP。这是HTTP原生。
  1. OAuth出错:大多数服务器在服务器端存储令牌。此服务器是无状态的——通过Authorization标头为每个请求传递令牌,从不存储。
  1. 没有思考的工具:典型的服务器在没有指导的情况下1:1映射API端点。代理在实际使用中失败是因为他们不知道API的怪癖或多步骤工作流程。

有什么不同

每个工具包括:

  • 何时使用它与替代品
  • 已知的Graph API怪癖(有很多)
  • 多步骤任务的工作流指导
  • 失败的参数组合

例子: find-meeting-times 解释了电子邮件地址是必需的(名字不起作用),如何使用 search-mail什么 OrganizerUnavailable 意味着,而且 isOrganizerOptional=true 需要用户确认。

已知图形API异常

  • 邮件发件人筛选: eqfrom/emailAddress/address 不可靠--使用 startswith()
  • 邮件收件人筛选:无法使用筛选到/cc/bcc $filter--必须使用 $search
  • 日历组织者筛选: $filter 在组织者电子邮件返回500中--经过筛选的客户端
  • 并发:并行调用可以返回 MailboxConcurrency 错误
  • 搜索+排序: $search 无法与结合 $orderby

许可证

麻省理工学院

目录标签

目录标签

联系人管理TypeScript日程管理邮件管理OAuth2本地部署日历管理代理优化

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Docker

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

22

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauthremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP