Mcp Outlook Tools

Mcp Outlook Tools

🚀 MCP Outlook 工具

MCP Outlook 工具是一个基于模型上下文协议(MCP)的服务器实现,它让 AI 助手能够与 Microsoft Outlook 进行交互,实现日历管理、邮件操作和搜索功能。

✨ 主要特性

  • 📅 日历管理

    • 获取指定日期范围内的日历项。
    • 添加包含完整详细信息的新预约。
    • 支持分类和忙碌状态设置。
  • 📧 邮件操作

    • 向收件人及抄送对象发送邮件。
    • 发送前显示确认信息。
    • 支持完整的邮件正文格式设置。
  • 🔍 邮件搜索

    • 按日期和关键词搜索邮件。
    • 从地址中提取用户信息。
    • 支持日文文本编码。

📦 安装指南

环境要求

  • Windows 操作系统(pywin32 依赖)。
  • 已安装并配置好 Microsoft Outlook。
  • Python 3.10 或更高版本。
  • 兼容 MCP 的 AI 助手(如 Claude Desktop)。

安装步骤

  1. 克隆仓库:
git clone https://github.com/wmoto-ai/mcp-outlook-tools.git
cd mcp-outlook-tools
  1. 使用 uv 安装依赖:
uv pip install -e .

或者使用 pip 安装:

pip install -e .

📚 详细文档

配置

针对 Claude Desktop

将以下内容添加到你的 Claude Desktop 配置文件中:

Windows%APPDATA%\Claude\claude_desktop_config.json macOS~/Library/Application Support/Claude/claude_desktop_config.json

{
"mcpServers": {
"outlook-tools": {
"command": "uv",
"args": [
"--directory",
"C:/path/to/mcp-outlook-tools",
"run",
"--with-editable",
".",
"-m",
"outlook_tools.server"
],
"cwd": "C:/path/to/mcp-outlook-tools",
"env": {
"PYTHONIOENCODING": "utf-8"
}
}
}
}

使用方法

配置完成后,你的 AI 助手将可以使用以下工具:

add_appointment

向 Outlook 日历添加新预约
参数:
- subject: 预约标题
- start_time: 开始日期和时间(YYYY-MM-DD HH:MM)
- end_time: 结束日期和时间(YYYY-MM-DD HH:MM)
- location: 会议地点(可选)
- description: 详细描述(可选)
- categories: 以逗号分隔的分类(可选)
- busy_status: 0=空闲, 1=暂定, 2=忙碌, 3=不在办公室(默认: 1)

get_calendar

获取指定日期范围内的日历项
参数:
- start_date: 开始日期(YYYY-MM-DD)
- end_date: 结束日期(YYYY-MM-DD)

send_email

通过 Outlook 发送邮件
参数:
- to: 收件人邮箱地址(以分号分隔)
- cc: 抄送收件人(以分号分隔)
- subject: 邮件主题
- body: 邮件正文文本

项目结构

mcp-outlook-tools/
├── src/
│   └── outlook_tools/
│       ├── __init__.py
│       ├── server.py           # MCP 服务器实现
│       ├── calendar_service.py # 日历操作
│       └── search_service.py   # 邮件搜索操作
├── test/                       # 测试文件
├── pyproject.toml             # 项目配置
└── README.md                  # 本文件

开发

运行测试

pytest test/

类型检查

pyright src/

代码检查

ruff check src/

安全注意事项

  • 此工具需要访问你本地安装的 Outlook。
  • 邮件在发送前会显示给用户确认。
  • 代码中不存储任何凭证。
  • 所有操作都使用 Windows COM 接口,并依赖现有的 Outlook 身份验证。

局限性

  • 仅支持 Windows 系统(由于依赖 pywin32)。
  • 需要安装并配置好 Outlook。
  • 时区处理假设为日本标准时间(JST,+9 小时)。

贡献

欢迎贡献代码!请随时提交拉取请求。

许可证

本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。

致谢

  • 基于 FastMCP 框架构建。
  • 使用 pywin32 实现 Outlook COM 接口。
  • 0 关注
  • 0 收藏,7 浏览
  • system 提出于 2025-09-29 01:42

相似服务问题