Token导航 LogoToken导航TokenDH.com
Yahoo Mail MCP logo
办公协作stdio官方级别未说明来源级核验

Yahoo Mail MCP

MCP Server

一个用于与Yahoo Mail集成的MCP服务器,支持通过IMAP获取邮件和CalDAV获取日历事件,未来将支持通过SMTP发送邮件。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
TypeScript团队协作任务管理

安装说明

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

作者 / 组织

Aputze

提供方

Aputze

最后核验

2026/5/17 20:22

运行时

Docker

快速接入

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

命令预览

docker run -d --name yahoo-mail-mcp --env-file .env yahoo-mail-mcp:latest

详细介绍

雅虎邮件MCP服务器

MCP(模型上下文协议)服务器,用于与雅虎邮箱集成以获取电子邮件和日历,并支持未来发送电子邮件。

概述

此MCP服务器提供通过以下方式与雅虎邮箱服务交互的工具:

  • 互联网邮件访问协议 用于获取电子邮件(使用OAuth2身份验证)
  • CalDAV 用于获取日历事件(使用OAuth2身份验证)
  • SMTP 用于发送电子邮件(第2阶段-未来)

先决条件

1.雅虎开发者访问

Yahoo Mail不提供直接的REST API。相反,您必须:

  • 申请开发人员访问权限:https://senders.yahooinc.com/developer/developer-access/
  • 获得IMAP/CalDAV访问的批准
  • 证明遵守雅虎的安全和隐私政策

2.OAuth2证书

一旦获得批准,您将需要:

  • 客户端ID -应用程序的客户端标识符
  • 客户端密钥 -应用程序的客户端机密
  • 重定向URI -OAuth授权后雅虎将重定向的URL

3.技术要求

  • Node.js 18+或 python 3.10+
  • OAuth2 身份验证流实现
  • IMAP客户端库 (用于获取电子邮件)
  • CalDAV客户端库 (用于日历提取)
  • MCP服务器SDK (TypeScript: @modelcontextprotocol/sdk 或Python等效)

雅虎邮件服务器详细信息

IMAP(电子邮件提取)

  • 服务器: imap.mail.yahoo.com
  • 端口: 993
  • 安全: SSL/TLS
  • 身份验证: OAuth2(XOAUTH2)

CalDAV(日历提取)

  • 网址: https://caldav.calendar.yahoo.com
  • 身份验证: OAuth2

SMTP(发送电子邮件-第2阶段)

  • 服务器: smtp.mail.yahoo.com
  • 端口: 465(SSL)或587(TLS)
  • 身份验证: OAuth2(XOAUTH2)

项目结构

Yahoo_mail_MCP/
├── src/
│   ├── server.ts          # Main MCP server implementation
│   ├── oauth2.ts          # OAuth2 authentication handling
│   ├── imap-client.ts     # IMAP email fetching
│   ├── caldav-client.ts   # CalDAV calendar fetching
│   └── types.ts           # TypeScript type definitions
├── config/
│   └── config.example.ts  # Example configuration
├── package.json
├── tsconfig.json
└── README.md

实施步骤

第一阶段:电子邮件和日历获取

  1. 设置OAuth2流

- 实现授权URL生成 - 处理回拨和令牌交换 - 存储和刷新访问令牌

  1. 实现IMAP客户端

- 使用OAuth2连接到雅虎IMAP服务器 - 获取支持分页的电子邮件 - 支持过滤和搜索

  1. 实现CalDAV客户端

- 使用OAuth2连接到雅虎CalDAV服务器 - 获取日历事件 - 支持日期范围查询

  1. 创建MCP工具

- fetch_emails -列出/获取电子邮件 - fetch_calendar_events -列出/获取日历事件 - get_email -通过ID获取特定电子邮件 - search_emails -按条件搜索电子邮件

第二阶段:发送电子邮件(未来)

  1. 实现SMTP客户端

- 使用OAuth2连接到雅虎SMTP服务器 - 发送格式正确的电子邮件

  1. 添加MCP工具

- send_email -通过雅虎SMTP发送电子邮件

环境变量

创建一个 .env 文件(参见 .env.example):

YAHOO_CLIENT_ID=your_client_id
YAHOO_CLIENT_SECRET=your_client_secret
YAHOO_REDIRECT_URI=http://localhost:3000/callback
YAHOO_IMAP_HOST=imap.mail.yahoo.com
YAHOO_IMAP_PORT=993
YAHOO_CALDAV_URL=https://caldav.calendar.yahoo.com
YAHOO_SMTP_HOST=smtp.mail.yahoo.com
YAHOO_SMTP_PORT=587

需要的关键库

Types/Node.js方法:

{
  "@modelcontextprotocol/sdk": "^1.0.0",
  "imap": "^0.8.19",
  "mailparser": "^3.6.5",
  "dav": "^1.11.0",  // For CalDAV
  "nodemailer": "^6.9.7",  // For SMTP (Phase 2)
  "oauth2": "latest",
  "dotenv": "^16.3.1"
}

Python方法:

mcp>=1.0.0
imaplib (built-in)
email (built-in)
caldav>=1.3.0
smtplib (built-in)
requests-oauthlib>=1.3.0
python-dotenv>=1.0.0

OAuth2流

  1. 授权请求:将用户重定向到Yahoo OAuth授权端点
  2. 用户授权:用户授予权限
  3. 授权码:雅虎使用授权码重定向
  4. 代币交换:访问令牌和刷新令牌的交换代码
  5. API访问:使用访问令牌对IMAP/CalDAV请求进行身份验证
  6. 令牌刷新:访问令牌过期时使用刷新令牌

安全考虑

  • 安全地存储OAuth令牌(加密)
  • 永不承诺 .env 文件或凭据
  • 实施适当的令牌刷新逻辑
  • 遵循雅虎的费率限制准则
  • 遵守雅虎的隐私政策
  • 对所有OAuth重定向使用HTTPS

测试

  1. 设置具有开发人员访问权限的测试雅虎帐户
  2. 测试OAuth2流
  3. 测试IMAP连接和电子邮件获取
  4. 测试CalDAV连接和日历提取
  5. 测试错误处理和边缘情况

资源

Docker部署

该项目包括Docker支持,便于部署。

Docker快速入门

  1. 使用Docker Compose (推荐):
   # Copy example env file
   cp .docker.env.example .env

   # Edit .env with your credentials
   # Then start the container
   docker-compose up -d
  1. 使用Docker CLI:
   docker build -t yahoo-mail-mcp:latest .
   docker run -d --name yahoo-mail-mcp --env-file .env yahoo-mail-mcp:latest

有关Docker部署的详细说明,请参阅 医生.md.

Docker脚本

npm run docker:build    # Build Docker image
npm run docker:up       # Start with docker-compose
npm run docker:down     # Stop containers
npm run docker:logs     # View logs
npm run docker:dev      # Development mode with hot reload

许可证

麻省理工学院

目录标签

目录标签

TypeScript团队协作任务管理邮件集成本地部署日历集成OAuth2认证IMAPCalDAV

接入字段

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

stdio

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

oauth

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiooauth部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP