outlook-web-mcp-server

outlook-web-mcp-server

Enables interaction with Outlook Web through its internal API, supporting email search, folder listing, email retrieval, read state changes, calendar events, and reply drafts without Microsoft Graph or COM.

Category
访问服务器

README

Outlook Web MCP server (unofficial)

ローカルの Outlook COM を、Outlook Web が内部利用している非公開 API に置き換える MCP サーバーです。Microsoft Graph、Outlook デスクトップ、COM、ブラウザー Cookie は 使いません。

[!WARNING] https://outlook.cloud.microsoft/owa/service.svc は Microsoft の公開・サポート対象 API ではありません。Outlook Web 側の変更や組織ポリシーで、予告なく動かなくなる可能性が あります。本番の基幹連携には Microsoft Graph を推奨します。

COM 版との互換性

COM 版のツール名と主要な引数・戻り値を維持しています。

ツール 動作 メールボックス変更
search_emails 件名・送信者を検索 なし
list_mail_folders フォルダー一覧 なし
get_email 1通の本文を取得 なし
set_email_read_state 既読・未読を変更 あり
list_calendar_events 予定を期間指定で取得 なし
create_reply_draft 返信/全員返信の下書きを保存 下書き追加のみ

認証状態確認用に outlook_auth_status も追加しています。送信、削除、移動、アーカイブの ツールは意図的に実装していません。storeId は COM の Store Entry ID ではなく、 このサーバー専用の outlook-web です。検索結果から返された値をそのまま使ってください。

セットアップ

Python 3.11 以上と uv が必要です。

uv sync --dev
uv run outlook-web-mcp login
uv run outlook-web-mcp probe

初回ログインでは Microsoft のデバイスコード画面が開きます。アクセストークンはメモリ内 だけで扱い、更新トークンは OS の資格情報保管庫に保存します。標準出力や MCP 応答に トークンを出しません。

サインインを別工程に分けたい場合:

uv run outlook-web-mcp login-start
# 表示されたコードでサインイン後
uv run outlook-web-mcp login-complete

MCP への登録

stdio サーバーの起動コマンドは次です。

uv run outlook-web-mcp-server

クライアント設定例(パスはこのリポジトリの絶対パスへ変更):

{
  "mcpServers": {
    "outlook-web": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\path\\to\\outlook-web-teams-un-oficial-api",
        "run",
        "outlook-web-mcp-server"
      ]
    }
  }
}

COM 版から切り替える

  1. uv run outlook-web-mcp login でこのサーバー専用の認証を1回行う。
  2. MCP クライアントの outlook-com 起動設定を、上記 outlook-web の設定へ置き換える。
  3. MCP クライアントを再起動し、outlook_auth_status と search_emails で確認する。

ツール名と引数名は維持していますが、COM 版で以前取得した emailId、folderId、 storeId は再利用できません。Web 版の検索・フォルダー一覧から ID を取り直してください。

CLI

outlook-web-mcp login          # 対話ログイン
outlook-web-mcp login-start    # デバイスコードを発行
outlook-web-mcp login-complete # 発行済みコードのログインを完了
outlook-web-mcp status         # 秘密を含まない認証状態
outlook-web-mcp probe          # メール内容を取得しない Inbox 疎通確認
outlook-web-mcp logout         # 保存済み資格情報を削除
outlook-web-mcp serve          # stdio MCP を起動

設定

必要な場合だけ環境変数で上書きします。

変数 既定値
OUTLOOK_WEB_CREDENTIAL_PROFILE default
OUTLOOK_WEB_TIME_ZONE_ID Tokyo Standard Time
OUTLOOK_WEB_REQUEST_TIMEOUT_SECONDS 30
OUTLOOK_WEB_MAX_RESPONSE_BYTES 10000000
OUTLOOK_WEB_MAX_SCANNED_ITEMS 5000
OUTLOOK_WEB_MAX_SCANNED_FOLDERS 100
OUTLOOK_WEB_LOG_LEVEL INFO

OUTLOOK_WEB_CLIENT_ID も変更できますが、既定値は Outlook Web が公開ログイン画面で使う ファーストパーティー クライアント ID です。組織の条件付きアクセスや同意ポリシーによって 認証できない場合があります。

開発時の確認

uv run pytest
uv run ruff check .
uv run mypy
uv build

内部 API の調査結果と設計上の境界は docs/internal-api.md にあります。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选