OutlookMCPServer

OutlookMCPServer

🚀 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 使用 DeviceCodeCredentialTokenCachePersistenceOptions
  • FastMCP — 简单的MCP兼容服务器接口
  • uv — 快速的Python依赖和环境管理工具

⚙️ 运行要求

该项目当前版本适用于:

  • macOS 本地运行
  • Claude Desktop一起使用
  • 使用通过Azure门户注册的应用程序进行身份验证

⚠️ 重要提示

您必须拥有Azure租户的管理员访问权限,才能配置此项目——应用程序注册需要对Microsoft Graph范围(例如Mail.ReadCalendars.Read)进行同意,默认情况下大多数组织中的用户无法自行同意。

🔐 身份验证设置

在运行应用程序之前,您需要完成以下步骤:

  1. 在项目根目录下创建一个auth_cache文件夹:
mkdir -p auth_cache
  1. 在项目根目录下创建一个.env文件:
touch .env
  1. .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. 您不得将本软件用于商业用途,除非获得明确授权。

无明示或暗示的其他保证。作者或版权持有人不对任何索赔、损害或其他责任负责。
  • 0 关注
  • 0 收藏,7 浏览
  • system 提出于 2025-09-29 03:36

相似服务问题