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
- Retrieve project repositories from Azure DevOps
- Retrieve 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)
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 subjectstart_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_Project_Repositories
Retrieves repositories from a specified Azure DevOps project.
Parameters:
project_name(string, required): Name of the Azure DevOps project
Returns:
- List of repository names in the specified project, or an error message if the operation fails
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 containing:
location: City name and countrytemperature: Current, feels like, min, and max temperatureshumidity: Current humidity percentagewind: Speed and directiondescription: Weather descriptiontimestamp: Time of the weather reading
Available Tools
| Tool | Description |
|---|---|
| Set_Meeting | Create and schedule meetings in Outlook |
| Get_Project_Repositories | Retrieve repositories from Azure DevOps |
| 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
- 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.2.6.tar.gz.
File metadata
- Download URL: swapnil_mcp_server-6.2.6.tar.gz
- Upload date:
- Size: 6.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
60cb0570194d510c85eb28a17146650470f05ebfda5798e5eb6693ee5d524431
|
|
| MD5 |
84a225f0b547ea79b640b4076ab65acb
|
|
| BLAKE2b-256 |
bb593aa6dc6df4a9ea9f88af287612b77740610a87687e3ba5ae6025f801e288
|
File details
Details for the file swapnil_mcp_server-6.2.6-py3-none-any.whl.
File metadata
- Download URL: swapnil_mcp_server-6.2.6-py3-none-any.whl
- Upload date:
- Size: 7.1 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 |
d97f2c41c5aaebb76edca2fd8cd8677f28ef8746879f29328f678fcbff791936
|
|
| MD5 |
f021a9d58f7f1000fd0de13be6877e05
|
|
| BLAKE2b-256 |
28896073f0265d6f90ad4c11e4feda1d570b41b4d1e2f88717d9431ef793c022
|