Skip to main content
Glama

outlook-mcp (拡張フォーク)

Windows 上の Microsoft Outlook 向け MCPサーバー(win32com 経由)— AI アシスタント(Claude Code や他の MCP クライアント)が、ローカルで実行中の Outlook インスタンスを通じてメール、連絡先、カレンダー、およびタスクを操作できるようにします。Azure AD も Graph API も OAuth も不要です — COM 経由で Outlook デスクトップクライアントを操作します。

これは lihaokun/outlook-mcp の拡張フォークです(PyPI: outlook-mcp-server 0.1.1、MIT)。上流は14個のツールを提供していますが、このフォークは21個を提供し、本番環境で問題となる3種類のバグを修正しています。これはPyPI には公開されていません — このリポジトリからインストールしてください(下記参照)。その後 pip install -U outlook-mcp-server を実行しないでください。実行すると PyPI 版が上書きします。

このフォークが上流 0.1.1 に対して追加する内容

新しいツール (7) — 上流にはカレンダー用の listCalendars と createEvent しかなく、タスク用は何もありませんでした:

  • listEvents, getEvent, updateEvent, deleteEvent

  • listTasks, createTask, updateTask

修正点:

  • タイムゾーン: イベント時刻は StartUTC/EndUTC で読み取り、astimezone() で変換します。Outlook の COM の Start/End プロパティは、誤った +00:00 オフセット付きのローカル壁時計時刻を報告するため、単純なコードではすべての予定がずれてしまいます。

  • ロケールセーフな日付フィルター: DASL/Jet の日付リテラルは win32api.GetDateFormat(LOCALE_USER_DEFAULT, ...) でフォーマットされます。Outlook はフィルター日付をシステムロケールで解析するため、米国形式の 07/02/2026 はドイツ語システムでは 2月7日として読み取られます。

  • COM アパートメントの規律: CoInitialize/CoUninitialize は、アドホックに呼び出されるのではなく、単一のヘルパー (_run_com) 内でバランスが取られています。

  • --version: 実際にインストールされているバージョンを報告します(上流には常に dev を出力するタイポがありました)。

追加点:

  • すべてのイベントツールに calendarPath パラメータを追加し、すべてのイベント dict に出力することで、複数/共有カレンダーにわたってイベントをアドレス指定可能にしました。

  • イベントで busyStatus と meetingStatus を公開しました。

  • createEvent は calendarId を指定すると、保存してからアイテムを対象カレンダーに移動し、移動したアイテムを表示します。

  • 長いメッセージ本文は切り詰められ、完全な本文を取得するには getMessage/getEvent を呼び出すよう促すヒントが付けられます。

安全モデル(上流から変更なし): すべての送信アクション — sendMail、replyToMessage、forwardMessage、createEvent、タスク — は .Display() で終わり、.Send() を使うことはありません。アイテムは Outlook で開き、人間が送信をクリックします。サーバーが単独で何かを送信することはできません。

Related MCP server: MCP Outlook Tools

全ツール一覧 (21)

領域

ツール

アカウント/フォルダー

listAccounts, listFolders, createFolder

メール

searchMessages, getRecentMessages, getMessage, sendMail, replyToMessage, forwardMessage, updateMessage, deleteMessages

連絡先

searchContacts

カレンダー

listCalendars, createEvent, listEvents, getEvent, updateEvent, deleteEvent

タスク

listTasks, createTask, updateTask

要件

  • クラシック Outlook デスクトップクライアントがインストールされ、構成済みの Windows(サーバーは実行中のインスタンスに接続するか、COM 経由で起動します)

  • Python 3.10+

インストール

pip install git+https://github.com/K4uP/outlook-mcp.git

Claude Code に登録します(ユーザースコープ):

claude mcp add --scope user outlook -- outlook-mcp-server

outlook-mcp-server が PATH にない場合は、コンソールスクリプトのフルパスを使用してください(例: %LOCALAPPDATA%\Programs\Python\Python312\Scripts\outlook-mcp-server.exe)。その後 Claude Code を再起動し、claude mcp list で確認してください。

既知の落とし穴

  • mcpServers 設定は ~/.claude.json(ユーザースコープ)に置く必要があります — settings.json に置いても効果はありません。

  • calendarPath なしの listEvents は共有/委任カレンダーを混在させます。特定の人物の空き状況が必要な場合は、明示的なカレンダーパスを渡してください。

  • createEvent: 既定のカレンダーでは calendarId を省略してください。一部の Exchange 環境では、既定のカレンダーを明示的な ID で指定すると失敗します。

  • sendMail で「送信」されたメールは表示されるだけです — Outlook ウィンドウで人間が送信ボタンを押すまで、何もマシンの外に出ません。

ライセンス

MIT — LICENSE を参照してください。オリジナル著作物の著作権 (c) 2026 lihaokun; 拡張および修正の著作権 (c) 2026 Rene S. Kaup.

Related MCP Connectors

Related MCP Servers

  • F
    license
    C
    quality
    F
    maintenance
    A powerful MCP server that enables AI assistants to interact with Microsoft Graph API for managing Outlook emails, Calendar events, OneDrive files, and Contacts through natural language commands.
    35
    56
    -
  • A
    license
    Not graded
    quality
    F
    maintenance
    A Model Context Protocol server that enables AI assistants to interact with Microsoft Outlook for calendar management, email operations, and search functionality.
    15
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol (MCP) server that gives AI assistants full access to Microsoft Outlook emails, calendar, and contacts via the Microsoft Graph API.
    141 npm
    2
    MIT