README
🚀 OutlookMCPServer
该项目是一个MCP服务器,借助Microsoft Graph API,能让Claude Desktop访问您Microsoft 365的邮件、日历(即将支持文件访问)。
🚀 快速开始
# 设置环境
uv venv
uv pip install -r uv.lock
# 使用MCP Inspector本地运行
mcp dev main.py(预计会有错误)
在尝试使用Claude进行调试之前,建议先在Inspector中解决问题。
✨ 主要特性
- ✅ 邮件访问:从Claude或其他与MCP兼容的代理中编写、回复、排序、搜索、过滤并分析您的收件箱
- 🔜 日历支持:按日期列出,编写,删除邮件(即将推出:更新邮件、搜索)
- 🚧 OneDrive支持:未来的潜在发展方向,在邮件和日历功能稳定后
🧱 技术栈
msgraph(现代Microsoft Graph SDK)azure.identity使用DeviceCodeCredential和TokenCachePersistenceOptionsFastMCP— 简单的MCP兼容服务器接口uv— 快速的Python依赖和环境管理工具
⚙️ 运行要求
该项目当前版本适用于:
- macOS 本地运行
- 与Claude Desktop一起使用
- 使用通过Azure门户注册的应用程序进行身份验证
⚠️ 重要提示
您必须拥有Azure租户的管理员访问权限,才能配置此项目——应用程序注册需要对Microsoft Graph范围(例如
Mail.Read、Calendars.Read)进行同意,默认情况下大多数组织中的用户无法自行同意。
🔐 身份验证设置
在运行应用程序之前,您需要完成以下步骤:
- 在项目根目录下创建一个
auth_cache文件夹:
mkdir -p auth_cache
- 在项目根目录下创建一个
.env文件:
touch .env
- 向
.env文件中添加以下内容:
echo "AZURE_CLIENT_ID=<在Azure门户中获取的您的ID>" > .env
echo "AZURE_TENANT_ID=<在Azure门户中获取的您的ID>" >> .env
echo "AZURE_GRAPH_SCOPES=User.Read;Mail.Read;Calendars.Read" >> .env
💻 使用示例
基础用法
要在Claude Desktop中使用此项目,请将以下内容添加到Claude/settings.json文件:
{
"outlook-mcp-server": {
"enabled": true,
"config": {
"serverUri": "http://localhost:8080"
}
}
}
注意:如果需要,可能需要替换serverUri的路径。
📁 项目结构
你的项目目录应包含以下文件和文件夹:
- main.py # 主程序文件
- requirements.txt # 依赖管理文件
- .env # 环境变量配置文件
- auth_cache/ # 身份验证缓存文件夹
🌟 路线图
- 当前功能:
- 邮件收发
- 日历事件查看
- 即将推出的功能:
- 更新邮件
- 创建和管理日历事件
- 未来计划:
- OneDrive文件访问
📄 许可证
本项目遵守MIT许可证。请参阅LICENSE文件以获取详细信息。
版权所有 (c) [年份] [您的姓名]
保留所有权利
许可在满足以下条件的情况下授予:
1. 您必须保留版权声明和此许可声明。
2. 您不得将本软件用于商业用途,除非获得明确授权。
无明示或暗示的其他保证。作者或版权持有人不对任何索赔、损害或其他责任负责。
Scan to contact