mcpField
M
microsoft-graph

microsoft-graph

github.com/markpitt生産性24257 回インストール36 週間前に更新
リポジトリ

microsoft-graph について

Microsoft Graph API Orchestration Skillは、Microsoft Graph REST APIを使うタスク向けに、分野別の資料と手順を提供するスキルです。Microsoft Cloudのリソースを扱うエージェント向けに、エンドポイント、権限、リクエスト例、ワークフローを整理しています。

主な機能

  1. 01サービス分野別の資料選択
  2. 02エンドポイントとCRUDの例
  3. 03認証と権限のガイダンス
  4. 04ページング、バッチ、差分クエリ
  5. 05エラー処理と再試行の指針

活用シーン

  1. 01Microsoft 365メールの読み取りや管理
  2. 02カレンダーの予定や会議の設定
  3. 03ユーザー、グループ、ディレクトリの管理
  4. 04OneDrive、SharePoint、Teamsリソースの操作

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/markpitt/claude-skills --skill microsoft-graph

インストール後、Claude Code で/microsoft-graphを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

REFACTORING_COMPLETION_REPORT.md
resources/
applications-auth.md
authentication-apps.md
calendar-scheduling.md
files-storage.md
identity-access.md
mail-calendar.md
mail-operations.md
planning-notes.md
planning-tasks.md
security-governance.md
teams-communications.md
scripts/
test-connection.py
templates/
auth-setup.md
common-queries.md

詳細

Microsoft Graph API オーケストレーションスキル

Microsoft Graph は、Microsoft 365、Windows、Enterprise Mobility + Security にわたる Microsoft Cloud リソースにアクセスするための統合 REST API エンドポイントです。ベース URL:https://graph.microsoft.com/{version}/{resource}

API バージョン: v1.0(本番環境)または beta(プレビュー)
認証: Azure AD による OAuth 2.0
データ形式: JSON

タスクに応じたリソースの読み込み方

タスクサービスリソースを読み込む
認証のセットアップ、アプリの登録、資格情報の管理アプリケーションと認証resources/authentication-apps.md
ユーザー、グループ、組織、ディレクトリの管理ID とアクセスresources/identity-access.md
メール、フォルダー、添付ファイル、ルール、署名メール操作resources/mail-operations.md
カレンダー、イベント、スケジュール設定、会議、空き時間カレンダーとスケジュール設定resources/calendar-scheduling.md
ファイルやフォルダーのアップロード、共有、OneDrive、SharePointファイルとストレージresources/files-storage.md
Teams、チャネル、チャット、プレゼンス、オンライン会議Teams とコミュニケーションresources/teams-communications.md
Planner のタスク、To Do リスト、OneNote ノートブック計画とノートresources/planning-notes.md
セキュリティアラート、コンプライアンス、デバイス管理、レポートセキュリティとガバナンスresources/security-governance.md

オーケストレーションプロトコル

フェーズ 1:タスクを分析する

次の問いに答えて、必要なサービス領域を特定します。

  • どのリソースですか?(ユーザー、ファイル、メッセージ、イベントなど)
  • どの操作ですか?(読み取り、作成、更新、削除)
  • 誰が操作しますか?(サインインしているユーザーまたはサービスアカウント)
  • どのアクセス許可ですか?(委任またはアプリケーション)
フェーズ 2:適切なリソースを読み込む

上記の選択表を使って、リソースファイルを確認します。各リソースには次の内容が含まれています。

  • ベースパスを含むエンドポイントの完全なリファレンス
  • すべての CRUD 操作のリクエスト/レスポンス例
  • クエリパラメーターとフィルターオプション
  • 必要なアクセス許可(委任およびアプリケーション)
  • エラー処理のパターンとベストプラクティス
  • 一般的なワークフローとパターン
フェーズ 3:確実に実装する

各リソースには、ユースケースに合わせた実践的で、そのままコピーして使える例が掲載されています。

Graph 共通の概念

標準クエリパラメーター:

$select=prop1,prop2              Choose properties to return
$filter=startsWith(name,'A')     Filter results by condition
$orderby=name desc               Sort results (asc or desc)
$top=25                          Limit to 25 results (default 20)
$skip=50                         Skip first 50 results
$expand=members                  Include related/nested data
$count=true                      Include total count in response
$search="keyword"                Full-text search across content

標準 CRUD 操作:

GET /me/messages?$select=subject&$top=10        # Read
POST /me/events {"subject": "Meeting", ...}     # Create
PATCH /users/{id} {"jobTitle": "Manager"}       # Update
DELETE /me/messages/{id}                        # Delete

ページネーション: 完全なデータセットを取得するには、レスポンスに含まれる @odata.nextLink を常にたどってください。

バッチリクエスト: POST /$batch を使用すると、1~20 件の操作を 1 回の呼び出しにまとめられます。

差分クエリ: GET /users/delta を使用すると、@odata.deltaLink を通じて前回のクエリ以降の変更を追跡できます。

エラーレスポンス形式:

{"error": {"code": "Code", "message": "Description"}}

一般的なステータスコード:

  • 200/201/204:成功
  • 400:無効なリクエスト
  • 401:認証が必要です
  • 403:アクセス許可が不足しています
  • 404:リソースが見つかりません
  • 429:レート制限に達しました(Retry-After ヘッダーを確認してください)
  • 500-503:サーバーエラー(指数バックオフを実装してください)

リソースファイル一覧

ファイル主な内容行数
authentication-apps.mdアプリ登録、OAuth、認証情報350+
identity-access.mdユーザー、グループ、組織、ディレクトリ350+
mail-operations.mdメール、フォルダー、添付ファイル、ルール400+
calendar-scheduling.mdイベント、定期開催、会議、空き時間/予定あり350+
files-storage.mdOneDrive、SharePoint、アップロード、共有400+
teams-communications.mdTeams、チャネル、チャット、プレゼンス350+
planning-notes.mdPlanner、To Do、OneNote350+
security-governance.mdセキュリティ、コンプライアンス、デバイス、レポート400+

ベストプラクティス

パフォーマンス: 特定のプロパティには$selectを使用し、ページネーションを実装し、トークンをキャッシュし、一括操作にはバッチ処理を使用し、同期シナリオには差分クエリを適用します

セキュリティ: トークンは安全に保管し(コード内には決して保存しないでください)、最小権限のアクセス許可を要求し、Azure ではマネージド ID を使用し、認証情報を90日ごとにローテーションし、すべての応答を検証します

開発: まずbetaエンドポイントでテストし、非推奨の通知を監視し、再試行には指数バックオフを実装し、レート制限を遵守し、Graph の正常性ステータスを確認します

トラブルシューティング:

  • 401 Unauthorized → トークンの有効性とスコープを確認します
  • 403 Forbidden → Azure AD でアクセス許可が構成されていることを確認します
  • 404 Not Found → リソース ID とリソースが存在することを確認します
  • 429 Too Many Requests → 指数バックオフによる再試行を実装します

ツールと SDK のリソース

対話型テスト: Graph Explorer(https://developer.microsoft.com/graph/graph-explorer)

SDK:

  • .NET:Microsoft.Graph NuGet
  • JavaScript/TypeScript:@microsoft/microsoft-graph-client npm
  • Python:msgraph-sdk-python pip

ドキュメント:


スキルバージョン: 2.1 | API バージョン: v1.0(本番)、beta(プレビュー) | 更新日: 2025年12月

コメント