Microsoft 365 MCP Server

by pnp

Integrations

  • Enables GitHub Copilot Agent to interact with Microsoft 365 services, allowing execution of Microsoft 365 CLI commands through the MCP server integration in VS Code.

  • Runs Microsoft 365 MCP server on Node.js runtime, enabling execution of CLI commands for Microsoft 365 services programmatically.

  • Utilizes TypeScript for implementing the Microsoft 365 MCP server, leveraging the MCP TypeScript SDK for development.

CLI for Microsoft 365 MCP Server

💡 Description

Currently this is a work in progress and more POC than a solution.

📦 Prerequisites

  • Node.js 20.x or higher

🚀 How to build and run

Before anything first run npm install to install all dependencies.

Then in order to build the project run:

npm run build

This MCP server uses the globally installed CLI for Microsoft 365 that you need to install globally using npm i -g @pnp/cli-microsoft365.

The MCP server will not do any authentication for you. You will need to first authenticate using CLI for Microsoft 365 using the m365 login command. Once you are authenticated the MCP server will use the same authentication context when running any tool.

Running MCP using the inspector

One of the ways to test the CLI for Microsoft 365 MCP server is using the MCP Inspector. First start the MCP server using the command:

npm run start

Now in order to run the inspector for your MCP server you need run the following command in the repo root folder location:

npx @modelcontextprotocol/inspector node dist/index.js

After that wait for the inspector to start and open the inspector in your browser. You should see the MCP server running and you should be able to query the tools and execute them locally.

Running MCP in VS Code

It is also possible to run the MCP server in VS Code from your local build so that it may be used by GitHub Copilot Agent. First start the CLI for Microsoft 365 MCP server using the command:

npm run start

Now go to VS Code GitHub Copilot Agent mode click on the tools icon and select Add more tools. Then select Add MCP server and then Command (stdio) and enter the following command:

node FULL_PATH_TO_YOUR_PROJECT/dist/index.js

Click enter and name it how ever you like. It is recommended to add it to workspace scope for testing. After that open up your .vscode/mcp.json file and modify it so pass the environment variables needed for auth.

{ "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 ] } } }

Click on start and you should see 358 new tools added to your GitHub Copilot Agent. Test them out. It is recommended to use Claude 3.5 Sonnet as the AI model for the best results.

🔗 Resources

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

An MCP server that enables running CLI for Microsoft 365 commands through GitHub Copilot Agent, allowing users to interact with Microsoft 365 services using natural language.

  1. 💡 Description
    1. 📦 Prerequisites
      1. 🚀 How to build and run
        1. Running MCP using the inspector
        2. Running MCP in VS Code
      2. 🔗 Resources

        Related MCP Servers

        • -
          security
          A
          license
          -
          quality
          A lightweight MCP server allowing agents to interact with the WorkOS API for streamlined WorkOS operations through natural language commands.
          Last updated -
          3
          TypeScript
          MIT License
        • -
          security
          F
          license
          -
          quality
          An MCP server that enables Claude to generate and execute AWS CLI commands, allowing users to manage AWS resources through natural language conversations.
          Last updated -
          1
          TypeScript
        • A
          security
          F
          license
          A
          quality
          Exposes Salesforce CLI functionality to LLM tools like Claude Desktop, allowing AI agents to execute Salesforce commands, manage orgs, deploy code, and query data through natural language.
          Last updated -
          5
          46
          17
          JavaScript
          • Linux
          • Apple
        • A
          security
          F
          license
          A
          quality
          An MCP server that provides seamless interaction with Azure DevOps Git repositories, enabling users to manage repositories, branches, pull requests, and pipelines through natural language.
          Last updated -
          8
          2
          TypeScript

        View all related MCP servers

        ID: n8z4izbtwe