MCP HubMCP Hub
merajmehrabi

Outlook_Calendar_MCP

by: merajmehrabi

A Model Context Protocol (MCP) server that allows Claude to access and manage your local Microsfot Outlook calendar (Windows only).

14created 01/03/2025
Visit
Outlook
Windows

📌Overview

Purpose: This framework enables Claude to access and manage local Microsoft Outlook calendars on Windows operating systems.

Overview: The Outlook Calendar MCP Tool is a Model Context Protocol (MCP) server that facilitates seamless interaction between Claude and the Microsoft Outlook calendar. It allows users to view, create, and manage calendar events efficiently, providing intelligent scheduling capabilities.

Key Features:

  • View Calendar Events: Users can list events within a specific date range, view detailed information about events, and check attendee statuses, aiding in event management.

  • Manage Calendar Events: The tool allows users to create new events and meetings, as well as update existing ones, ensuring users can keep their calendars organized.

  • Calendar Intelligence: It can identify free time slots for scheduling and suggest optimal meeting times, streamlining the planning process.

  • Multiple Calendar Support: The framework supports access to different calendars within the user's Outlook profile, enhancing flexibility and usability.


Outlook Calendar MCP Tool

A Model Context Protocol (MCP) server that allows Claude to access and manage your local Microsoft Outlook calendar (Windows only).

Features

  • View Calendar Events: List events within a date range, view event details, check attendee status.
  • Manage Calendar Events: Create new events and meetings, update existing events.
  • Calendar Intelligence: Find free time slots for scheduling, identify optimal meeting times.
  • Multiple Calendar Support: Access different calendars in your Outlook profile.

Prerequisites

  • Windows operating system
  • Microsoft Outlook desktop client installed
  • Node.js (version 14.x or higher)
  • npm (comes with Node.js)

Installation

Install from npm

npm install -g outlook-calendar-mcp

You can run it directly without installation using npx:

npx outlook-calendar-mcp

Install from source

  1. Clone this repository or download the source code.
  2. Install dependencies:
npm install
  1. Run the server:
npm start

MCP Server Configuration

To use this tool with Claude, you need to add it to your MCP settings configuration file.

For Claude Desktop App

Add the following to your Claude Desktop configuration file:

If installed globally via npm:

{
  "mcpServers": {
    "outlook-calendar": {
      "command": "outlook-calendar-mcp",
      "args": [],
      "env": {}
    }
  }
}

Using npx:

{
  "mcpServers": {
    "outlook-calendar": {
      "command": "npx",
      "args": ["-y", "outlook-calendar-mcp"],
      "env": {}
    }
  }
}

If installed from source:

{
  "mcpServers": {
    "outlook-calendar": {
      "command": "node",
      "args": ["path/to/outlook-calendar-mcp/src/index.js"],
      "env": {}
    }
  }
}

For Claude VSCode Extension

Add the following to your Claude VSCode extension MCP settings file:

If installed globally via npm:

{
  "mcpServers": {
    "outlook-calendar": {
      "command": "outlook-calendar-mcp",
      "args": [],
      "env": {}
    }
  }
}

Using npx:

{
  "mcpServers": {
    "outlook-calendar": {
      "command": "npx",
      "args": ["-y", "outlook-calendar-mcp"],
      "env": {}
    }
  }
}

If installed from source:

{
  "mcpServers": {
    "outlook-calendar": {
      "command": "node",
      "args": ["path/to/outlook-calendar-mcp/src/index.js"],
      "env": {}
    }
  }
}

Usage

Once configured, Claude will have access to the following tools:

List Calendar Events

list_events
- startDate: Start date in MM/DD/YYYY format
- endDate: End date in MM/DD/YYYY format (optional)
- calendar: Calendar name (optional)

Create Calendar Event

create_event
- subject: Event subject/title
- startDate: Start date in MM/DD/YYYY format
- startTime: Start time in HH:MM AM/PM format
- endDate: End date in MM/DD/YYYY format (optional)
- endTime: End time in HH:MM AM/PM format (optional)
- location: Event location (optional)
- body: Event description (optional)
- attendees: Semicolon-separated list of attendee email addresses (optional)
- calendar: Calendar name (optional)

Find Free Time Slots

find_free_slots
- startDate: Start date in MM/DD/YYYY format
- endDate: End date in MM/DD/YYYY format (optional)
- duration: Duration in minutes (optional)

Get Attendee Status

get_attendee_status
- eventId: Event ID
- calendar: Calendar name (optional)

Update Calendar Event

update_event
- eventId: Event ID to update
- subject: New event subject/title (optional)
- startDate: New start date in MM/DD/YYYY format (optional)

Get Calendars

get_calendars

Security Notes

  • On first use, Outlook may display security prompts to allow script access.
  • The tool only accesses your local Outlook client and does not send calendar data to external servers.
  • All calendar operations are performed locally.

Troubleshooting

  • Outlook Security Prompts: If you see security prompts from Outlook, allow the script to access your Outlook data.
  • Script Execution Policy: Adjust your PowerShell execution policy if encountering script execution errors.
  • Path Issues: Ensure the path in your MCP configuration file is correct.

Contributing

Contributions are welcome! Please see our 1 for details.

By participating in this project, you agree to abide by our 1.

License

This project is licensed under the MIT License.