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).
📌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
Option 1: Install from npm
npm install -g outlook-calendar-mcp
Run 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, add it to your MCP settings configuration file.
For Claude Desktop App
Add the following to your Claude Desktop configuration file (%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 (%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.
Usage
Once configured, Claude can perform the following operations:
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: For operations requiring an event ID (update_event, delete_event, get_attendee_status), use the
id
field from thelist_events
response. This is the unique EntryID 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
- Outlook may display security prompts on first use to allow script access
- The tool only accesses your local Outlook client and does not send data externally
- All operations are performed locally on your computer
Troubleshooting
- Outlook Security Prompts: Allow script access to Outlook data
- Script Execution Policy: Adjust PowerShell execution policy if necessary
- Path Issues: Ensure MCP configuration paths are correct
Contributing
We welcome contributions to the Outlook Calendar MCP Tool! Please see the Contributing Guide for details on how to get started.
By participating, you agree to abide by our Code of Conduct.
License
This project is licensed under the MIT License. See the LICENSE file for details.