mcpField
M
Microsoft 365 MCP Server

Microsoft 365 MCP Server

ローカル
npmjs.com開発ツール1352 週間前に更新

Microsoft 365 MCP Server について

Microsoft 365 MCP Server は、CLI for Microsoft 365 を基盤とする MCP サーバーで、自然言語で Microsoft 365 の複数のサービスを管理できます。Teams、SharePoint、Planner などの管理作業を行うユーザー向けで、m365 login で作成された認証コンテキストを再利用します。

主な機能

  1. 01自然言語による CLI for Microsoft 365 コマンドの実行
  2. 02コマンドの検索とドキュメントの取得
  3. 03m365 login の認証コンテキストの再利用
  4. 04CLI およびスクリプト作成用の Copilot スキル

活用シーン

  1. 01自然言語による SharePoint Online リストやサイトの管理
  2. 02Teams チームの作成とウェルカム投稿
  3. 03Power Automate フローの確認と無効化

MCP 対応

本プロジェクトは MCP サーバーであり、m365SearchCommands、m365GetCommandDocs、m365RunCommand、m365GetBestPractices の 4 つのツールを MCP クライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cli-microsoft365": {
"command": "npx",
"args": [
"-y",
"@pnp/cli-microsoft365-mcp-server"
]
}
}
}
起動コマンドnpx -y @pnp/cli-microsoft365-mcp-server

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@pnp/cli-microsoft365-mcp-server0.1.22

ツール

4

掲載時のツール一覧 · 3 週間前に更新

パラメーター型必須説明
querystringはい関連するコマンドを検索するためのクエリ(例:"sharepoint list"、"teams channel"、"user add")
limitnumberいいえ返す結果の最大数(デフォルト:10、最大:50)

詳細

CLI for Microsoft 365 MCP Server
CLI for Microsoft 365 MCP Server

VS Code にインストール VS Code Insiders にインストール

💡 説明

この MCP サーバーを使うと、自然言語で任意の CLI for Microsoft 365 コマンドを実行できます。複雑なプロンプトも処理でき、ユーザーのリクエストを満たすために、CLI for Microsoft 365 コマンドを連続して実行します。これにより、たとえば Entra ID、OneDrive、OneNote、Outlook、Planner、Power Apps、Power Automate、Power Platform、SharePoint Embedded、SharePoint Online、Teams、Viva Engage など、Microsoft 365 のさまざまな領域を管理できます。

最良の結果を得るには、Claude Sonnet 4 または Claude Sonnet 3.7 と併用してください。

📦 前提条件

  • Node.js 20.x 以降
  • CLI for Microsoft 365 がグローバルにインストールされていること(npm i -g @pnp/cli-microsoft365)

🚀 インストールと使用方法

👉 CLI for Microsoft 365 MCP Server ガイドをご覧ください
👉 入門動画 🎬をご覧ください

この MCP サーバーは、グローバルにインストールされた CLI for Microsoft 365 を使用します。CLI は npm i -g @pnp/cli-microsoft365 を使ってグローバルにインストールする必要があります。

CLI for Microsoft 365 をインストールしたら、次のコマンドを実行して初期設定を行います。

m365 setup

詳しくは、Microsoft 365 へのログインをご覧ください。

CLI for Microsoft 365 の設定が完了したら、次のコマンドを使って構成を更新してください。

m365 cli config set --key prompt --value false
m365 cli config set --key output --value text
m365 cli config set --key helpMode --value full

これにより、エラーが発生した場合やコマンドが正しく実行されなかった場合に、MCP サーバーが CLI for Microsoft 365 からできるだけ多くの情報を取得できるようになります。

MCP サーバーがユーザーに代わって認証を行うことはありません。まず、m365 login コマンドを使って CLI for Microsoft 365 で認証する必要があります。認証が完了すると、MCP サーバーはツールの実行時に同じ認証コンテキストを使用します。

最後に、選択した MCP ホストの手順に従って、使用する MCP クライアントに MCP サーバーをインストールしてください。以下では、VS Code の手順を紹介します。

VS Code に追加する

MCP サーバーを VS Code に追加する方法はいくつかあります。最も一般的な方法は次のとおりです。

  1. コマンドパレット(macOS では Ctrl+Shift+P または Cmd+Shift+P)を開き、MCP: Add Server と入力します。

  2. サーバーの種類として Command (stdio) を選択します。

  3. MCP サーバーを実行するコマンドを入力します。コマンドは次のとおりです。

    npx -y @pnp/cli-microsoft365-mcp-server@latest
    
  4. サーバーに名前を付けます(例:CLI for Microsoft 365 MCP Server)。

その結果、.vscode/mcp.json ファイルに次の構成が設定されます。

{
    "servers": {
        "CLI for Microsoft 365 MCP Server": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@pnp/cli-microsoft365-mcp-server@latest"
          ]
        }
    }
}

これで、VS Code で GitHub Copilot のチャットを開くと、利用可能な MCP サーバーの一覧から CLI for Microsoft 365 MCP Server を選択し、自然言語を使って Microsoft 365 を管理できるようになります。プロンプトに「Using CLI for Microsoft 365, I want you to...」と指定すると、GitHub Copilot Agent が MCP サーバーを使ってリクエストを実行します。

GitHub Copilot CLI に追加する

GitHub Copilot CLI を使用している場合は、次の手順で CLI for Microsoft 365 MCP サーバーを Copilot に追加できます。

  1. まず、次のコマンドを実行して Copilot CLI を起動します。
  copilot
  1. copilot mcp コマンドを使って MCP サーバーを追加します。
  /mcp add
  1. MCP フォームが開きます。以下の情報を入力してください。
  • サーバー名:任意の名前を指定できますが、スペースは使用しないでください(例:cli-microsoft365-mcp-server)。
  • サーバーの種類:Local を選択します。
  • コマンド:npx
  • 引数:"-y", "@pnp/cli-microsoft365-mcp-server@latest" ほかのフィールドは既定値のままでかまいません。

その後、Ctrl+S を押して MCP サーバーを保存し、q を押して MCP フォームを終了します。
これで、プロンプトに指定することで GitHub Copilot CLI から CLI for Microsoft 365 MCP サーバーを使用できるようになります(例:「Using CLI for Microsoft 365, I want you to...」)。

Claude に追加する

Claude Desktop を使用している場合は、Claude Desktop の構成に手動で追加して MCP サーバーを登録できます。

Claude Desktop の構成に手動で追加する
  1. Claude Desktop で、左上のハンバーガーアイコンをクリックして設定を開きます。
  2. File > Settings を選択します(または Ctrl + , を押します)。
  3. Developer タブで、Edit Config をクリックします。
    注:Developer タブが表示されない場合は、Help > Enable Developer Mode から有効にする必要があります。
  4. エクスプローラーが開きます。お好みのテキストエディターで claude_desktop_config.json を編集します。 ファイルに次の構成を追加します。
{
  "mcpServers": {
    "CLI-Microsoft365": {
      "command": "npx",
      "args": ["-y", "@pnp/cli-microsoft365-mcp-server@latest"]
    }
  }
}
  1. Claude Desktop を終了して再起動します。コードまたは構成を変更するたびに、変更を反映するには Claude Desktop を再起動する必要があります。

注:Windows では、ウィンドウを閉じても Claude は終了せず、バックグラウンドで実行されます。システムトレイで見つけることができます。アイコンを右クリックし、Quit を選択すると、アプリケーションを完全に終了できます。

これで完了です。Claude Desktop で CLI-Microsoft365 MCP サーバーを使用できるようになります。

Cursor に追加する

Cursor を使用している場合は、次の手順で MCP サーバーを追加できます。

  1. チャットのオプションから Agent settings を選択します。
  2. Tools & MCP タブに移動し、New MCP server をクリックします。
  3. mcp.json の構成を次のように変更します。
{
  "mcpServers": {
    "CLI for Microsoft 365 MCP Server": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@pnp/cli-microsoft365-mcp-server@latest"
      ]
    }
  }
}
  1. Tools & MCP タブで「CLI for Microsoft 365 MCP Server」を保存して有効にし、ツールが読み込まれるまで待ちます。

📷 ユースケース

以下のユースケースは、この MCP サーバーの使用例のほんの一部です。このサーバーはさまざまなタスクに対応できるため、ぜひ試してみてください。基本的に、自然言語を使って Microsoft 365 のすべてを管理できます。

また、CLI for Microsoft 365 wiki を確認して、CLI for Microsoft 365 を使った Microsoft 365 の管理方法に関するその他のシナリオを参照することもできます。

SharePoint Online を管理する

次の例では、MCP サーバーが新しい列を追加した SharePoint リストを作成し、いくつかのテスト項目を入力しました。

プロンプト: "このサイトに「awesome ducks」というタイトルの新しいリストを追加してください。次に、そのリストに新しい列を追加して、既定のビューに含めてください。1 つ目はテキスト形式の説明列、2 つ目はユーザー列にしてください。 次に、説明列にドキュメントに関する面白いジョークを入力し、ユーザー列に自分のユーザーを指定して、このリストに 3 つの項目を追加してください。絵文字も使ってください 🙂"

SharePoint リストの新規作成を依頼するプロンプトを表示した GitHub Copilot チャットが開いている Visual Studio Code のスクリーンショットと、新しく作成された SharePoint リスト、その列および項目を表示するウェブブラウザー

Microsoft Teams を管理する

次の例では、新しい Microsoft Teams チームを作成し、General チャネルに歓迎メッセージを投稿する方法を示します。

プロンプト: "Teams に「Awesome Ducks」という名前の新しいチームを作成し、General チャネルに歓迎メッセージを投稿してください"

新しい Teams チームの作成と General チャネルへの歓迎メッセージの投稿を依頼するプロンプトを表示した GitHub Copilot チャットが開いている Visual Studio Code のスクリーンショットと、新しく作成された Teams チームおよび歓迎メッセージを表示するウェブブラウザー

Power Platform ソリューションを管理する

この例では、MCP サーバーが Power Automate フローを無効にします。

プロンプト: "HoursReportingReminder フローがあるか確認して、あれば無効にしてもらえますか"

PowerAutomate フローの無効化を依頼するプロンプトを表示した GitHub Copilot チャットが開いている Visual Studio Code のスクリーンショットと、プロンプトによって 1 つが無効になったフローの一覧を表示するウェブブラウザー

Planner を管理する

次の例では、MCP サーバーがサンプルのバケットとタスクを含む新しい Planner プランを作成します。

プロンプト: "awesome ducks の作業を管理するために、Planner で新しいプランを作成してもらえますか。作業を始めるために、サンプルのバケットとタスクがいくつか必要です"

新しい Planner プランの作成を依頼するプロンプトを表示した GitHub Copilot チャットが開いている Visual Studio Code のスクリーンショットと、新しく作成されたプランおよびサンプルのバケットとタスクを表示するウェブブラウザー

🛠️ ツール

ツール説明
m365SearchCommandsクエリ文字列に基づくあいまい検索を使用して、Microsoft 365 CLI のコマンドを検索します。すべてのコマンドを取得するより効率的で、関連する一致項目のみを返します。関連するコマンドを見つけるには、まずこのツールを使用してください。
m365GetCommandDocsModel Context Protocol がコマンドに関する詳細情報と、例、ユースケース、オプションの説明を提供するために使用する、指定された Microsoft 365 CLI コマンドのドキュメントを取得します
m365RunCommandModel Context Protocol がコマンドを実行し、結果を返して応答について推論するために使用する、指定された Microsoft 365 CLI コマンドを実行します
m365GetBestPractices認証チェック、エラー処理、出力処理、構成に関するガイダンスなど、スクリプトで Microsoft 365 CLI を使用する際のベストプラクティスを取得します

🎓 スキル

このリポジトリには、CLI for Microsoft 365 を効果的に使用する方法を AI に教えるカスタム GitHub Copilot スキルが含まれています。関連するタスクが検出されると、スキルは GitHub Copilot によって自動的に読み込まれます。

スキル説明
cli-microsoft365Copilot に、ターミナルで m365 コマンドを直接実行する方法を案内します。コマンドの構文、認証方法、出力形式、JMESPath によるフィルタリング、SharePoint Online、Entra ID、Teams、Power Platform などを管理する一般的なパターンを扱います。Copilot に CLI for Microsoft 365 コマンドを対話的に実行するよう依頼する場合に使用します。
cli-microsoft365-scriptm365 コマンドを使用して Microsoft 365 の管理を自動化する PowerShell スクリプトの作成方法を Copilot に案内します。スクリプトのセットアップ、Invoke-CLICommand ヘルパーを使用した構造化されたエラー処理、CI/CD 認証、バッチ処理、CSV の処理、セキュリティのベストプラクティスを扱います。Copilot に自動化スクリプトの作成を依頼する場合に使用します。

🏗️ ローカルでのビルドと実行方法

まず、npm install を実行してすべての依存関係をインストールします。

次に、プロジェクトをビルドするには、以下を実行します。

npm run build
ローカルビルドから VS Code で MCP を実行する

ローカルビルドから VS Code で MCP サーバーを実行して、GitHub Copilot エージェントから使用することもできます。 まず、以下のコマンドを使用して CLI for Microsoft 365 MCP サーバーを起動します。

npm run start

次に、VS Code の GitHub Copilot エージェントモードでツールアイコンをクリックし、Add more tools を選択します。続いて Add MCP server、Command (stdio) の順に選択し、以下のコマンドを入力します。

node FULL_PATH_TO_YOUR_PROJECT/dist/index.js

Enter キーを押して、任意の名前を付けます。テストには workspace スコープに追加することをおすすめします。その後、.vscode/mcp.json ファイルを開き、認証に必要な環境変数を渡すように変更します。

{
    "servers": {
        "m365-mcp-server": {
            "type": "stdio",
            "command": "node",
            "args": [
                "FULL_PATH_TO_YOUR_PROJECT/dist/index.js" // e.g. C:/workspace/repo/microsoft-365-mcp-server/dist/index.js
            ]
        }
    }
}
インスペクターを使用してローカルビルドから MCP を実行する(デバッグ)

CLI for Microsoft 365 MCP サーバーをテストする方法の一つは、MCP Inspector を使用することです。 このセットアップは主にデバッグや、MCP サーバーをローカルでテストするために使用します。 まず、以下のコマンドを使用して MCP サーバーを起動します。

npm run start

次に、MCP サーバーのインスペクターを実行するには、リポジトリのルートフォルダーで以下のコマンドを実行します。

npx @modelcontextprotocol/inspector node dist/index.js

その後、インスペクターが起動するまで待ち、ブラウザーでインスペクターを開きます。MCP サーバーが実行中であることを確認でき、ツールにクエリを実行してローカルで実行できるようになります。

🔗 リソース

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。