返回 MCP 目录
public公开dns本地运行

mcp-outlook-tools

一个实现MCP协议的Outlook工具集,提供日历管理、邮件操作和搜索功能,支持AI助手通过本地Outlook进行办公自动化。

article

README

🚀 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 接口。
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端