MCP Server · MIT ライセンス · TypeScript

Microsoft 365
AI エージェントから操作する

Exchange・Teams・OneDrive・SharePoint の 48 ツールを
Model Context Protocol (MCP) で Claude や AI エージェントに提供します。
メール送信、予定作成、ファイル管理、リスト操作 — すべて自然言語で。

セットアップ(5分で完了)
# 1. Vercel にデプロイ(ボタンをポチ → Upstash Redis 自動追加)
# 2. /auth にアクセスして Microsoft でログイン
# 3. 表示された MCP API キーを Claude に設定
 
# MCP クライアント設定
URL: https://your-app.vercel.app/api/mcp
Bearer: <自動発行された API キー>
 
# 以降は Cron が毎日トークンを自動更新 → 実質無期限
45
MCP ツール
6
M365 ドメイン
3.1k
行の TypeScript
2
トランスポート

全サービス、完全 CRUD

6 つの Microsoft 365 ドメインにまたがる 48 ツール — 読取・書込・更新・削除

📧
Exchange / メール
8 ツール

メールの一覧・取得・送信・返信・更新・削除・移動。KQL 検索対応。

mail_list_messagesmail_get_messagemail_send_messagemail_reply_messagemail_update_messagemail_delete_messagemail_move_messagemail_list_folders
📅
カレンダー
5 ツール

予定の管理。オンライン会議の作成対応。タイムゾーン既定値: Asia/Tokyo。

calendar_list_eventscalendar_get_eventcalendar_create_eventcalendar_update_eventcalendar_delete_event
💬
Teams
8 ツール

チームチャネルと 1:1 / グループチャットのメッセージ取得・送信・返信。

teams_list_joined_teamsteams_list_channelsteams_list_channel_messagesteams_send_channel_messageteams_reply_to_channel_messageteams_list_chatsteams_list_chat_messagesteams_send_chat_message
☁️
OneDrive
9 ツール

クラウドファイル操作。一覧・ダウンロード・アップロード・フォルダ作成・移動・検索。

onedrive_get_driveonedrive_list_itemsonedrive_get_itemonedrive_download_fileonedrive_upload_fileonedrive_create_folderonedrive_delete_itemonedrive_move_itemonedrive_search
🏢
SharePoint
12 ツール

サイト・ドキュメントライブラリ・リスト。スキーマ認識のリストアイテム CRUD。

sharepoint_search_sitessharepoint_get_sitesharepoint_list_drivessharepoint_list_drive_itemssharepoint_get_listssharepoint_get_list_columnssharepoint_get_list_itemssharepoint_get_list_itemsharepoint_create_list_itemsharepoint_update_list_itemsharepoint_delete_list_itemsharepoint_create_list
👤
ユーザー / 認証
3 ツール

プロフィール取得、組織内ユーザー検索、MSAL Device Code Flow 認証管理。

user_get_profileuser_search_usersauth_status

アーキテクチャ

Vercel + Upstash Redis + Cron で完全自動運用

🤖
Claude / AI エージェント
Bearer: MCP API キー
msgraph-mcp-server
Vercel + Upstash Redis
🔄
refresh → access_token
自動更新 (毎日 Cron)
☁️
Microsoft Graph /me/
本人としてアクセス

「本人として」操作する

管理者アプリではなく、あなた自身のメール・予定・ファイルにアクセスします

🔐
初回認証

/auth ページで管理パスワード + Microsoft OAuthの二重ロック。refresh_token を AES-256-GCM 暗号化して Redis に保存。

🔑
MCP API キー

初回認証時に64文字の API キーを自動発行。MCP クライアントの Bearer Token に設定するだけ。ローテーションも /auth から即座に可能。

毎日 Cron

Vercel Cron Job が毎日 03:00 UTCに refresh_token を自動更新。90日カウンターが毎日リセットされ実質無期限で動作。

セットアップ手順

Azure アプリ登録 → Vercel デプロイ → /auth でログイン → MCP 接続

1

Azure Portal でアプリを登録(5分)

Azure Portal にサインイン
② 左メニュー →「Microsoft Entra ID」→「アプリの登録」→「+ 新規登録」
③ 名前: msgraph-mcp-server / アカウントの種類:「この組織ディレクトリのみ」→ 登録
クライアント IDテナント ID をメモ
⑤ 左メニュー →「証明書とシークレット」→ クライアントシークレット を作成してメモ
⑥ 左メニュー →「API のアクセス許可」→「Microsoft Graph」→「委任されたアクセス許可」→ 以下をすべて追加:

User.Read User.ReadBasic.All Mail.Read Mail.ReadWrite Mail.Send Calendars.Read Calendars.ReadWrite Team.ReadBasic.All Channel.ReadBasic.All ChannelMessage.Read.All ChannelMessage.Send Chat.Read Chat.ReadWrite ChatMessage.Read ChatMessage.Send Files.Read.All Files.ReadWrite.All Sites.Read.All Sites.ReadWrite.All offline_access

共有リソース用(共有メールボックス・委任カレンダー):

Mail.Read.Shared Mail.ReadWrite.Shared Mail.Send.Shared Calendars.Read.Shared Calendars.ReadWrite.Shared

※ OneDrive・SharePoint・Teams の共有リソースは上の Files.ReadWrite.All / Sites.ReadWrite.All で既にカバー済みです

⑦「管理者の同意を与えます」をクリック
⑧ 左メニュー →「認証」→「+ プラットフォームを追加」→「Web」を選択
    • リダイレクト URI: https://your-app.vercel.app/api/auth/callback(デプロイ後に URL 確定してから入力。後からでも追加可能)
    • フロントチャネルのログアウト URL: 空のまま
    • アクセストークン(暗黙的なフローに使用): チェックしない
    • ID トークン(暗黙的およびハイブリッド フローに使用): チェックしない
    →「構成」をクリックして保存

2

Vercel にデプロイ(2分)

上の「▲ Vercel にデプロイ」ボタンをクリック。

New Project → リポジトリ名を確認して「Create」
Add Integrations → Upstash の横の「Add」 → ログイン画面で「Continue with GitHub」 → 連携画面で Redis の「Create new database...」 → Name: msgraph-mcp-server / Primary Region: ap-northeast-1(東京)/ Eviction: オフ →「Next」→ Plan: 「Free」 →「Create」→ Vercel に戻ったら「Save」
Add Environment Variables → 環境変数 4 つだけ入力:
ADMIN_SECRET — 自分で決めた管理パスワード
MICROSOFT_CLIENT_ID / MICROSOFT_CLIENT_SECRET / MICROSOFT_TENANT_ID — ステップ 1 でメモした値
④「Deploy」をクリック → デプロイ完了を待つ

3

/auth で Microsoft ログイン(1分)

https://your-app.vercel.app/auth にアクセス
② 管理パスワード(ADMIN_SECRET)を入力
③「Microsoft でログイン」→ サインイン → 権限許可
MCP API キーが画面に表示される → コピーして保存

4

MCP クライアントに接続して使い始める

Claude.ai(Web / モバイル):
設定 → コネクタ → カスタムコネクタを追加:
• 名前: Microsoft 365(任意)
• URL: https://your-app.vercel.app/api/mcp?key=<ステップ3のAPIキー>
• OAuth の欄は空のまま →「追加」→ 新しいチャットで利用開始

Claude Desktop(JSON設定):

claude_desktop_config.json
{ "mcpServers": { "microsoft365": { "type": "url", "url": "https://your-app.vercel.app/api/mcp?key=<APIキー>" } } }

Claude Code:
claude mcp add --transport http microsoft365 "https://your-app.vercel.app/api/mcp?key=<APIキー>"

以降一切何もしなくていい。Cron が毎日トークンを自動更新し続けます。

同じ作者のプロジェクト

Microsoft 365 + HubSpot — エンタープライズ MCP エコシステム

★ フラッグシップ

HubSpot MA
MCP Server

「来月セミナーやるからよろしく」と言うだけで、キャンペーン作成・フォーム作成・リスト作成・メール配信・ワークフロー設計まで AI が一貫して実行。

Knowledge Store(暗黙知の記憶)Claude Skill(行動規範)の 3 層構造で、単なる API ラッパーではなくあなたの会社の HubSpot を理解した MA 担当者として機能します。

128
MCP ツール
18
API カテゴリ
v3/v4
HubSpot API
3 層
アーキテクチャ
🧠 Claude Skill(固定・全企業共通)
MA 担当者としての判断規範 — Knowledge Store を毎回読み、自分で調べ尽くしてから人に聞く
📚 Knowledge Store(可変・企業固有)
HubSpot CRM ノートに保存 — 設計判断・命名規則・手順書等 12 カテゴリ、使うほど成長
⚡ MCP Tools × 128
HubSpot API v3/v4 完全カバー — CRM / Forms / Lists / Emails / Workflows / Campaigns
ContactsCompaniesDealsTicketsEngagementsAssociations v4PropertiesPipelinesProductsLine ItemsWorkflows v4FormsListsMarketing EmailsCampaignsCustom EventsMarketing EventsCMS Blog/Pages