返回市场
outlook邮件服务器

outlook邮件服务器

作者:Norcim13313 星标更新:2025-07-22

项目介绍

OutlookMCPServer

这是一个MCP服务器项目,它使Claude Desktop能够通过Microsoft Graph API访问您的Microsoft 365邮件、日历和文件。


✨ 特性

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

🧱 技术栈

  • msgraph(现代Microsoft Graph SDK)
  • azure.identity 使用 DeviceCodeCredentialTokenCachePersistenceOptions
  • FastMCP — 简单的MCP兼容服务器接口
  • uv — 快速Python依赖和环境管理

⚙️ 要求

此项目目前构建为:

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

⚠️ 您必须拥有Azure租户的管理员权限来配置此项目——应用程序注册需要同意Microsoft Graph范围(例如Mail.ReadCalendars.Read),默认情况下在大多数组织中不允许用户同意


🚀 开始使用

克隆仓库并导航到该目录

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

设置环境

uv venv
uv sync

使用MCP Inspector本地运行

mcp dev main.py (预期会有错误)

在尝试在Claude中调试之前,在Inspector中更容易让一切正常工作。


🔐 身份验证设置

在运行应用程序之前,您需要设置以下内容:

  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 Mail.Send Mail.ReadWrite" >> .env

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

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


Claude Desktop集成

要与Claude Desktop集成,请在您的claude_desktop_config.json中添加以下内容:

{
  "mcpServers": {
    "outlook": {
      "command": "uv",
      "args": [
        "run",
        "--with",
        "azure-identity,mcp[cli],msgraph-core,msgraph-sdk",
        "mcp",
        "run",
        "/绝对路径到/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) 2 0 2 4 Enthoosa AI

在此授权任何人免费获得本软件及其相关文档文件(以下简称“软件”)的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,以及向其提供软件的人赋予上述权利,但须遵守以下条件:

上述版权声明和本许可通知应包含在所有副本或软件的重要部分中。

软件按“原样”提供,不附带任何形式的保证,包括但不限于适销性、特定用途适用性和非侵权性的默示保证。在任何情况下,作者或版权持有人都不对因软件或其使用或其他交易而引起的任何索赔、损害或其他责任承担任何责任,无论是合同行为、侵权行为还是其他行为。