Model Context Protocol (MCP) server for automated Outlook Calendar scheduling with automatic Microsoft Teams meeting link generation
Project description
SWAPNIL MCP Server 🚀
A specialized Model Context Protocol (MCP) server implementation for automating Outlook Calendar scheduling with Microsoft Teams integration
📋 Overview
SWAPNIL MCP Server is a robust implementation of the Model Context Protocol that provides seamless integration with Microsoft Outlook Calendar and Teams. It enables AI models to create and schedule meetings directly in Outlook Calendar with automatic Microsoft Teams meeting link generation.
The server leverages the Model Context Protocol (MCP) version 1.2.0 or higher to expose calendar scheduling functionality to AI models through a standardized interface, allowing for easy meeting setup with:
- Automatic Microsoft Teams meeting link generation
- Preconfigured reminder settings (15 minutes before meeting)
- Calendar status configurations (Busy status)
- Support for optional attendees
🛠️ Setup & Installation
Requirements
- Python 3.9 or higher
- Microsoft Outlook (installed on the system)
- Microsoft Teams (for Teams meeting integration)
- Internet connection (proxy support available)
Quick Start
# Install the package
pip install swapnil-mcp-server
# Start the server
python -m mcp_tools
# Or use the provided entry point
swapnil-mcp-server
🧰 Available MCP Tools
This server exposes a powerful tool through the Model Context Protocol interface:
📅 Outlook Calendar
Set_Meeting - Create and schedule a meeting in Microsoft Outlook with Teams integration
async def Set_Meeting(subject: str, start_date: str, end_date: str, use_teams: bool = True, optional_attendees: str = None) -> str
Parameters:
subject: Meeting subjectstart_date: Start date and time in ISO format (e.g., "2023-10-01T10:00:00")end_date: End date and time in ISO format (e.g., "2023-10-01T11:00:00")use_teams: Whether to create a Teams meeting (default: True)optional_attendees: Semicolon-separated list of email addresses for optional attendees (default: None)
Returns:
- A confirmation message with meeting details
Example:
# Schedule a team meeting with Microsoft Teams integration
result = await Set_Meeting(
"Team Weekly Sync",
"2023-10-01T10:00:00",
"2023-10-01T11:00:00",
use_teams=True,
optional_attendees="john.doe@example.com;jane.smith@example.com"
)
print(result) # Meeting with subject 'Team Weekly Sync' set from 2023-10-01T10:00:00 to 2023-10-01T11:00:00. Microsoft Teams meeting link has been created.
📋 Detailed Usage Guide
Configuration
No specific environment variables are required to run the server. However, Microsoft Outlook must be installed and configured on the system.
Running the Server
Start the server with the following command:
python -m mcp_tools
Integration with MCP Clients
Connect using any MCP-compatible client. Here's a simple Python example:
from mcp.client import Client
async def main():
# Connect to the SWAPNIL MCP Server
client = await Client.connect("http://localhost:8000")
# Schedule a meeting
meeting_result = await client.Set_Meeting(
"Team Retrospective",
"2023-10-15T14:00:00",
"2023-10-15T15:00:00",
use_teams=True,
optional_attendees="john.doe@example.com;jane.smith@example.com"
)
print(meeting_result)
🔍 Troubleshooting
Common issues and solutions:
- Connection errors: Ensure the server is running and accessible
- Outlook integration issues: Verify Outlook is installed and properly configured
- Proxy issues: Check your network settings and proxy configuration
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
⚖️ License
This project is licensed under the MIT License - see the LICENSE file for details.
Built with ❤️ for enhancing AI-powered communication
MCP Specification • Microsoft Outlook • FastAPI
Author: Swapnil Dagade
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.0.3.tar.gz.
File metadata
- Download URL: swapnil_mcp_server-6.0.3.tar.gz
- Upload date:
- Size: 6.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5dbc89c5f804162c02fc0f298acd9ec021e89b4ae0187f788367929cb1174960
|
|
| MD5 |
f275c59aa77a300f5c1df1beac9aaf81
|
|
| BLAKE2b-256 |
db987437a97695e4f673e9ddee3bbc8a82842de77ce7a53ac3c5eae640bab1b7
|
File details
Details for the file swapnil_mcp_server-6.0.3-py3-none-any.whl.
File metadata
- Download URL: swapnil_mcp_server-6.0.3-py3-none-any.whl
- Upload date:
- Size: 7.0 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 |
ba5cd342410a8bf47081ff26c5afdf2b7a3b3a4206a72a37e66e0d5775bcca42
|
|
| MD5 |
f52c0ef530ddc6bfc9ad5d24cc50e607
|
|
| BLAKE2b-256 |
93bbb05a0a69a5c91fb088a77081f8e740f493bdc5c91f41b4c853a96f956195
|