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.2.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.2-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: swapnil_mcp_server-6.2.2.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.2.tar.gz
Algorithm Hash digest
SHA256 0934e7e968a481c14a1189c7a87d34fca3fb248faf010664477ecf8dc2aebf05
MD5 654b65fb71bd4590372fdf1566f308f8
BLAKE2b-256 098b224068d60d4acfc2fcbce274478e5377e1c8e42409fc4fdf695f9fdc1948

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for swapnil_mcp_server-6.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 08a827ce52d9d2d38f2c2868521473f5fe014b82f91c52a8a893a280090ce02a
MD5 c1e3062ec72804b8d22282c94c42509c
BLAKE2b-256 acf42e0a041e579a6c5b644cdeea3f305cb46c29caa3d37a6e3a03707724e5aa

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