trackmcp
Back to directory
kacase

mcp-outlook

View on GitHub

An MCP Server for Microsoft Outlook using GraphAPI

6 stars TypeScriptDeveloper Kits Updated Jul 31, 2025

Documentation

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:

      2. Note the values from your Azure app registration (Overview) to use for the MCP config as environment variables:

        3. Register the MCP server

        For Claude Desktop, create or update your configuration in `~/.claude/config.json`:

        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:

        code
        npm run dev

        Run linting:

        code
        npm run lint

        Configure your MCP locally

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

        Frequently asked questions

        What is mcp-outlook?

        mcp-outlook is An MCP Server for Microsoft Outlook using GraphAPI

        How do I install mcp-outlook?

        Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

        Is mcp-outlook open source?

        Yes โ€” it is hosted on GitHub at https://github.com/kacase/mcp-outlook and has 6 stars.

        Related MCP tools

        Run your own MCP server? See who uses it and what to fix.

        Measure it with TrackMCP