Model Context Protocol (MCP) server for automated Outlook Calendar meeting scheduling
Project description
Swapnil MCP Server
A Model Context Protocol (MCP) server that provides automated Outlook Calendar scheduling.
Features
- Create and schedule meetings in Microsoft Outlook calendar
- Set custom meeting properties (subject, location, body)
- Configure reminder settings and busy status
- Simple API accessible through MCP clients
- Retrieve meeting details
- Cancel scheduled meetings
Installation
pip install swapnil-mcp-server
Requirements
- Python 3.9 or higher
- Windows OS (requires Microsoft Outlook and optionally Microsoft Teams)
pywin32packagemcppackage version 1.2.0 or higher
Usage
Starting the Server
# Run as a command
swapnil-mcp-server
# Or import in your Python code
from mcp_tools.server import mcp
mcp.run()
Using with MCP Clients
This package implements the Model Context Protocol (MCP), allowing AI assistants and other MCP-compatible clients to interact with your Outlook calendar.
Example of how an MCP client might use this tool:
from mcp.client import Client
client = Client()
result = await client.Set_Meeting(
subject="Team Meeting",
start_date="2023-10-01T10:00:00",
end_date="2023-10-01T11:00:00"
)
print(result) # Meeting with subject 'Team Meeting' set from 2023-10-01T10:00:00 to 2023-10-01T11:00:00.
## API Reference
### Set_Meeting
Creates and schedules a meeting in Microsoft Outlook.
**Parameters:**
- `subject` (string, required): Meeting subject
- `start_date` (string, required): Start date and time in ISO format (e.g., "2023-10-01T10:00:00")
- `end_date` (string, required): End date and time in ISO format (e.g., "2023-10-01T11:00:00")
**Returns:**
- A confirmation message with the meeting details
### Get_Meeting
Retrieves details of a scheduled meeting.
**Parameters:**
- `meeting_id` (string, required): The unique identifier of the meeting
**Returns:**
- Meeting details including subject, start time, end time, and participants
### Cancel_Meeting
Cancels a scheduled meeting in Microsoft Outlook.
**Parameters:**
- `meeting_id` (string, required): The unique identifier of the meeting
**Returns:**
- A confirmation message indicating the meeting has been canceled
## Development
### Project Structure
swapnil-mcp-server/ ├── src/ │ └── mcp_tools/ │ ├── init.py │ ├── main.py │ └── server.py ├── LICENSE ├── README.md └── pyproject.toml
### Building and Publishing
```bash
python -m build
python -m twine upload dist/*
License
This project is licensed under the MIT License - see the LICENSE file for details.
Author
- Swapnil Dagade (swapnildagade@gmail.com)
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file swapnil_mcp_server-6.1.0.tar.gz.
File metadata
- Download URL: swapnil_mcp_server-6.1.0.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c2d7f669dca5e58a08d90a8197b4c35979c4ee03283d01ef9b62f94a1fbda42
|
|
| MD5 |
f386bbc637f36b09739435ed71f7aa9b
|
|
| BLAKE2b-256 |
2a91d982fc85740db615863d7ff021091f33082f2c550269ac11d6b5f9151fba
|
File details
Details for the file swapnil_mcp_server-6.1.0-py3-none-any.whl.
File metadata
- Download URL: swapnil_mcp_server-6.1.0-py3-none-any.whl
- Upload date:
- Size: 6.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65d8a7b56171d0a53e22418d6cc2af996b6cc28abe8214865191355ff36dc5c1
|
|
| MD5 |
85cc5c792adb177ff13d7c31cb7b07f9
|
|
| BLAKE2b-256 |
b6667ab7ec5e2109dd407ee9e63e2ff21b3ce9c377a8d3aa283e1c10f2e19c5f
|