mcpField
O
Outlook Mail + Calendar + OneDrive + Sharepoint

Outlook Mail + Calendar + OneDrive + Sharepoint

本地服务
github.com/Norcim133生产力1666 周前更新

关于 Outlook Mail + Calendar + OneDrive + Sharepoint

OutlookMCPServer 通过 Microsoft Graph 将 Claude Desktop 等 MCP 兼容 Agent 连接到 Microsoft 365 邮件、日历、OneDrive 和 SharePoint。项目面向 macOS 本地运行,需 Azure 应用注册及租户管理员授权。

主要功能

  1. 01撰写、搜索、筛选和分析邮件
  2. 02管理日历事件与邀请
  3. 03搜索 OneDrive 文件并查看元数据
  4. 04搜索 SharePoint 文件并查看元数据

适用场景

  1. 01查看和整理 Microsoft 365 收件箱
  2. 02查找和更新日历事件
  3. 03搜索 OneDrive 或 SharePoint 文件

MCP 相关

通过 Microsoft Graph 向 Claude Desktop 和其他 MCP 兼容 Agent 提供 Microsoft 365 邮件、日历、OneDrive 与 SharePoint 操作。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

OutlookMCPServer

这是一个 MCP 服务,通过 Microsoft Graph API 让 Claude Desktop 访问你的 Microsoft 365 邮件、日历和文件。


✨ 功能

  • ✅ 邮件访问:在 Claude 或任何兼容 MCP 的 Agent 中撰写、回复、整理、搜索、筛选和分析收件箱
  • ✅ 日历支持:查找邀请、列出事件、撰写/更新/发送事件
  • ✅ OneDrive 支持:搜索文件、获取文件元数据
  • ✅ Sharepoint 支持:加载驱动器、搜索文件、获取文件元数据

🧱 技术栈

  • msgraph(现代 Microsoft Graph SDK)
  • azure.identity,搭配 DeviceCodeCredential 和 TokenCachePersistenceOptions
  • FastMCP — 简单的 MCP 兼容服务接口
  • uv — 快速的 Python 依赖项和环境管理工具

⚙️ 要求

目前,此项目面向以下环境构建:

  • 在 macOS 上本地运行
  • 与 Claude Desktop 搭配使用
  • 使用 在 Azure 注册的应用程序进行身份验证

⚠️ 你必须拥有 Azure 租户的管理员访问权限才能完成配置 — 应用注册需要获得 Microsoft Graph 范围(例如 Mail.Read、Calendars.Read)的许可,而在大多数组织中,默认情况下用户无法授予此类许可。


🚀 开始使用

克隆代码仓库并进入该目录

git clone https://github.com/Norcim133/OutlookMCPServer.git
cd OutlookMCPServer

设置环境

uv venv
uv sync

使用 MCP Inspector 在本地运行

mcp dev main.py (expect errors)

在尝试于 Claude 中调试之前,先在 Inspector 中让程序正常运行会容易得多。


🔐 身份验证设置

运行应用程序之前,你需要进行以下设置:

  1. 在项目根目录中创建一个 auth_cache 文件夹(见注释):
mkdir -p auth_cache
  1. 在项目根目录中创建一个 .env 文件
touch .env
  1. 在 .env 中添加以下内容:
echo "AZURE_CLIENT_ID=<your-id-from-Azure-portal-here>" > .env
echo "AZURE_TENANT_ID=<your-id-from-Azure-portal-here>" >> .env
echo "AZURE_GRAPH_SCOPES=User.Read Mail.Read Mail.Send Mail.ReadWrite" >> .env

注意:文件服务还需要其他 .env 值 注意:首次运行时,应用程序将通过 DeviceCodeCredential 流程进行身份验证;如果成功,它会自动在 auth_cache 文件夹中创建 auth_record.json。

你必须拥有 Azure 租户的管理员访问权限,才能注册具有这些权限的应用程序。

Claude for Desktop 集成

若要与 Claude Desktop 集成,请将以下内容添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "outlook": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "azure-identity,mcp[cli],msgraph-core,msgraph-sdk",
        "mcp",
        "run",
        "/absolute/path/to/OutlookMCPServer"
      ]
    }
  }
}

在 Claude Desktop 中,可以通过打开 Settings/Developer/Edit Config 找到该 json 文件。

注意:你可能需要在 "command" 中将 "uv" 替换为绝对路径

每次更改配置或服务代码后,都要重启 Claude Desktop。

📦 文件夹结构

.
├── README.md
├── main.py
├── settings.py
├── auth_cache/
│   └── auth_record.json
├── mcpserver/
│   └── graph/
│       ├── __init__.py
│       ├── calendar_service.py
│       ├── controller.py
│       ├── file_service.py
│       ├── mail_service.py
│   ├── __init__.py
│   ├── auth_wrapper.py
│   ├── context_manager.py
│   ├── mail_query.py
│   ├── message_info.py
│   └── server.py
├── tests/
├── .env
├── __init__.py
├── main.py

📌 路线图

  • 邮件集成(已完成)
  • 在 Claude Desktop 中进行身份验证(已完成)
  • 日历集成(已完成)
  • OneDrive 集成(已完成)
  • Sharepoint 集成(已完成)

📄 许可证

MIT

版权所有 (c) 2024 Enthoosa AI

特此免费授予任何获得本软件及相关文档文件(“软件”)副本的人不受限制地处理本软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售本软件副本的权利,以及允许获得本软件的人这样做的权利,但须遵守以下条件:

上述版权声明和本许可声明应包含在本软件的所有副本或实质性部分中。

本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途适用性和非侵权性的保证。在任何情况下,作者或版权持有人均不对因本软件或本软件的使用或其他交易而引起、产生或与之相关的任何索赔、损害或其他责任负责,无论该责任是基于合同、侵权还是其他原因。

评论

支持 Markdown

第一次接触 MCP?

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

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