Outlook集成工具

一个MCP服务器实现,使AI助手能够与Microsoft Outlook交互,进行日历管理、邮件操作和搜索功能。

  • by wmoto-ai
  • Python
  • 本地部署
  • 15 星标
  • 更新于
在 GitHub 查看 wmoto-ai/mcp-outlook-tools

使用说明

MCP Outlook工具

一种模型上下文协议(MCP)服务器实现,使AI助手能够与Microsoft Outlook进行交互,以实现日历管理、电子邮件操作和搜索功能。

特性

  • 📅 日历管理

    • 获取日期范围内的日历项目
    • 添加具有完整详细信息的新约会
    • 支持类别和忙碌状态
  • 📧 电子邮件操作

    • 与收件人/CC一起发送电子邮件
    • 发送前显示确认
    • 全身格式化支持
  • 🔍 电子邮件搜索

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

需求

  • Windows操作系统(pywin32需要)
  • 已安装并配置Microsoft Outlook
  • Python 3.10或更高版本
  • MCP兼容的人工智能助手(例如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配置文件中:

视窗: %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

Add a new appointment to Outlook calendar
Parameters:
- subject: Appointment title
- start_time: Start datetime (YYYY-MM-DD HH:MM)
- end_time: End datetime (YYYY-MM-DD HH:MM)
- location: Meeting location (optional)
- description: Detailed description (optional)
- categories: Comma-separated categories (optional)
- busy_status: 0=Free, 1=Tentative, 2=Busy, 3=Out of Office (default: 1)

get_calendar

Get calendar items for a date range
Parameters:
- start_date: Start date (YYYY-MM-DD)
- end_date: End date (YYYY-MM-DD)

send_email

Send an email via Outlook
Parameters:
- to: Recipient email addresses (semicolon-separated)
- cc: CC recipients (semicolon-separated)
- subject: Email subject
- body: Email body text

项目结构

mcp-outlook-tools/
├── src/
│   └── outlook_tools/
│       ├── __init__.py
│       ├── server.py           # MCP server implementation
│       ├── calendar_service.py # Calendar operations
│       └── search_service.py   # Email search operations
├── test/                       # Test files
├── pyproject.toml             # Project configuration
└── README.md                  # This file

发展

运行测试

pytest test/

类型检查

pyright src/

代码检查

ruff check src/

安全说明

  • 此工具需要访问本地Outlook安装
  • 发送前会显示电子邮件以供用户确认
  • 代码中没有存储凭据
  • 所有操作都使用具有现有Outlook身份验证的Windows COM接口

局限性

  • 仅限Windows(由于依赖pywin32)
  • 需要安装和配置Outlook
  • 时区处理假定JST(+9小时)

贡献

欢迎投稿!请随时提交拉取请求。

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

致谢

  • 内置于 FastMCP 框架
  • 使用pywin32作为Outlook COM接口