logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Outlook Schedule Interfacer

This utility facilitates digital interaction with scheduling data stored within Microsoft Outlook's local application. It enables viewing, scheduling, and modification of appointments and meetings, much like managing essential job components or 'tasks' in broader project frameworks. Functionality includes identifying available time windows for scheduling and handling access across several distinct Outlook personal calendars. This tool, operating solely on Windows systems, aids in coordinating schedules, a crucial aspect of linking individual efforts toward collective objectives.

Author

Outlook Schedule Interfacer logo

merajmehrabi

MIT License

Quick Info

GitHub GitHub Stars 30
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

outlook_calendar_mcpoutlookcalendarmerajmehrabi outlook_calendar_mcpoutlook_calendar_mcp manageoutlook calendar

Introduction

This Model Context Protocol (MCP) server grants Claude secure entry to manage your local Microsoft Outlook calendar data on Windows machines. In project execution, scheduling activities efficiently is fundamental; this tool supports that by managing time-bound elements, analogous to breaking down large goals into manageable 'tasks'. Effective time coordination ensures that efforts by different parties align with overall project timelines.

Outlook Calendar MCP server

License: MIT

Features

  • Examine Schedule Entries: Retrieve listings for specific date ranges, inspect entry specifics, and check participant acceptance status.
  • Modify Schedule Entries: Initiate new appointments or meetings, and revise details of existing schedule items.
  • Scheduling Insight: Determine unoccupied time blocks for appointments, pinpoint the most suitable times for meetings.
  • Multi-Calendar Access: Interact with various distinct calendars present in your established Outlook profile.

Prerequisites

  • This system requires a Windows operating environment.
  • The Microsoft Outlook desktop application must be installed.
  • VBScript support must be active (refer to the VBScript Installation section for Windows 11 24H2+ users).
  • Node.js, version 14.x or newer, is necessary.
  • npm utility, which is bundled with Node.js, is also needed.

VBScript Installation (Windows 11 24H2+ Users)

Note: Windows 11 version 24H2 and later do not include VBScript by default; it must be explicitly enabled as an optional component.

If the MCP server fails to operate following a recent Windows revision, you most likely need to activate VBScript functionality.

  1. Open Settings using the Windows key + I shortcut.
  2. Navigate to Apps and then select Optional features.
  3. Click "View features" located next to "Add an optional feature".
  4. Search within the feature list for "VBScript".
  5. Choose VBScript and initiate the Install action.
  6. A system restart is recommended after the installation completes.

VBScript Deprecation Timeline: - Phase 1 (Anticipated Late 2024+): Available as a selectable optional feature in Windows 11 24H2. - Phase 2 (Estimated ~2027): Will no longer be enabled upon initial system setup. - Phase 3 (Future Date): Complete removal from the Windows operating system.

Observation: Due to community input concerning VBScript's planned removal, architectural enhancements for long-term viability are currently under consideration.

Installation

Option 1: Installation via npm

npm install -g outlook-calendar-mcp

Alternatively, you can execute it directly without a persistent global installation using npx:

npx outlook-calendar-mcp

Option 2: Installation from Source Code

  1. Obtain the repository files via cloning or downloading the source package.
  2. Install necessary support libraries:
npm install
  1. Start the server process:
npm start

MCP Server Configuration

To integrate this utility with Claude, you must incorporate it into your existing MCP settings configuration file.

For Claude Desktop App

Incorporate the following structure into your Claude Desktop configuration file, which resides at %APPDATA%\Claude\claude_desktop_config.json:

If installed globally via npm:

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

Using npx (without installation):

{
  "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 this configuration block to your Claude VSCode extension MCP settings file, located at %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json:

If installed globally via npm:

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

Using npx (without installation):

{
  "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 source installations, you must substitute path/to/outlook-calendar-mcp with the actual directory where the tool files reside on your system.

Usage

After configuration is complete, Claude gains the ability to invoke the following scheduling commands:

List Calendar Events

list_events
- startDate: Initial date specified using MM/DD/YYYY format
- endDate: Final date in MM/DD/YYYY format (optional parameter)
- calendar: Name of the specific calendar to query (optional parameter)

Example prompt: "Display my schedule entries for the upcoming seven days"

Create Calendar Event

create_event
- subject: Title or brief description of the scheduled item
- startDate: Date in MM/DD/YYYY format for the event start
- startTime: Time in HH:MM AM/PM format for the event start
- endDate: End date in MM/DD/YYYY format (optional parameter)
- endTime: End time in HH:MM AM/PM format (optional parameter)
- location: Physical or virtual location details (optional parameter)
- body: Detailed textual description for the entry (optional parameter)
- isMeeting: Boolean indicating if attendees are invited (optional parameter)
- attendees: Semicolon-separated list of participant email addresses (optional parameter)
- calendar: Specific calendar identifier (optional parameter)

Example prompt: "Schedule a coordination session with Alex for Friday at 14:00 regarding the integration plan"

Find Free Time Slots

find_free_slots
- startDate: Starting date in MM/DD/YYYY format
- endDate: Ending date in MM/DD/YYYY format (optional parameter)
- duration: Required length of the slot in minutes (optional parameter)
- workDayStart: Hour marking the start of the business day (0-23) (optional parameter)
- workDayEnd: Hour marking the end of the business day (0-23) (optional parameter)
- calendar: Target calendar name (optional parameter)

Example prompt: "Identify available windows for a ninety-minute discussion sometime next week"

Get Attendee Status

get_attendee_status
- eventId: The unique identifier for the schedule entry
- calendar: Target calendar name (optional parameter)

Example prompt: "Review response status for the participants in the quarterly review event"

Crucial Reminder: When employing functions requiring an event identifier (e.g., update_event, delete_event, get_attendee_status), you must utilize the id field retrieved from the list_events operation's output. This value represents the unique EntryID used internally by Outlook to reference specific entries.

Update Calendar Event

update_event
- eventId: The identifier of the schedule entry requiring modification
- subject: New title for the entry (optional parameter)
- startDate: Revised start date in MM/DD/YYYY format (optional parameter)
- startTime: Revised start time in HH:MM AM/PM format (optional parameter)
- endDate: Revised end date in MM/DD/YYYY format (optional parameter)
- endTime: Revised end time in HH:MM AM/PM format (optional parameter)
- location: New venue designation (optional parameter)
- body: Revised description text (optional parameter)
- calendar: Specific calendar identifier (optional parameter)

Example prompt: "Shift the time for my staff check-in tomorrow to commence at 15:00 instead of 14:00"

Get Calendars

get_calendars

Example prompt: "Display a roster of all accessible personal calendars"

Security Notes

  • Upon the initial invocation, Outlook might present security notifications requesting confirmation for script access permissions.
  • This utility only communicates with your resident Outlook client; calendar information is never transmitted to external web services.
  • All modification actions performed on the calendar occur exclusively on your local computing device.

Troubleshooting

  • VBScript Missing (Windows 11 24H2+): Errors appearing after system updates often mean VBScript needs manual installation. Consult the VBScript Installation section.
  • "Script execution failed" Errors: This commonly signals that VBScript is unavailable or Outlook itself is unreachable.
  • Outlook Security Prompts: If Outlook prompts for permission, you must grant the script authorization to read or modify its data.
  • Script Execution Policy: Encountering execution policy errors might necessitate modifying your current PowerShell execution settings.
  • Path Errors: Verify that the file path specified in your MCP configuration correctly points to the tool's installation location.

Contributing

We welcome external code submissions for enhancing the Outlook Schedule Interfacer! Refer to our Contributing Guide for initial steps and guidelines.

By engaging with this development effort, you affirm adherence to our stated Code of Conduct.

License

This software is distributed under the terms of the MIT License; review the LICENSE file for complete transactional details.

  • Task Dependency: Recognizing how scheduled items or assignments often rely on prior completion by others, which can delay project progress.
  • Work Breakdown Structure: The hierarchical decomposition of project deliverables into smaller, manageable pieces, akin to breaking down a large scheduling requirement.
  • Coordination Mechanism: The process of integrating time, effort, and resources from multiple individuals to meet shared appointments and organizational objectives.
  • Deadline Management: The critical practice of defining and adhering to fixed completion dates for schedule entries to ensure forward momentum.

Extra Details

While this tool focuses on scheduling automation, it is important to remember the general challenges in managing project work. For instance, task dependency is a common impediment; if one person's required meeting cannot be scheduled until another finishes a prerequisite task, project flow can stall. Furthermore, clearly defining 'completion' remains vital. An activity being ninety percent finished often deceptively implies only ten percent of the remaining effort is needed, which rarely reflects practical realities of finishing complex coordination efforts.

Conclusion

This utility effectively bridges the gap between an AI agent and the necessary local calendar resources, thereby streamlining personal and team scheduling. By automating the management of time-bound commitments, it aids in overcoming common project impediments related to coordination and dependency tracking, allowing users to focus on the actual execution of their assigned tasks and overarching goals.

See Also

`