mcpField
O
Outlook MCP (Model Context Protocol) Server

Outlook MCP (Model Context Protocol) Server

Local
github.com/kacaseCommunication8Updated 76w ago

About Outlook MCP (Model Context Protocol) Server

Outlook MCP Server connects Outlook calendars, email, and people data to LLMs through Microsoft Graph API. It offers tools for event management, email operations, and people lookup.

Key features

  1. 01View and manage calendar events
  2. 02Read, send, and manage email
  3. 03Create email drafts
  4. 04Search organization members and contacts
  5. 05Expose calendar and inbox resources

Use cases

  1. 01Review events within a time range
  2. 02Create or update Outlook meetings
  3. 03Organize and process inbox email
  4. 04Find organization members or recent contacts

MCP support

The MCP server uses Microsoft Graph API to expose calendar, email, and people lookup tools to MCP clients, along with calendar and inbox resources.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"outlook": {
"command": "npx",
"args": [
"-y",
"mcp_outlook"
],
"env": {
"AUTHORITY": "<AUTHORITY>",
"CLIENT_ID": "<CLIENT_ID>",
"MCP_SERVER_NAME": "<MCP_SERVER_NAME>",
"MCP_SERVER_VERSION": "<MCP_SERVER_VERSION>"
}
}
}
}
Run commandnpx -y mcp_outlook
Environment variables to set
AUTHORITYSecret
CLIENT_ID
MCP_SERVER_NAME
MCP_SERVER_VERSION

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmmcp_outlook

Tools

17

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
startDateTimestringNo
endDateTimestringNo
topintegerNo
filterstringNo
orderBystringNo

Details

From the project README

Outlook MCP (Model Context Protocol) Server

A Model Context Protocol server that integrates with Microsoft Outlook through Microsoft Graph API, allowing Claude and other LLMs to check calendar events, schedule new ones, read emails, and send messages.

Features

  • 📅 Calendar Integration: View, list, create, update, and delete calendar events
  • 📧 Email Integration: Read, send, draft, and manage emails from your Outlook account
  • 🔁 Model Context Protocol: Follows MCP standards for LLM tool integration
  • 🛡️ Type Safety: Full TypeScript implementation with Zod validation

Prerequisites

  • Node.js 18+
  • Microsoft 365 account with appropriate permissions
  • Microsoft Azure App Registration with Graph API permissions (Calendar and Mail)

Setup

  1. Register an application in Azure Active Directory:

    • Go to Azure Portal

    • Navigate to "App registrations"

    • Create a new registration with a redirect URI of type "Public client/native (mobile & desktop)"

      • Register http://localhost as the redirect URI
    • Configure API permissions:

      • Choose Microsoft Graph and type delegated, as we will act on the users behalf
      • For Calendar: "Calendars.Read" and "Calendars.ReadWrite"
      • For Email: "Mail.Read", "Mail.ReadWrite" and "Mail.Send"
      • For People: "People.Read"
  2. Note the values from your Azure app registration (Overview) to use for the MCP config as environment variables:

  • Client ID (Application (client) ID)
  • Authority ID (Directory (tenant) ID)
  1. Register the MCP server For Claude Desktop, create or update your configuration in ~/.claude/config.json:
{
  "mcpServers": {
    "outlook": {
      "command": "npx",
      "args": [
        "mcp_outlook"
      ],
      "env": {
        "AUTHORITY": "your-authority-id",
        "CLIENT_ID": "your-client-id",
        "MCP_SERVER_NAME": "outlook-mcp",
        "MCP_SERVER_VERSION": "1.0.0"
      }
    }
  }
}

Make sure to replace the path and environment variables with your actual values.

Available Tools

Calendar Tools
  • listCalendarEvents: Lists the user's calendar events for a specified time range
  • createCalendarEvent: Creates a new calendar event
  • getCalendarEvent: Gets details of a specific calendar event
  • updateCalendarEvent: Updates an existing calendar event
  • deleteCalendarEvent: Deletes a calendar event
Email Tools
  • listEmails: Lists emails from a specified folder (inbox, sent, drafts, etc.)
  • getEmail: Gets details of a specific email message
  • sendEmail: Sends a new email message
  • createDraft: Creates a draft email message without sending it
  • markEmailAsRead: Marks an email message as read
  • markEmailAsUnread: Marks an email message as unread
  • deleteEmail: Deletes an email message

People Tools

  • searchPeople Find a person in the organisation or your recent contacts
  • getPerson Get information on a person
Resources
  • calendar: Resource containing calendar events data
  • inbox: Resource containing inbox messages data

Development

Run in development mode with live reloading:

npm run dev

Run linting:

npm run lint

Configure your MCP locally

{
  "mcpServers": {
    "outlook": {
      "command": "node",
      "args": [
        "/ABSOLUTE/PATH/TO/outlook_mcp/build/index.js"
      ],
      "env": {
        "AUTHORITY": "your-authority-id",
        "CLIENT_ID": "your-client-id",
        "MCP_SERVER_NAME": "outlook-mcp",
        "MCP_SERVER_VERSION": "1.0.0"
      }
    }
  }
}

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.