SharePoint Docs MCP Server v0.3.0
🚀 新機能
OAuth 2.0認証対応
- OAuth 2.0 Authorization Code Flow with PKCEによる認証機能を追加
- FastMCPのOIDCProxyを活用した二段階認証アーキテクチャ
- HTTPトランスポート専用でブラウザベース認証をサポート
- ユーザー委任権限による最小権限の原則に基づくアクセス制御
セキュリティ機能強化
- 本番環境向けリダイレクトURI制限機能
- 開発環境: すべてのURIを許可(設定なし)
- 本番環境: 指定されたパターンのみ許可
- **PKCE(Proof Key for Code Exchange)**使用によるトークン傍受防止
- OAuth設定の事前検証とFail Fast原則
- セキュリティ監査ログ機能
🔧 技術的改善
認証アーキテクチャ
- AzureOIDCProxyForSharePoint: Azure AD v2.0対応のカスタムOIDCプロキシ
- 非対応の'resource'パラメータを自動除去
- SharePointTokenVerifier: SharePoint専用のトークン検証器
- SimpleTokenAuth: OAuth用のトークン認証ラッパー
設定管理の向上
- 認証モードの動的切り替え:
SHAREPOINT_AUTH_MODE環境変数 - OAuth用Client IDのフォールバック機能
- 詳細なエラーメッセージとデバッグ支援
後方互換性
- 既存の証明書認証との完全な後方互換性
- 設定の柔軟性を保ちながら新機能を追加
📋 新しい環境変数
# OAuth認証モード設定
SHAREPOINT_AUTH_MODE=oauth
# OAuth認証情報(HTTPトランスポート専用)
SHAREPOINT_OAUTH_CLIENT_SECRET=your-oauth-client-secret-here
SHAREPOINT_OAUTH_SERVER_BASE_URL=http://localhost:8000
# 本番環境向けリダイレクトURI制限
SHAREPOINT_OAUTH_ALLOWED_REDIRECT_URIS=https://claude.ai/*,https://*.anthropic.com/*🛡️ セキュリティ考慮事項
- 二段階認証: MCP Client ↔ FastMCP Server ↔ SharePoint API
- PKCE使用: パブリッククライアント(Claude Desktop、MCP Inspector等)での安全な認証
- 最小権限: ユーザー委任権限(AllSites.Read/Write)のみ使用
- トークン管理: FastMCPのセキュアなトークンハンドリング
📚 ドキュメント更新
- 設定ガイド: OAuth認証のAzure AD設定手順を追加
- 技術記事: OAuth実装の詳細な技術解説
- トラブルシューティング: OAuth関連の問題解決ガイド
🎯 利用シーン
証明書認証(従来)
- サーバーアプリケーション
- 自動化・バッチ処理
- 全サイトアクセスが必要なケース
OAuth認証(新機能)
- インタラクティブなユーザーセッション
- Claude Desktop統合
- MCP Inspector等のツール連携
- ユーザー権限に基づくアクセス制御
Claude Code との協力により開発されました 🤖