
Outlook Calendar
Connects AI assistants to your Outlook Calendar through Microsoft account login. Manage calendar events, check availability, and handle scheduling tasks directly from your AI chat.
Integrates with Microsoft Outlook Calendar to enable event management, scheduling, and attendee status updates for enhanced productivity workflows.
What it does
- Create calendar events
- Delete existing events
- Get calendar events for date ranges
- Check next available time slots
- List all calendars
- Update event details
Best for
About Outlook Calendar
Outlook Calendar is a community-built MCP server published by merajmehrabi that provides AI assistants with tools and capabilities via the Model Context Protocol. Boost productivity with our scheduling app for Outlook. Easily schedule emails, manage calendars, and update attendees w It is categorized under productivity. This server exposes 7 tools that AI clients can invoke during conversations and coding sessions.
How to install
You can install Outlook Calendar in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
License
Outlook Calendar is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
Tools (7)
List calendar events within a specified date range
Create a new calendar event or meeting
Find available time slots in the calendar
Check the response status of meeting attendees
Delete a calendar event by its ID
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
- VBScript support (see VBScript Installation below if you're on Windows 11 24H2+)
- Node.js (version 14.x or higher)
- npm (comes with Node.js)
VBScript Installation (Windows 11 24H2+ Users)
Important: Starting with Windows 11 24H2, VBScript is no longer installed by default and must be enabled as an optional feature.
If you're experiencing issues with the MCP server not working after a Windows update, you likely need to install VBScript:
- Open Settings (Windows + I)
- Go to Apps → Optional features
- Click "View features" next to "Add an optional feature"
- Search for "VBScript"
- Select VBScript and click Install
- Restart your computer after installation
VBScript Deprecation Timeline:
- Phase 1 (Late 2024+): Available as optional feature in Windows 11 24H2
- Phase 2 (~2027): Will no longer be enabled by default
- Phase 3 (Future): Complete removal from Windows
Note: Thanks to community feedback about VBScript deprecation, I'm considering architectural improvements to make the project more future-proof.
Installation
Option 1: Install from npm
npm install -g outlook-calendar-mcp
You can also run it directly without installation using npx:
npx outlook-calendar-mcp
Option 2: Install from source
- Clone this repository or download the source code
- Install dependencies:
npm install
- 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 (located 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 the following 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 installation, replace path/to/outlook-calendar-mcp with the actual path to where you installed this tool.
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)
Example: "List my calendar events for next week"
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)
- isMeeting: Whether this is a meeting with attendees (optional)
- attendees: Semicolon-separated list of attendee email addresses (optional)
- calendar: Calendar name (optional)
Example: "Add a meeting with John about the project proposal on Friday at 2 PM"
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)
- workDayStart: Work day start hour (0-23) (optional)
- workDayEnd: Work day end hour (0-23) (optional)
- calendar: Calendar name (optional)
Example: "When am I free for a 1-hour meeting this week?"
Get Attendee Status
get_attendee_status
- eventId: Event ID
- calendar: Calendar name (optional)
Example: "Who hasn't responded to my team meeting invitation?"
Important Note: When using operations that require an event ID (update_event, delete_event, get_attendee_status), you must use the
idfield from the list_events response. This is the unique EntryID that Outlook uses to identify events.
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)
- startTime: New start time in HH:MM AM/PM format (optional)
- endDate: New end date in MM/DD/YYYY format (optional)
- endTime: New end time in HH:MM AM/PM format (optional)
- location: New event location (optional)
- body: New event description (optional)
- calendar: Calendar name (optional)
Example: "Update my team meeting tomorrow to start at 3 PM instead of 2 PM"
Get Calendars
get_calendars
Example: "Show me my available 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 on your computer
Troubleshooting
- VBScript Not Available (Windows 11 24H2+): If you get errors after a Windows update, VBScript may need to be installed. See VBScript Installation section above
- "Script execution failed" errors: Usually indicates VBScript is not available or Outlook is not accessible
- Outlook Security Prompts: If you see security prompts from Outlook, you need to allow the script to access your Outlook data
- Script Execution Policy: If you encounter script execution errors, you may need to adjust your PowerShell execution policy
- Path Issues: Ensure the path in your MCP configuration file points to the correct location of the tool
Contributing
We welcome contributions to the Outlook Calendar MCP Tool! Please see our Contributing Guide for details on how to get started.
By participating in this project, you agree to abide by our Code of Conduct.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Alternatives
Related Skills
Browse all skillsMicrosoft 365 / Outlook CLI for calendar and email. Use when managing Outlook calendar (view, create, update, delete events, find meeting times, respond to invitations), sending/reading emails, or searching for people/rooms in the organization.
Automate Outlook tasks via Rube MCP (Composio): emails, calendar, contacts, folders, attachments. Always search tools first for current schemas.
Read, search, and manage Outlook emails and calendar via Microsoft Graph API. Use when the user asks about emails, inbox, Outlook, Microsoft mail, calendar events, or scheduling.
Automate Outlook Calendar tasks via Rube MCP (Composio): create events, manage attendees, find meeting times, and handle invitations. Always search tools first for current schemas.
Google Workspace CLI for Gmail, Calendar, Drive, Contacts, Sheets, and Docs.
Create SEO-optimized marketing content with consistent brand voice. Includes brand voice analyzer, SEO optimizer, content frameworks, and social media templates. Use when writing blog posts, creating social media content, analyzing brand voice, optimizing SEO, planning content calendars, or when user mentions content creation, brand voice, SEO optimization, social media marketing, or content strategy.