Skip to main content

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

License Python Version MCP Outlook Teams PyPI Version Code style: black

📋 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 subject
  • start_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.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. 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 SpecificationMicrosoft OutlookFastAPI

Author: Swapnil Dagade LinkedIn

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

swapnil_mcp_server-6.0.3.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

swapnil_mcp_server-6.0.3-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

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

Hashes for swapnil_mcp_server-6.0.3.tar.gz
Algorithm Hash digest
SHA256 5dbc89c5f804162c02fc0f298acd9ec021e89b4ae0187f788367929cb1174960
MD5 f275c59aa77a300f5c1df1beac9aaf81
BLAKE2b-256 db987437a97695e4f673e9ddee3bbc8a82842de77ce7a53ac3c5eae640bab1b7

See more details on using hashes here.

File details

Details for the file swapnil_mcp_server-6.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for swapnil_mcp_server-6.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ba5cd342410a8bf47081ff26c5afdf2b7a3b3a4206a72a37e66e0d5775bcca42
MD5 f52c0ef530ddc6bfc9ad5d24cc50e607
BLAKE2b-256 93bbb05a0a69a5c91fb088a77081f8e740f493bdc5c91f41b4c853a96f956195

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page