MCP Outlook Tools
Interact with Microsoft Outlook for calendar management, email operations, and search functionality.
MCP Outlook Tools
A Model Context Protocol (MCP) server implementation that enables AI assistants to interact with Microsoft Outlook for calendar management, email operations, and search functionality.
Features
-
📅 Calendar Management
- Get calendar items within a date range
- Add new appointments with full details
- Support for categories and busy status
-
📧 Email Operations
- Send emails with To/CC recipients
- Display confirmation before sending
- Full body formatting support
-
🔍 Email Search
- Search emails by date and keyword
- Extract user information from addresses
- Japanese text encoding support
Requirements
- Windows OS (required for pywin32)
- Microsoft Outlook installed and configured
- Python 3.10 or higher
- MCP-compatible AI assistant (e.g., Claude Desktop)
Installation
- Clone the repository:
git clone https://github.com/wmoto-ai/mcp-outlook-tools.git
cd mcp-outlook-tools
- Install dependencies using uv:
uv pip install -e .
Or using pip:
pip install -e .
Configuration
For Claude Desktop
Add the following to your Claude Desktop configuration file:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"outlook-tools": {
"command": "uv",
"args": [
"--directory",
"C:/path/to/mcp-outlook-tools",
"run",
"--with-editable",
".",
"-m",
"outlook_tools.server"
],
"cwd": "C:/path/to/mcp-outlook-tools",
"env": {
"PYTHONIOENCODING": "utf-8"
}
}
}
}
Usage
Once configured, the following tools are available in your AI assistant:
add_appointment
Add a new appointment to Outlook calendar
Parameters:
- subject: Appointment title
- start_time: Start datetime (YYYY-MM-DD HH:MM)
- end_time: End datetime (YYYY-MM-DD HH:MM)
- location: Meeting location (optional)
- description: Detailed description (optional)
- categories: Comma-separated categories (optional)
- busy_status: 0=Free, 1=Tentative, 2=Busy, 3=Out of Office (default: 1)
get_calendar
Get calendar items for a date range
Parameters:
- start_date: Start date (YYYY-MM-DD)
- end_date: End date (YYYY-MM-DD)
send_email
Send an email via Outlook
Parameters:
- to: Recipient email addresses (semicolon-separated)
- cc: CC recipients (semicolon-separated)
- subject: Email subject
- body: Email body text
Project Structure
mcp-outlook-tools/
├── src/
│ └── outlook_tools/
│ ├── __init__.py
│ ├── server.py # MCP server implementation
│ ├── calendar_service.py # Calendar operations
│ └── search_service.py # Email search operations
├── test/ # Test files
├── pyproject.toml # Project configuration
└── README.md # This file
Development
Running Tests
pytest test/
Type Checking
pyright src/
Linting
ruff check src/
Security Notes
- This tool requires access to your local Outlook installation
- Emails are displayed before sending for user confirmation
- No credentials are stored in the code
- All operations use Windows COM interface with existing Outlook authentication
Limitations
- Windows only (due to pywin32 dependency)
- Requires Outlook to be installed and configured
- Time zone handling assumes JST (+9 hours)
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
- Built with FastMCP framework
- Uses pywin32 for Outlook COM interface
관련 서버
WordPress MCP
A Model Context Protocol (MCP) server that gives AI agents full control over WordPress sites. 46 tools for posts, pages, media, SEO, comments, redirects, blocks, patterns, TablePress, and more.
Google Calendar
Create and manage Google Calendar events with AI assistants.
Brightspace MCP Server
MCP server for Brightspace (D2L): check grades, due dates, announcements, rosters & more using Claude, ChatGPT, Cursor, or any MCP client.
Feishu/Lark OpenAPI
Connect AI agents with the Feishu/Lark platform for automation, including document processing, conversation management, and calendar scheduling.
Excel MCP Server
Interact with Microsoft Excel to read data, edit cells, execute VBA code, and manage worksheets.
Eloa - AI Content Curator
All your RSS feeds aggregated in one place. Eloa highlights what's new, shows the source, and how long ago it was published. Filter by read and unread.
Decent Sampler Drums
Generates Decent Sampler drum kit configurations.
Doc Lib MCP
An MCP server for document ingestion, chunking, semantic search, and note management.
Linear MCP Server
A server for interacting with the Linear project management tool using the Linear API.
Cursor Task Manager
An MCP server for task management, time tracking, and workflow automation, integrated with Cursor IDE and a Directus backend.