Skip to main content

Model Context Protocol (MCP) server for automated Outlook Calendar meeting scheduling

Project description

Swapnil MCP Server

PyPI version Python Versions License: MIT

A Model Context Protocol (MCP) server that provides automated Outlook Calendar scheduling.

Features

  • Create and schedule meetings in Microsoft Outlook calendar
  • Retrieves current weather information for a specified city using OpenWeatherMap

Installation

pip install swapnil-mcp-server

Requirements

  • Python 3.9 or higher
  • Windows OS (requires Microsoft Outlook and optionally Microsoft Teams)
  • pywin32 package
  • mcp package 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_weather

Retrieves current weather information for a specified city using OpenWeatherMap.

Parameters:

  • city (string, required): Name of the city (any global city)

Returns:

  • Dictionary with location, temperature, humidity, wind, description, and timestamp

Available Tools

Tool Description
Set_Meeting Create and schedule meetings in Outlook
get_weather Get weather information for a city

Development

Project Structure

swapnil-mcp-server/
├── src/
│   └── mcp_tools/
│       ├── __init__.py
│       ├── __main__.py
│       └── server.py
├── LICENSE
├── README.md
└── pyproject.toml

Building and Publishing

python -m build
python -m twine upload dist/*

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

Links

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.2.3.tar.gz (6.0 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.2.3-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file swapnil_mcp_server-6.2.3.tar.gz.

File metadata

  • Download URL: swapnil_mcp_server-6.2.3.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

Hashes for swapnil_mcp_server-6.2.3.tar.gz
Algorithm Hash digest
SHA256 a286f2ad1af2fa0b1736e0695308fdadc01227b2137b3fe6fb4d5e8820fc3feb
MD5 ebae332e3aad0c1870fdeea397e93574
BLAKE2b-256 497cafcd97d19a24083a32d716aa2b139522f600c3371632d6f61cf10ccb0082

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for swapnil_mcp_server-6.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b5a534e2e603b112a3b75501b25ddd57e7942b72d85ab302504e41477bf5e72e
MD5 d33faa82aaf562579989391ab9fbf2ad
BLAKE2b-256 f6c29d5290ed3a39380762294bad965e04e66a2d8416242b75a04963d8d5c323

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