Token导航 LogoToken导航TokenDH.com
ews MCP logo
AI代理stdio官方级别未说明来源级核验

ews MCP

MCP Server

一个完整的模型上下文协议 (MCP) 服务器,与 Microsoft Exchange Web Services (EWS) 接口,使 AI 助手能够与 Exchange 进行电子邮件、日历、联系人和任务操作交互。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude联系人管理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

mggger

提供方

mggger

最后核验

2026/5/17 20:22

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -d \

详细介绍

EWS MCP服务器

一个完整的模型上下文协议(MCP)服务器,与Microsoft Exchange Web服务(EWS)连接,使AI助手能够与Exchange交互以进行电子邮件、日历、联系人和任务操作。

📦 Docker镜像:预构建图像将在 ghcr.io/azizmazrou/ews-mcp:latest 一旦合并到主分支。目前,在本地构建 docker build -t ews-mcp-server . -请参阅 GHCR_STATUS.md 了解详情。

特性

  • 电子邮件操作:发送、阅读、搜索、删除、移动、, 复制 电子邮件与 固定的 附件支持

- 分发列表支持:按姓名向通讯组发送电子邮件

  • 附件内容提取:从PDF、DOCX、XLSX、TXT文件读取文本(阿拉伯语/UTF-8支持)
  • 日历管理:创建、更新、删除约会、回复会议, 人工智能会议时间查找器
  • 联系人管理:Exchange联系人的完整CRUD操作
  • 联系情报:跨GAL和电子邮件历史、通信分析、网络分析的高级联系人搜索
  • 任务管理:创建和管理Exchange任务
  • 文件夹管理:创建、删除、重命名、移动邮箱文件夹
  • 高级搜索:对话线程,跨电子邮件内容的全文搜索
  • 不在办公室:配置带有日程安排的自动回复
  • 多重身份验证:支持OAuth2、基本授权和NTLM
  • 时区支持:正确处理时区(通过亚洲/利雅得、UTC等测试)
  • HTTP/SSE传输:支持web客户端的stdio和HTTP/SSE(兼容n8n)
  • Docker就绪:采用最佳实践的生产就绪集装箱化
  • 速率限制:内置速率限制,自动重试(指数回退)
  • 错误处理:使用@handle_ews_errors装饰器进行全面的错误处理
  • 审计日志:跟踪所有操作的合规性(仅记录到stderr)

v2.1的新增功能🎯

2.1版本新增 联系情报 能力和 多账户支持:

多账户支持🔐

  • 承载令牌身份验证:使用HTTP授权标头在多个Exchange帐户之间动态切换
  • 帐户配置:在中配置多个帐户 accounts.json 具有唯一的API密钥
  • 连接缓存:为频繁访问的帐户提供高效的连接重用
  • 向后兼容:如果没有提供Bearer令牌,则回退到环境变量

BEARER_AUTH_GUIDE.md 有关详细的设置说明。

联系人智能工具(3个新工具)

统一联系人搜索

  • 查找人员 -在全球地址列表(GAL)、电子邮件历史记录和域中搜索

- 按通信频率和近距进行智能排名 - 多源重复数据删除(GAL+电子邮件历史记录) - 阿拉伯语支持(UTF-8) - 全域搜索(例如,来自@example.com的所有联系人)

通信分析

  • get_通信_历史 -与任何联系人的详细关系分析

- 电子邮件数量统计(发送/接收/总计) - 沟通时间表(每月汇总) - 从电子邮件主题中提取主题 - 带有日期的最近电子邮件预览

网络智能

  • 分析网络 -专业网络分析

- 按电子邮件数量排列的顶级联系人 - 基于域的组织分组 - 休眠关系检测(与您失去联系的联系人) - VIP身份(高流量+近期活动) - 综合概述和汇总统计数据

功能亮点

在多个来源中查找任何人

# Search by name across all sources
find_person(
    query="John Doe",
    search_scope="all",  # Search GAL + email history
    include_stats=True
)

# Find all contacts from a specific domain
find_person(
    query="@example.com",
    search_scope="domain"
)

分析沟通模式

# Get detailed history with any contact
get_communication_history(
    email="colleague@example.com",
    days_back=365,
    include_topics=True
)
# Returns: stats, timeline, top topics, recent emails

了解您的专业网络

# Identify VIP contacts (high volume + recent)
analyze_network(
    analysis_type="vip",
    days_back=90,
    vip_email_threshold=10
)

# Find dormant relationships to reconnect
analyze_network(
    analysis_type="dormant",
    dormant_threshold_days=60
)

# Analyze by organization/domain
analyze_network(
    analysis_type="by_domain",
    top_n=20
)

v2.0中的新增功能🚀

2.0版本扩展了EWS MCP服务器 28个MVP工具到40个企业级工具,添加了强大的新功能:

新工具(新增12个)

文件夹管理(4个工具)

  • 创建文件夹 -使用自定义文件夹类创建新的邮箱文件夹
  • 删除文件夹 -删除文件夹(软文件夹或永久文件夹)
  • 重命名文件夹 -重命名现有文件夹
  • move_folder -将文件夹移动到新的父位置

增强型附件(2个工具)

  • 添加附件 -通过文件路径或具有内联支持的base64内容添加附件
  • 删除附件 -按ID或名称删除附件

高级搜索(2个工具)

  • 搜索_对话 -查找对话线程中的所有电子邮件
  • full_text_search -带有区分大小写和精确短语选项的全文搜索

外出(2个工具)

  • 设置的集合 -配置自动回复(启用/计划/禁用)
  • get_of_setting -检索当前处于活动状态的OOF设置

日历增强(1个工具)

  • find_meeting_times -基于人工智能的会议时间查找器,通过智能评分分析与会者的可用性

电子邮件增强(1个工具)

  • 复制邮件 -将电子邮件复制到文件夹,同时保留原件

功能亮点

智能会议日程安排

# Find optimal meeting times across multiple attendees
find_meeting_times(
    attendees=["alice@company.com", "bob@company.com", "carol@company.com"],
    duration_minutes=60,
    preferences={
        "prefer_morning": True,
        "working_hours_start": 9,
        "working_hours_end": 17,
        "avoid_lunch": True
    }
)
# Returns scored suggestions with availability analysis

对话线程

# Track entire email conversations
search_by_conversation(
    message_id="email-123"  # or conversation_id directly
)
# Returns all emails in the thread

高级文件夹组织

# Organize your mailbox programmatically
create_folder(folder_name="Projects/2025/Q1", parent_folder="inbox")
move_folder(folder_id="folder-123", destination_parent_folder="archive")
rename_folder(folder_id="folder-123", new_name="Completed Projects")

办公室外自动化

# Schedule OOF for vacation
set_oof_settings(
    state="Scheduled",
    internal_reply="I'm on vacation",
    external_reply="I'm currently out of office",
    start_time="2025-12-20T00:00:00",
    end_time="2025-12-31T23:59:59",
    external_audience="Known"
)

快速开始

使用预构建的Docker镜像(最简单)

选择您的身份验证方法:

选项1:基本身份验证(最快设置-1分钟)

最适合:测试、本地交换、快速演示

# Pull the latest image
docker pull ghcr.io/azizmazrou/ews-mcp:latest

# 3. Create .env file with Basic Auth
cat > .env  .env  .env 
   EWS_CLIENT_SECRET=
   EWS_TENANT_ID=

使用Claude Desktop

添加到您的Claude Desktop配置文件中:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json 视窗: %APPDATA%\Claude\claude_desktop_config.json

使用GHCR的预构建图像(推荐)

{
  "mcpServers": {
    "ews": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--env-file",
        "/absolute/path/to/.env",
        "ghcr.io/azizmazrou/ews-mcp:latest"
      ]
    }
  }
}

使用本地构建的图像

{
  "mcpServers": {
    "ews": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--env-file",
        "/path/to/ews-mcp/.env",
        "ews-mcp-server"
      ]
    }
  }
}

使用本地Python(开发)

{
  "mcpServers": {
    "ews": {
      "command": "python",
      "args": ["-m", "src.main"],
      "cwd": "/path/to/ews-mcp",
      "env": {
        "EWS_EMAIL": "user@company.com",
        "EWS_AUTH_TYPE": "oauth2",
        "EWS_CLIENT_ID": "your-client-id",
        "EWS_CLIENT_SECRET": "your-secret",
        "EWS_TENANT_ID": "your-tenant"
      }
    }
  }
}

Docker镜像

预构建的Docker镜像会自动发布到GitHub容器注册表:

# Pull latest version
docker pull ghcr.io/azizmazrou/ews-mcp:latest

# Pull specific version
docker pull ghcr.io/azizmazrou/ews-mcp:1.0.0

# Pull development version
docker pull ghcr.io/azizmazrou/ews-mcp:main

可用标签:

  • latest -最新稳定版本
  • v*.*.* -特定版本(例如。, v1.0.0)
  • main -主分支机构的最新承诺
  • sha- -具体承诺

多平台支持:

  • linux/amd64 -x86_64系统
  • linux/arm64 -ARM64系统(苹果硅、ARM服务器)

可用工具

总计:9个类别的44个基础工具 (启用AI工具时最多48个)

联系人智能工具(3个工具)⭐ v2.1中的新功能

  • 查找人员:跨GAL、电子邮件历史记录和域搜索联系人

- 具有智能重复数据删除功能的多源搜索 - 按通信频率和最近度排名 - 全域搜索(查找所有@example.com联系人) - 阿拉伯语支持

  • get_通信_历史:分析与特定联系人的沟通

- 电子邮件统计(发送、接收、总计) - 月度时间线可视化 - 从主题中提取主题 - 最近的电子邮件预览

  • 分析网络:专业网络分析

- 按数量排列的顶级联系人 - 域/组织分组 - 休眠关系检测 - VIP联系人识别 - 综合概览模式

电子邮件工具(9个工具)

  • send_邮件:发送带有附件和CC/BCC的电子邮件(✅ 固定的: 附件现在实际发送!)

- ⭐ :通讯组列表支持-按名称发送到组(例如,“Team All”、“accounts”) - 支持电子邮件地址、显示名称和通讯组列表 - 通讯组列表成员的自动扩展

  • 阅读电子邮件:从指定文件夹读取电子邮件
  • 搜索邮件:使用高级筛选器进行搜索
  • get_email_details:获取完整的电子邮件详细信息
  • 删除电子邮件:删除或永久删除电子邮件
  • move_mail:在文件夹之间移动电子邮件
  • update_邮件: ⭐ 更新电子邮件属性(读取状态、标志、类别、重要性)
  • 列表_附件: ⭐ 列出电子邮件的所有附件
  • 下载_附件: ⭐ 下载电子邮件附件(base64或保存到文件)

附件工具(5个工具)🆕

  • 列表_附件:列出电子邮件中的所有附件
  • 下载_附件:下载base64格式的附件或保存到文件
  • 添加附件:在电子邮件草稿中添加附件
  • 删除附件:从电子邮件中删除附件
  • 阅读附件: ⭐ 从PDF、DOCX、XLSX、TXT文件中提取文本

- 支持阿拉伯语(UTF-8)文本 - 从文档中提取表格 - 大型PDF的页面限制 - 返回结构化文本内容

日历工具(6个工具)

  • 创建_应用程序:安排与与会者的会议
  • get_calendar:检索日历事件
  • 更新_预约:修改现有约会
  • 删除_请求:取消约会/会议
  • 回复会议:接受/拒绝会议邀请
  • check_可用性: ⭐ 获取用户在特定时间范围内的忙/闲信息

接触工具(6个工具)

  • create_contact:添加新联系人
  • search_contacts:按姓名/电子邮件查找联系人
  • get_contacts:列出所有联系人
  • update_contact:修改联系信息
  • 删除联系人:删除联系人
  • resolve_names: ⭐ 将部分姓名/电子邮件解析为完整的联系信息

任务工具(5个工具)

  • 创建任务:创建新任务
  • get_tasks:列出任务(按状态筛选)
  • update_task:修改任务详细信息
  • 完成任务:将任务标记为已完成
  • 删除任务:删除任务

搜索工具(1个工具)

  • 高级搜索: ⭐ 使用过滤器跨文件夹进行复杂的多条件搜索

文件夹工具(1个工具)

  • list_folders: ⭐ 获取包含详细信息和项目计数的邮箱文件夹层次结构

测试

# Run all tests
pytest

# Run with coverage
pytest --cov=src --cov-report=html

# Run specific test file
pytest tests/test_email_tools.py

# Run only unit tests (skip integration)
pytest -m "not integration"

发展

# Install development dependencies
pip install -r requirements-dev.txt

# Run linter
ruff check src/

# Format code
black src/

# Type checking
mypy src/

# Security check
bandit -r src/

建筑

EWS MCP Server
├── MCP Protocol Layer (stdio/SSE)
├── Tool Registry (Email, Calendar, Contacts, Tasks)
├── EWS Client (exchangelib wrapper)
├── Authentication (OAuth2/Basic/NTLM)
├── Middleware (Rate Limiting, Error Handling, Audit)
└── Exchange Web Services API

故障排除

docs/TROUBLESHOOTING.md 常见问题和解决方案。

文档

许可证

MIT许可证-有关详细信息,请参阅许可证文件

贡献

欢迎投稿!请在提交PR之前阅读投稿指南。

支持

对于问题和功能请求,请使用GitHub问题跟踪器。

更新日志

更改日志.md 版本历史。

目录标签

目录标签

PythonClaude联系人管理ExchangeWebServices本地部署电子邮件管理日历管理任务管理AI助手集成

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP