add_appointmentLABSCO SUMMARY
Your own Outlook, not a mail API.
It works through the desktop client that is already signed in, so there is no app registration or tenant permission to arrange first — and the confirmation step keeps a drafted message yours to stop.
What it is
An MCP server that drives a locally installed Microsoft Outlook through pywin32. It reads calendar items across a date range, adds appointments, and sends email from the account the client is already signed into.
What you get
- Calendar items read between a start and end date
- Appointments added with subject, times, location, description and categories
- Free, Tentative, Busy or Out of Office set on a new appointment
- Email sent with To and CC recipients and a formatted body
- A confirmation shown before mail goes out
- Japanese text encoding handled
Requirements
Windows, because it depends on pywin32, with Microsoft Outlook installed and configured, and Python 3.10 or higher. Runs as the outlook_tools.server module, with Python's I/O encoding set explicitly so Japanese text comes through intact.
Setup effort
Build from source — git clone https://github.com/wmoto-ai/mcp-outlook-tools.git
USE CASES
Checking what your week looks like
Read the calendar items between two dates.
Booking a meeting you just agreed to
Add the appointment with times, location and busy status in one call.
Sending a message you dictated
Compose it with To and CC recipients; the confirmation appears before it sends.
Blocking out focus time
Add an appointment with the busy status set to Out of Office.
3 tools
Listed in project docs. Your client may show a different list.
get_calendarsend_emailBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation.
Requires
Python 3.10 or later
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
git clone https://github.com/wmoto-ai/mcp-outlook-tools.git
cd mcp-outlook-tools
uv pip install -e .MCP Clients
Claude Desktop
{
"mcpServers": {
"outlook-tools": {
"command": "uv",
"args": [
"--directory",
"<YOUR_PATH_TO_MCP_OUTLOOK_TOOLS>",
"run",
"--with-editable",
".",
"-m",
"outlook_tools.server"
],
"cwd": "<YOUR_PATH_TO_MCP_OUTLOOK_TOOLS>",
"env": {
"PYTHONIOENCODING": "utf-8"
}
}
}
}