mcpField
O
Owa Exchange Mcp

Owa Exchange Mcp

本地服务
github.com/nhype通信协作1136 周前更新

关于 Owa Exchange Mcp

OWA Exchange MCP 是连接 Microsoft Exchange / OWA 部署的 MCP 服务,面向需要通过 AI Agent 管理邮件与日历的用户。它提供邮件、会议、目录搜索、空闲时间查询和会议分析工具,并支持加密凭据与会话 Cookie。

主要功能

  1. 01邮件读取、发送与整理
  2. 02日历会议管理
  3. 03Active Directory 人员搜索
  4. 04查找个人或多人空闲时段
  5. 05会议统计与联系人分析
  6. 06加密凭据和会话 Cookie

适用场景

  1. 01检索、回复或整理 Exchange 邮件
  2. 02安排会议并查看参与者空闲时间
  3. 03搜索目录中的人员
  4. 04分析团队会议频率与联系情况

MCP 相关

它向 MCP 客户端提供 30 个 Exchange / OWA 工具,涵盖邮件、日历、目录、文件夹、可用时间及会议分析。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"owa-exchange": {
"command": "uvx",
"args": [
"exchange-mcp-server"
],
"env": {
"EXCHANGE_OWA_URL": "<EXCHANGE_OWA_URL>",
"EXCHANGE_COOKIE_FILE": "<EXCHANGE_COOKIE_FILE>"
}
}
}
}
启动命令uvx exchange-mcp-server
需要配置的环境变量
EXCHANGE_OWA_URLBase URL of your OWA instance (e.g. https://owa.example.com)
EXCHANGE_COOKIE_FILEPath to session cookies file (default: session-cookies.txt)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiexchange-mcp-server1.0.1

工具

还没有获取到工具列表

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

详细介绍

OWA Exchange MCP 服务

适用于任何 Microsoft Exchange / OWA(Outlook Web Access)部署的 MCP(Model Context Protocol)服务。通过 30 个工具,让 LLM Agent 能够访问电子邮件、日历、目录搜索、文件夹、可用时间和会议分析。

适用于任何提供 OWA 的本地部署或托管 Exchange 服务。

快速开始

# Copy and edit the MCP config with your OWA URL
cp .mcp.json.example .mcp.json

# One-time: set up encrypted credentials
python3 login.py --setup

# Login (opens headless browser, 2FA approval required)
python3 login.py

# Install the MCP server
pip install -e .

安装

添加到 MCP 客户端配置中。将 https://owa.example.com 替换为你的 OWA URL。

Claude Desktop(~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "exchange": {
      "command": "uvx",
      "args": ["exchange-mcp-server"],
      "env": {
        "EXCHANGE_OWA_URL": "https://owa.example.com"
      }
    }
  }
}

Cursor(.cursor/mcp.json):

{
  "mcpServers": {
    "exchange": {
      "command": "uvx",
      "args": ["exchange-mcp-server"],
      "env": {
        "EXCHANGE_OWA_URL": "https://owa.example.com"
      }
    }
  }
}

Claude Code(.mcp.json):

{
  "mcpServers": {
    "exchange": {
      "command": "uvx",
      "args": ["exchange-mcp-server"],
      "env": {
        "EXCHANGE_OWA_URL": "https://owa.example.com"
      }
    }
  }
}

配置

变量必填描述
EXCHANGE_OWA_URL是OWA 实例的基础 URL
EXCHANGE_COOKIE_FILE否会话 Cookie 文件的路径(默认值:session-cookies.txt)

登录

选项 A:通过 MCP 工具(推荐)

login 工具会在 MCP 会话中处理凭据设置和身份验证,无需另开终端。

首次使用(设置 + 登录):

login(master_password="...", username="[email protected]", password="...")

后续登录(解密已存储的凭据):

login(master_password="...")
选项 B:通过 CLI
python3 login.py --setup   # First time: save encrypted credentials
python3 login.py            # Login with 2FA

两种方式都会:

  1. 打开无头浏览器并访问你的 OWA URL
  2. 提交凭据
  3. 等待 2FA 批准(最多 90 秒)
  4. 将加密后的会话 Cookie 保存到 session-cookies.txt

凭据和会话 Cookie 在静态存储时使用 AES-256 加密(PBKDF2 密钥派生,迭代 480k 次)。

工具(30 个)

电子邮件(10 个)
工具描述
get_emails列出文件夹中的电子邮件,并支持筛选
get_email根据 ID 获取完整的电子邮件内容
send_email发送新邮件
reply_email回复邮件
forward_email转发邮件
delete_email删除邮件
move_email将邮件移至其他文件夹
mark_email_read将邮件标记为已读或未读
download_attachments下载邮件中的文件附件
get_email_links提取邮件正文中的超链接
日历(7 个)
工具描述
get_calendar_events获取指定日期范围内的事件(支持展开重复事件)
create_meeting创建会议并添加与会者
update_meeting更新现有会议
cancel_meeting取消会议并通知与会者
respond_to_meeting接受、拒绝或暂定接受会议
download_event_attachments下载日历事件中的文件附件
get_event_links提取事件描述中的超链接
目录(1 个)
工具描述
find_person在 Active Directory 中搜索人员
文件夹(7 个)
工具描述
get_folders列出邮件文件夹及未读邮件数
create_folder创建新邮件文件夹
rename_folder重命名现有文件夹
empty_folder清空文件夹中的所有项目
delete_folder删除邮件文件夹
move_folder将文件夹移至其他父文件夹
check_session检查 OWA 会话是否已通过身份验证
可用时间(2 个)
工具描述
find_free_time查找日历中的空闲时段
find_meeting_time查找多人共同空闲的时段
分析(2 个)
工具描述
get_meeting_stats统计多人的会议数量
get_meeting_contacts联系矩阵——统计你最常与哪些人开会
身份验证(1 个)
工具描述
login登录 OWA(凭据设置 + 2FA 登录)

文件

login.py                  # Browser-based 2FA login (standalone CLI)
exchange_mcp/
  server.py               # FastMCP server entry point
  owa_client.py           # OWA HTTP client
  auth.py                 # Async login logic (shared by MCP tool)
  tools/
    email.py              # Email tools
    calendar.py           # Calendar tools
    people.py             # Directory search
    folders.py            # Folder management & session check
    availability.py       # Free time / meeting time
    analytics.py          # Meeting stats & contacts
    auth.py               # Login tool
pyproject.toml            # Package config

警告

每个 Exchange / OWA 部署都有自己的身份验证设置——有些需要 2FA(推送通知、TOTP、SMS),其他则使用单因素登录或 SSO。本项目中的登录逻辑(login.py 和 exchange_mcp/auth.py)针对特定的 2FA 流程(移动推送批准)编写。如果你的 OWA 服务使用其他 2FA 方式或完全不使用 2FA,则需要修改或移除登录逻辑,以适配你的环境。

安全性

  • 凭据和会话 Cookie 使用 AES-256-Fernet 加密
  • 主密码从不存储
  • 使用 PBKDF2 进行密钥派生,迭代 480,000 次
  • 凭据和 Cookie 文件的权限为 0600
  • Cookie 仅解密到内存中——绝不会以明文形式写入磁盘(通过 MCP 工具)
  • 会话 Cookie 绝不会传输到你的 OWA 服务以外的任何地方

评论

支持 Markdown

第一次接触 MCP?

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

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