Microsoft Work IQ

Microsoft WorkIQ is Microsoft’s official MCP server that connects AI assistants to Microsoft 365 Copilot data through natural language queries.

The MCP server provides direct access to emails, calendar meetings, documents, Teams messages, and people information across your organization’s Microsoft 365 tenant.

You can ask questions such as “What did my manager say about the project deadline?” or “Find my recent documents about Q4 planning” and receive structured responses from your actual Microsoft 365 data.

Features

  • 🔐 Tenant-Wide Data Access: Queries emails, meetings, documents, Teams messages, and people data across your Microsoft 365 tenant with admin-consented permissions.
  • 💬 Natural Language Interface: Processes questions in plain English without requiring specific query syntax or M365 API knowledge.
  • 🔌 Dual Deployment Options: Runs as a GitHub Copilot CLI plugin for immediate use or as a standalone MCP server for integration with coding agents and IDEs.
  • 🌐 Cross-Platform Support: Functions on Windows (x64/ARM64), Linux (x64/ARM64), and macOS (x64/ARM64) including WSL environments.
  • ⚡ Direct CLI Interaction: Includes a built-in ask command for testing queries without configuring an AI assistant.

How to Use It

Initial Setup and EULA Acceptance

You must accept the End User License Agreement before using WorkIQ. Run the following command after installation:

workiq accept-eula

Installation via GitHub Copilot CLI

The GitHub Copilot CLI method provides the fastest deployment path. Open your terminal and start the Copilot CLI:

copilot

Add the GitHub plugins marketplace if you have not done so previously:

/plugin marketplace add github/copilot-plugins

Install the WorkIQ plugin:

/plugin install workiq@copilot-plugins

Restart the Copilot CLI session. You can now query your Microsoft 365 data directly via natural-language prompts in the CLI.

Standalone MCP Server Installation

Install WorkIQ MCP server globally through npm:

npm install -g @microsoft/workiq

Start the MCP server in stdio mode:

workiq mcp

You can also run the server without installing it globally by using npx:

npx -y @microsoft/workiq mcp

Configuration for MCP clients

Add WorkIQ as an MCP server in your AI assistant or IDE configuration file. The configuration uses npx to run the server without requiring a global installation:

{
  "workiq": {
    "command": "npx",
    "args": [
      "-y",
      "@microsoft/workiq",
      "mcp"
    ],
    "tools": [
      "*"
    ]
  }
}

Administrative Consent for Tenant Access

WorkIQ requires administrative consent to access Microsoft 365 tenant data. On first authentication attempt, a consent dialog will appear. If you are not a tenant administrator, you must contact your IT department to grant the necessary permissions.

Tenant administrators can review the detailed consent process in the ADMIN-INSTRUCTIONS.md file included with the package. Microsoft provides a one-click consent URL that administrators can use to approve the required permissions. The permissions follow Microsoft’s standard admin consent flow documented at their Entra identity platform.

WSL Browser Support

The WorkIQ authentication flow launches a browser for OAuth sign-in. WSL users must install browser support utilities:

sudo apt install xdg-utils
sudo apt install wslu

These packages enable WSL to open the default Windows browser for authentication.

Command Line Interface

The WorkIQ CLI provides several commands beyond the MCP server mode:

Interactive Mode: Launch an interactive session where you can ask multiple questions:

workiq ask

Single Question Mode: Ask a specific question and exit:

workiq ask -q "What meetings do I have tomorrow?"

Tenant-Specific Queries: Target a specific tenant by providing the tenant ID:

workiq ask -t "your-tenant-id" -q "Show my emails from last week"

Version Information: Check the installed WorkIQ version:

workiq version

Available Query Types

The server supports queries across five primary Microsoft 365 data types:

Emails: Search through your email messages with natural language. Example: “What did John say about the proposal?”

Meetings: Access calendar events and meeting information. Example: “What’s on my calendar tomorrow?”

Documents: Find files across SharePoint and OneDrive. Example: “Find my recent PowerPoint presentations”

Teams Messages: Query conversations in Microsoft Teams channels. Example: “Summarize today’s messages in the Engineering channel”

People: Search for colleagues and their information. Example: “Who is working on Project Alpha?”

Global Options

The WorkIQ CLI accepts global options that apply to all commands:

Tenant ID: Specify which Entra tenant to authenticate against. Defaults to “common” which uses the home tenant of the authenticated user.

-t, --tenant-id <tenant-id>

Help Information: Display command usage and options.

-?, -h, --help

Version Display: Show the current WorkIQ version.

--version

FAQs

Q: What happens if I am not a tenant administrator and WorkIQ requests admin consent?
A: The authentication flow will fail until an administrator grants consent. Contact your IT department and provide them with the ADMIN-INSTRUCTIONS.md file from the WorkIQ package.

Q: Can I use WorkIQ with multiple Microsoft 365 tenants?
A: Yes. Use the –tenant-id option with your specific tenant ID for each command. The default “common” value uses your home tenant, but you can override this for each query or MCP server session.

Q: How do I troubleshoot authentication failures in WSL?
A: Install the xdg-utils and wslu packages to enable browser launching from WSL. If authentication still fails, verify that your WSL installation can open Windows applications and that your default browser is configured correctly.

Q: What is the difference between using WorkIQ through GitHub Copilot CLI versus as a standalone MCP server?
A: The GitHub Copilot CLI integration provides immediate access through the Copilot interface without additional configuration. The standalone MCP server mode allows integration with any MCP-compatible AI assistant or IDE.

Latest MCP Servers

Terminal

Give AI agents safe shell access via Terminal MCP, featuring native PTY support, sandbox restrictions, and asciicast session recording.

Cloudflare

Query and execute Cloudflare API calls through an MCP server that solves context overflow with isolated code execution and intelligent truncation.

Comet

An MCP server connecting Claude Code to Perplexity Comet for multi-agent web browsing, research delegation, and authenticated workflows.

View More MCP Servers >>

Featured MCP Servers

Microsoft Work IQ

Query Microsoft 365 tenant data with WorkIQ MCP server. Supports emails, calendar, documents, Teams, and people search through natural language.

Better Icons

Search and sync icons directly to your project files using Better Icons MCP server. Supports React, Vue, Svelte, and 150+ icon collections.

Apify

Connect AI assistants to 8000+ web scraping tools via Apify MCP Server. Extract social media data, contact details, and automate web research.

More Featured MCP Servers >>

FAQs

Q: What exactly is the Model Context Protocol (MCP)?

A: MCP is an open standard, like a common language, that lets AI applications (clients) and external data sources or tools (servers) talk to each other. It helps AI models get the context (data, instructions, tools) they need from outside systems to give more accurate and relevant responses. Think of it as a universal adapter for AI connections.

Q: How is MCP different from OpenAI's function calling or plugins?

A: While OpenAI's tools allow models to use specific external functions, MCP is a broader, open standard. It covers not just tool use, but also providing structured data (Resources) and instruction templates (Prompts) as context. Being an open standard means it's not tied to one company's models or platform. OpenAI has even started adopting MCP in its Agents SDK.

Q: Can I use MCP with frameworks like LangChain?

A: Yes, MCP is designed to complement frameworks like LangChain or LlamaIndex. Instead of relying solely on custom connectors within these frameworks, you can use MCP as a standardized bridge to connect to various tools and data sources. There's potential for interoperability, like converting MCP tools into LangChain tools.

Q: Why was MCP created? What problem does it solve?

A: It was created because large language models often lack real-time information and connecting them to external data/tools required custom, complex integrations for each pair. MCP solves this by providing a standard way to connect, reducing development time, complexity, and cost, and enabling better interoperability between different AI models and tools.

Q: Is MCP secure? What are the main risks?

A: Security is a major consideration. While MCP includes principles like user consent and control, risks exist. These include potential server compromises leading to token theft, indirect prompt injection attacks, excessive permissions, context data leakage, session hijacking, and vulnerabilities in server implementations. Implementing robust security measures like OAuth 2.1, TLS, strict permissions, and monitoring is crucial.

Q: Who is behind MCP?

A: MCP was initially developed and open-sourced by Anthropic. However, it's an open standard with active contributions from the community, including companies like Microsoft and VMware Tanzu who maintain official SDKs.

Get the latest & top AI tools sent directly to your email.

Subscribe now to explore the latest & top AI tools and resources, all in one convenient newsletter. No spam, we promise!