Skip to main content

Model Context Protocol (MCP) server providing integrated tools for Microsoft Office and Microsoft Visual Studio Team Foundation Server automation. Features include Outlook Calendar meeting scheduling, TFS repository management with commit history tracking, and OpenWeatherMap-based weather information retrieval.

Project description

Swapnil MCP Server

PyPI version Python Versions License: MIT

A Model Context Protocol (MCP) server that provides automated utilities for Outlook Calendar scheduling, Microsoft Visual Studio Team Foundation Server repository management, and weather information retrieval.

Features

  • Create and schedule meetings in Microsoft Outlook calendar with automated settings for reminders and status
  • Retrieve project repositories from Microsoft Visual Studio Team Foundation Server
  • Get current weather information for any city worldwide through OpenWeatherMap API

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 with automated configuration for reminders, status, and sending.

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")

Features:

  • Automatically sets a 15-minute reminder
  • Sets busy status
  • Configures as an all-day event
  • Automatically sends the meeting invitation

Returns:

  • A confirmation message with the meeting details

Get_Project_Repositories

Retrieves repositories from a specified Microsoft Visual Studio Team Foundation Server project.

Parameters:

  • project_name (string, required): Name of the Microsoft Visual Studio Team Foundation Server project

Returns:

  • List of repository names in the specified project, or an error message if the operation fails

Get_Repository_Checkins

Retrieves commit history from a specified repository in Microsoft Visual Studio Team Foundation Server.

Parameters:

  • project_name (string, required): Name of the project in Microsoft Visual Studio Team Foundation Server
  • repository_name (string, required): Name of the repository to check
  • userupn (string, required): User UPN to filter commits by author

Features:

  • Filters commits by specific user
  • Returns detailed commit information including IDs, authors, dates, and messages
  • Requires TFS_PAT environment variable for authentication
  • Supports secure HTTPS connections

Returns:

  • List of commit details or appropriate error message

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 country
    • temperature: Current, feels like, min, and max temperatures
    • humidity: Current humidity percentage
    • wind: Speed and direction
    • description: Weather description
    • timestamp: Time of the weather reading

Available Tools

Tool Description
Set_Meeting Create and schedule meetings in Outlook with automated features including reminders, busy status, and all-day event settings
Get_Project_Repositories Retrieve repositories from Microsoft Visual Studio Team Foundation Server using PAT authentication
Get_Repository_Checkins Retrieve detailed commit history from TFS repositories with user filtering
get_weather Get detailed weather information for any global city including temperature, humidity, and wind conditions

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.8.tar.gz (9.9 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.8-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: swapnil_mcp_server-6.2.8.tar.gz
  • Upload date:
  • Size: 9.9 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.8.tar.gz
Algorithm Hash digest
SHA256 eb6036b53df90ac3e8cb56eb5865ed1879e3ed15cffad57d78947cea7b0e5181
MD5 aab3d86c2cac1612e7558ab2b7b9b601
BLAKE2b-256 2dc2b4bda79ab2ebe150f1fa0ca52b67c13a57981ba76cde83a8cdde3ed0ff03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for swapnil_mcp_server-6.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 14cacbe8491b7e14140d04ab2b5599e14a0d500595fa80e41aa04f0c7c82dbdc
MD5 455de0559183f4749ddbe1acb2370bfe
BLAKE2b-256 9ca7d1f15f702d438697614ce7b35ec1aa54b48d4922e6404907ebcc49647ba7

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