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

ExchangeOrganizer_API_Bridge

This utility facilitates interaction with the Microsoft Outlook schedule environment, enabling programmatic management of appointments and meetings. Calendars, fundamentally systems for organizing days by naming periods like months and years, are being accessed here. The tool specifically manages events within the local Outlook client, supporting functionalities like viewing appointments, scheduling new entries, and identifying optimal temporal slots for gatherings.

Author

ExchangeOrganizer_API_Bridge logo

merajmehrabi

MIT License

Quick Info

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

Tags

outlook_calendar_mcpcalendarcalendarsmerajmehrabi outlook_calendar_mcpoutlook_calendar_mcp manageoutlook calendar

Introduction

This Model Context Protocol (MCP) server acts as an interface, permitting a large language model to control and query your locally installed Microsoft Outlook schedule on Windows platforms exclusively. Calendars, as historical constructs, organize time by naming periods, and this tool provides modern digital access to that organization.

Outlook Calendar MCP server

License: MIT

Core Capabilities

  • Review Schedule Entries: Retrieve a list of appointments across a specified date span, examine event specifics, and check participant response status.
  • Modify Schedule Entries: Initiate novel appointments or meetings, and revise characteristics of existing scheduled items.
  • Scheduling Optimization: Determine readily available time blocks for future planning and pinpoint the most suitable moments for convening attendees.
  • Profile Access: Interact with various distinct organizational schedules present within your Outlook user profile.

Prerequisites

To successfully employ this system, several software components must be present on your machine. You must operate within the Windows ecosystem. The Microsoft Outlook desktop application needs to be correctly installed. Crucially, support for VBScript must be active; Windows 11 build 24H2 and later releases require manual enabling of this feature.

VBScript Activation for Windows 11 24H2+

Starting with Windows 11 version 24H2, VBScript is excluded from the default installation and requires user intervention. If post-update operational failures occur, this activation step is often necessary.

  1. Access the main Settings panel using the Windows key and 'I'.
  2. Navigate toward Apps and subsequently choose Optional features.
  3. Select the option labeled "View features" adjacent to "Add an optional feature".
  4. Execute a search query for "VBScript" within the feature list.
  5. Mark the VBScript component and initiate the Install process.
  6. A system reboot is recommended after the installation completes successfully.

VBScript Removal Schedule Insights: - Stage One (Anticipated Late 2024 onward): Functionality remains accessible as an optional component in Windows 11 24H2. - Stage Two (Approaching ~2027): Default activation will cease. - Stage Three (Future Date): Complete elimination from the operating system.

Community input regarding VBScript obsolescence has prompted consideration of architectural modifications to enhance the tool's longevity.

Deployment Procedures

Method 1: Installation via npm Registry

This command retrieves and installs the package globally on your system environment:

npm install -g outlook-calendar-mcp

Alternatively, execution without a permanent installation can be achieved using the npx wrapper:

npx outlook-calendar-mcp

Method 2: Source Code Deployment

  1. Obtain the source code by cloning the repository or downloading the archive.
  2. Install necessary external packages listed in the project dependencies:
npm install
  1. Initiate the server process using this command:
npm start

MCP Server Configuration

Integration with Claude necessitates adding this tool definition to your specific MCP settings file. The location varies based on the application interface being utilized.

For Claude Desktop Application

Insert the appropriate object structure into your Claude Desktop configuration file found at %APPDATA%\Claude\claude_desktop_config.json.

If globally installed via npm:

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

If executing via npx (no global installation):

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

If utilizing the source code installation:

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

For Claude VSCode Extension

Use the following structure in the Claude VSCode extension settings file located at %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json.

If globally installed via npm:

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

If executing via npx (no global installation):

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

If utilizing the source code installation:

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

For configurations based on source code, substitute path/to/outlook-calendar-mcp with the actual directory path where the files reside.

Usage Protocols

After configuration is complete, Claude gains access to the following operational functions:

Retrieve Schedule Entries

list_events
- startDate: Beginning date presented in MM/DD/YYYY format
- endDate: Concluding date in MM/DD/YYYY format (optional parameter)
- calendar: Specific calendar designation (optional parameter)

Example prompt: "Display my appointments recorded for the upcoming seven days"

Book a Schedule Entry

create_event
- subject: Title or brief heading for the occasion
- startDate: Start date utilizing MM/DD/YYYY format
- startTime: Start time expressed in HH:MM AM/PM format
- endDate: Final date in MM/DD/YYYY format (optional parameter)
- endTime: Final time in HH:MM AM/PM format (optional parameter)
- location: Physical placement of the event (optional parameter)
- body: Detailed explanation or notes for the entry (optional parameter)
- isMeeting: Designate if the entry involves external participants (optional parameter)
- attendees: Emails of participants separated by semicolons (optional parameter)
- calendar: Calendar identifier (optional parameter)

Example prompt: "Schedule a discussion with Sarah concerning the budget review this Wednesday at 10:30 AM"

Locate Unoccupied Time

find_free_slots
- startDate: Start date in MM/DD/YYYY convention
- endDate: End date in MM/DD/YYYY convention (optional parameter)
- duration: Required length of time measured in minutes (optional parameter)
- workDayStart: Hour indicating work commencement (0-23 range) (optional parameter)
- workDayEnd: Hour indicating work conclusion (0-23 range) (optional parameter)
- calendar: Identifier for the specific schedule (optional parameter)

Example prompt: "Identify openings this Friday suitable for a ninety-minute session"

Check Participant Affirmation

get_attendee_status
- eventId: The unique identifier assigned to the appointment
- calendar: Calendar designation (optional parameter)

Example prompt: "What is the response status for the required quarterly review invitation?"

Crucial Specification: When invoking functions needing an event identifier (like updating, deleting, or checking status), the value provided must precisely match the id field returned from the list_events operation. This value serves as the necessary EntryID recognized internally by Outlook.

Modify an Existing Schedule Entry

update_event
- eventId: The unique ID of the appointment to modify
- subject: New title for the event (optional parameter)
- startDate: Revised starting date in MM/DD/YYYY format (optional parameter)
- startTime: Revised starting time in HH:MM AM/PM format (optional parameter)
- endDate: Revised ending date in MM/DD/YYYY format (optional parameter)
- endTime: Revised ending time in HH:MM AM/PM format (optional parameter)
- location: New physical placement (optional parameter)
- body: New textual content for the description (optional parameter)
- calendar: Calendar name to apply changes to (optional parameter)

Example prompt: "Shift my appointment scheduled for Tuesday to commence at 11:00 AM instead of the original time"

List Available Schedules

get_calendars

Example prompt: "Display a list of all calendars accessible from my profile"

Security Considerations

  • Upon initial execution, Outlook might present security dialogues requesting permission for script access to its data.
  • This mechanism exclusively communicates with your local Outlook client; scheduling information is never transmitted to external processing servers.
  • All transactional operations concerning your calendar data occur solely on your local computing device.

Troubleshooting Guide

  • VBScript Unavailability (Post Windows 11 24H2 Update): Errors appearing after a major Windows revision often stem from missing VBScript. Refer to the VBScript Activation for Windows 11 24H2+ heading above for installation instructions.
  • "Script execution failed" Messages: These typically indicate that VBScript is either absent or the Outlook application could not be reached properly.
  • Outlook Security Pop-ups: If prompts from Outlook appear, explicit user authorization is required for the script to interact with the schedule data.
  • Script Execution Policy: Errors related to script execution might require modifications to the PowerShell execution restrictions on your system.
  • Path Ambiguities: Verify that the designated path within the MCP configuration file accurately references the location where this utility is deployed.
  • Time Management Systems
  • Synchronization of Timekeeping
  • Lunisolar Calendar Principles
  • Chronological Data Structuring
  • Digital Event Registration

Extra Details

Historically, calendars like the lunisolar type sometimes inserted extra months to maintain long-term alignment with solar cycles. This tool simplifies modern digital scheduling, abstracting away those complex astronomical corrections. Since this tool relies on VBScript, which is a technology facing deprecation, future updates might involve transitioning to a more modern scripting backend to ensure continued compatibility with evolving Windows releases.

Contributing

We encourage community involvement in enhancing the Exchange Organizer API Bridge! Consult our Contributing Guide for initial steps.

Participation in this project mandates adherence to our established Code of Conduct.

Conclusion

This specialized interface grants powerful, localized control over Microsoft Outlook scheduling functions, streamlining tasks related to time organization and resource coordination. By providing a direct pathway between generative AI and personal calendar records, it supports efficient management of one's daily structure within the digital domain.

See Also

`