OutlookMCP服务器
该项目是一个MCP服务器,允许Claude Desktop使用Microsoft Graph API访问您的Microsoft 365邮件、日历和文件。
______________________________________________________________________
✨ 特性
- ✅ 邮件访问:从Claude或任何兼容MCP的代理撰写、回复、排序、搜索、过滤和分析您的收件箱
- ✅ 日历支持:查找邀请、列出事件、撰写/更新/发送事件
- ✅ OneDrive支持:搜索文件,获取文件元数据
- ✅ Sharepoint支持:加载驱动器、搜索文件、获取文件元数据
______________________________________________________________________
🧱 技术栈
msgraph(现代Microsoft Graph SDK)azure.identity随着DeviceCodeCredential和TokenCachePersistenceOptionsFastMCP--简单的MCP兼容服务器接口uv--快速Python依赖和环境管理
______________________________________________________________________
⚙️ 需求
目前,这是为了:
- 在本地运行 macOS
- 与……一起使用 克劳德桌面版
- 使用身份验证 Azure注册应用程序
⚠️ 你必须有 Azure租户的管理员访问权限 要配置此功能,应用程序注册需要获得Microsoft Graph范围的同意(例如。Mail.Read,Calendars.Read),即 用户不同意 在大多数组织中默认情况下。
______________________________________________________________________
🚀 入门指南
克隆存储库并导航到它
git clone https://github.com/Norcim133/OutlookMCPServer.git
cd OutlookMCPServer设置环境
uv venv
uv sync使用MCP检查器在本地运行
mcp dev main.py (expect errors)在尝试在Claude中调试之前,在Inspector中使事情正常工作要容易得多。
______________________________________________________________________
🔐 身份验证设置
在运行应用程序之前,您需要设置以下内容:
- 在项目根目录中创建auth_cache文件夹(请参阅注释):
mkdir -p auth_cache- 在项目根目录中创建.env文件
touch .env- 将以下内容添加到.env中:
echo "AZURE_CLIENT_ID=" > .env
echo "AZURE_TENANT_ID=" >> .env
echo "AZURE_GRAPH_SCOPES=User.Read Mail.Read Mail.Send Mail.ReadWrite" >> .env注意:文件服务需要其他.env值 注意:首次运行时,应用程序将使用DeviceCodeCredential流进行身份验证,如果成功,将在auth_cache文件夹中自动创建auth_record.json。
您必须具有Azure租户的管理员权限才能注册具有这些权限的应用程序。
______________________________________________________________________
Claude桌面集成
要与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文件。
注意:您可能需要在“命令”中将“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______________________________________________________________________
📌 路线图
- 邮件集成(已完成)
- 在克劳德桌面上进行身份验证(已完成)
- 日历集成(已完成)
- OneDrive集成(已完成)
- Sharepoint集成(已完成)
______________________________________________________________________
📄 许可证
麻省理工学院
版权所有(c)2024 Enthoosa AI
特此免费向任何获得副本的人授予许可 本软件和相关文档文件(“软件”),以处理 在软件中不受限制,包括但不限于权利 使用、复制、修改、合并、发布、分发、再许可和/或销售 软件的副本,并允许软件的接收者 根据以下条件提供:
上述版权声明和本许可声明应包含在所有 软件的副本或实质性部分。
软件按“原样”提供,不提供任何形式的明示或明示担保 隐含的,包括但不限于适销性保证, 适用于特定目的且不造成伤害。在任何情况下 作者或版权持有人对任何索赔、损害赔偿或其他 因以下原因产生的责任,无论是在合同、侵权或其他诉讼中, 出于或与软件、使用或其他交易有关 软件。

