「ClaudeをWordで使えるって聞いたけど、どうやって業務に組み込めばいいの?」
2026年に入ってAnthropicがMicrosoft 365との統合を大幅に強化し、Word・SharePoint・OneDriveをClaudeから直接操作できるようになりました。単にCopilotの裏でClaudeが動くという話ではなく、MCPプロトコルを使った本格的なエージェント統合です。
この記事では、M365 Connectorの仕組みから始まり、Microsoft Graph APIとの連携、そしてWordドキュメントを自動生成・編集・レビューするエージェントの実装方法まで、実際に動くコードとともに解説します。
AnthropicがリリースしたM365 ConnectorはModel Context Protocol(MCP)を使ってClaudeとMicrosoft 365テナントを接続する仕組みです。
仕組みはシンプルで、「M365 MCP Server for Claude」と「M365 MCP Client for Claude」という2つのアプリがGraph APIのデリゲート権限を使ってMicrosoft 365のデータにアクセスします。ユーザーが一度同意すれば、Claude側からSharePoint・OneDrive・Outlook・Teamsのデータを読み書きできます。
| 機能 | アクセス先 | 操作内容 |
|---|---|---|
| 文書検索・読み取り | SharePoint / OneDrive | Wordファイル・PDFの内容取得 |
| メール分析 | Outlook | スレッド検索・要約・下書き生成 |
| チャット参照 | Teams | 会議要約・会話履歴の分析 |
| カレンダー連携 | Outlook Calendar | スケジュール確認・会議設定 |
| Word文書作成 | OneDrive / SharePoint | 新規ドキュメントの生成・編集 |
2026年4月時点でFree・Pro・Max・Team・Enterpriseの全プランで利用可能になっています(参照: Anthropic公式ヘルプ)。ただしEnterpriseプランで使う場合は、Microsoft 365管理センターでAnthropicをサブプロセッサとして有効化する必要があります(2026年5月1日までに設定必須)。
AIエージェントの基本概念や構築パターンについては、AIエージェント構築完全ガイドで体系的にまとめています。
M365 Connectorのセットアップ手順
接続自体は3ステップで完了します。
ステップ1: Microsoft Marketplaceでアプリを承認
Microsoft AppSource(marketplace.microsoft.com)で「M365 Connector for Claude by Anthropic」を検索してインストールします。Enterpriseの場合はIT管理者がテナント全体で承認する形になります。
ステップ2: Claude.aiで接続を有効化
Claude.aiの設定画面(Settings → Integrations)を開き、「Microsoft 365」のトグルをオンにします。Microsoftアカウントでの認証フローが走り、デリゲート権限の同意画面が表示されます。
ステップ3: 権限スコープの確認
同意する権限は「ファイル読み取り」「メール読み取り」「Teams読み取り」など読み取り系が中心です。書き込み権限(Word文書の作成・編集)が必要な場合は別途有効化が必要です。
Wordドキュメントエージェントの実装例
M365 ConnectorだけでもClaudeとWordは連携できますが、より高度な自動化(バッチ処理・スケジュール実行・複数ファイル操作)には、Graph APIをPythonから直接呼び出すエージェント構築が有効です。
まず、Microsoft Graph APIを使ってOneDriveのWordファイルを読み取り、Claudeで要約するエージェントの基本コードです。
# 動作環境: Python 3.11+
# 必要パッケージ: pip install anthropic msal requests
# 注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください。
import anthropic
import requests
from msal import ConfidentialClientApplication
# Microsoft Entra(Azure AD)の認証設定
TENANT_ID = "your-tenant-id"
CLIENT_ID = "your-client-id"
CLIENT_SECRET = "your-client-secret" # 実際は環境変数から取得
# Graph APIトークン取得
def get_graph_token():
app = ConfidentialClientApplication(
CLIENT_ID,
authority=f"https://login.microsoftonline.com/{TENANT_ID}",
client_credential=CLIENT_SECRET,
)
result = app.acquire_token_for_client(
scopes=["https://graph.microsoft.com/.default"]
)
return result["access_token"]
# OneDriveからWordファイルのテキストを取得
def get_word_content(file_id: str, token: str) -> str:
url = f"https://graph.microsoft.com/v1.0/me/drive/items/{file_id}/content"
headers = {"Authorization": f"Bearer {token}"}
# Wordファイルはテキスト変換してダウンロード
resp = requests.get(
f"https://graph.microsoft.com/v1.0/me/drive/items/{file_id}",
headers=headers
)
# ファイルの内容を取得(/contentエンドポイント)
content_resp = requests.get(url, headers=headers, allow_redirects=True)
return content_resp.text[:8000] # トークン上限に合わせてトリミング
# Claudeでドキュメントを要約・分析
def analyze_document(content: str, task: str) -> str:
client = anthropic.Anthropic()
message = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=2048,
messages=[
{
"role": "user",
"content": f"以下のWord文書を{task}してください:nn{content}"
}
]
)
return message.content[0].text
# 使用例
token = get_graph_token()
content = get_word_content("your-file-id", token)
result = analyze_document(content, "要約・課題抽出")
print(result)
動作環境: Python 3.11+, anthropic>=0.40.0, msal>=1.28.0
前提条件: Microsoft Entra(旧Azure AD)でアプリ登録済み、Files.Read.All権限付与済み
文書自動生成エージェントの実装
レポートや契約書のドラフトを自動生成してOneDriveに保存するエージェントです。AnthropicのAgent Skillsフレームワークと組み合わせると、より複雑なワークフローも構築できます。
# Word文書を自動生成してOneDriveにアップロードするエージェント
# 必要パッケージ: pip install python-docx anthropic requests msal
# 注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください。
from docx import Document
import io
import anthropic
import requests
def generate_report_with_claude(topic: str, context: str) -> str:
"""Claudeでレポートの本文を生成"""
client = anthropic.Anthropic()
msg = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=4096,
messages=[{
"role": "user",
"content": (
f"以下のトピックについて、ビジネスレポートとして使えるMarkdown形式の文書を作成してください。n"
f"トピック: {topic}n"
f"背景情報: {context}nn"
"構成: エグゼクティブサマリー → 現状分析 → 課題と提言 → 結論"
)
}]
)
return msg.content[0].text
def create_word_from_markdown(markdown_text: str, title: str) -> bytes:
"""MarkdownテキストをWordファイルに変換"""
doc = Document()
doc.add_heading(title, 0)
for line in markdown_text.split('n'):
if line.startswith('# '):
doc.add_heading(line[2:], 1)
elif line.startswith('## '):
doc.add_heading(line[3:], 2)
elif line.startswith('### '):
doc.add_heading(line[4:], 3)
elif line.strip():
doc.add_paragraph(line)
buffer = io.BytesIO()
doc.save(buffer)
return buffer.getvalue()
def upload_to_onedrive(file_bytes: bytes, filename: str, token: str) -> str:
"""OneDriveにWordファイルをアップロード"""
url = f"https://graph.microsoft.com/v1.0/me/drive/root:/{filename}:/content"
headers = {
"Authorization": f"Bearer {token}",
"Content-Type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
}
resp = requests.put(url, headers=headers, data=file_bytes)
resp.raise_for_status()
return resp.json()["webUrl"] # 生成されたファイルのURL
# エージェント実行
token = get_graph_token() # 前述の関数を使用
report_content = generate_report_with_claude(
topic="2026年Q2 AI導入状況レポート",
context="社内の各部門からのヒアリング結果と、市場調査データ"
)
word_bytes = create_word_from_markdown(report_content, "2026年Q2 AI導入状況レポート")
file_url = upload_to_onedrive(word_bytes, "AI_Report_2026Q2.docx", token)
print(f"レポートを作成しました: {file_url}")
Microsoft 365 Copilot経由での連携(コード不要)
開発者以外のビジネスユーザーには、Microsoft 365 CopilotのResearcherエージェントを使った連携が現実的です。
2026年のCopilotアップデートで、WordのCopilotチャットペインからAnthropicモデル(Claude Opus 4.6 / Sonnet 4.6)を選択して使えるようになりました(Microsoft公式サポート)。ResearcherエージェントではGPT-5系が下書きを生成し、ClaudeがファクトチェックとCitation整合性を確認するデュアルモデルワークフローになっています。
# Python不使用でのドキュメント操作: Graph API REST直接呼び出し(curlで確認)
# 注意: 本番環境で使用する前に、必ずテスト環境で動作確認してください。
# OneDrive内のWordファイル一覧を取得(検索)
curl -X GET
"https://graph.microsoft.com/v1.0/me/drive/root/search(q='report')"
-H "Authorization: Bearer $GRAPH_TOKEN"
-H "Accept: application/json"
# 特定フォルダ内のファイル一覧
curl -X GET
"https://graph.microsoft.com/v1.0/me/drive/root:/Documents:/children"
-H "Authorization: Bearer $GRAPH_TOKEN"
# ファイルの共有リンク生成(レビュー依頼に便利)
curl -X POST
"https://graph.microsoft.com/v1.0/me/drive/items/{fileId}/createLink"
-H "Authorization: Bearer $GRAPH_TOKEN"
-H "Content-Type: application/json"
-d '{"type": "view", "scope": "organization"}'
【要注意】よくある失敗パターンと回避策
失敗1: デリゲート権限とアプリ権限を混同する
❌ M365 Connectorのデリゲート権限でバッチ処理しようとする
⭕ バッチ処理・スケジュール実行にはEntra IDでアプリ権限(Files.ReadWrite.All等)を別途取得
なぜ重要か: M365 ConnectorはユーザーのセッションにバインドされたOAuth2デリゲート権限を使います。ユーザーがログアウトすると権限が切れるため、夜間バッチなど無人実行には向きません。
失敗2: Enterpriseでサブプロセッサ設定を忘れる
❌ IT管理者への連絡なしにM365 Connectorを使おうとして403エラー
⭕ Microsoft 365管理センターで「プライバシー → サードパーティアプリのデータ処理」からAnthropicを有効化
なぜ重要か: テナント全体の設定変更が必要です。2026年5月1日以降は設定なしでは使えなくなります。
失敗3: Wordファイルを直接バイナリとして読もうとする
❌ Graph APIの/contentエンドポイントでdocxをそのままテキスト処理する
⭕ python-docxで解析するか、Graph APIのドキュメント変換機能(.htmlや.txtへの変換)を使う
なぜ重要か: docxはZip圧縮されたXMLです。バイナリを直接Claudeに渡してもXMLタグが邪魔してうまく処理できません。
失敗4: 全てのClaudeモデルでAgent Skillsが使えると思い込む
❌ Haiku 3.5でWord Skillを使おうとしてエラー
⭕ Agent SkillsはClaude Opus 4.5+またはSonnet 4.5+から利用可能
セキュリティと権限管理
M365との統合では、セキュリティを最優先に考える必要があります。
- 最小権限の原則: Graph APIアプリには必要最小限のスコープのみ付与する(Files.ReadWrite.Allは必要なければ付与しない)
- クライアントシークレットの管理: .envファイルやAzure Key Vaultで管理。コードへのハードコードは絶対にNG
- 条件付きアクセス: M365側でIPアドレス制限や多要素認証要件を設定し、エージェントアプリのアクセスを制御
- 監査ログ: Microsoft Purviewの監査ログでClaudeからのアクセスパターンを定期確認
正直に言うと、AnthropicとMicrosoftの統合は2026年4月時点でまだ発展中のエリアです。Agent Skillsの全機能が安定して使えるようになるのはもう少し先かもしれません。エンタープライズ導入の場合は、まずPoC(概念実証)から始めることをおすすめします。
参考・出典
- Enable and use the Microsoft 365 connector — Anthropic公式ヘルプ(参照日: 2026-04-11)
- Agent Skills Overview — Claude API公式ドキュメント(参照日: 2026-04-11)
- Using the Microsoft 365 Connector for Claude — Office 365 IT Pros(参照日: 2026-04-11)
- Use Claude with Researcher in Microsoft 365 Copilot — Microsoft公式サポート(参照日: 2026-04-11)
- Deploy and use Claude models in Microsoft Foundry — Microsoft Learn(参照日: 2026-04-11)
まとめ:今日から始める3つのアクション
- 今日やること: Claude.aiの設定画面からM365 Connectorを有効化し、SharePointの既存文書をClaudeに読み込ませて要約させてみる
- 今週中: Python + Graph APIで社内レポートの自動生成PoC(概念実証)を構築する
- 今月中: IT管理者と連携してEnterpriseテナントでのサブプロセッサ設定を完了し、本番ワークフローへの統合を開始する
あわせて読みたい:
- AIエージェント構築完全ガイド — エージェント設計の基本概念から実装まで
- Claude Agent SDK完全ガイド — PythonとTypeScriptでのエージェント開発
この記事はAIgent Lab編集部がお届けしました。AIエージェントの本格導入を検討中の方は、Uravationのお問い合わせフォームからご相談ください。