Meeting Scheduler

Provides an NLP-powered meeting scheduler that integrates email, calendar, and draft management via MCP.
  • python

0

GitHub Stars

python

Language

7 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "seb-schulz-meeting-scheduler-mcp": {
      "command": "uv",
      "args": [
        "run",
        "python",
        "-m",
        "meeting_scheduler_mcp"
      ],
      "env": {
        "IMAP_FROM": "your@email.com",
        "IMAP_HOST": "imap.example.com",
        "IMAP_PORT": "993",
        "IMAP_USER": "your@email.com",
        "IMAP_USE_SSL": "true",
        "IMAP_PASSWORD": "secure_password",
        "IMAP_VERIFY_SSL": "true",
        "IMAP_USE_STARTTLS": "false"
      }
    }
  }
}

You can run a Python-based MCP server that schedules meetings through natural language, integrates with your email and calendar, and keeps conversations in context. It connects your IMAP inbox, reads a YAML calendar, and guides you through finding requests, checking availability, suggesting times, and confirming and blocking slots.

How to use

Start the MCP server locally and interact with it through a client that supports MCP. You will be able to find meeting requests, check your availability, propose times, and finalize a draft that blocks the calendar slot and saves an email draft for confirmation.

How to install

Prerequisites: you need Python 3.13 or newer and an IMAP-enabled email account. You also need the MCP client or tooling that can connect to the server using the MCP protocol.

# Install the MCP server package via the MCP client tool
uv add git+https://github.com/seb-schulz/meeting-scheduler-mcp.git

# Synchronize dependencies
uv sync

# Copy a sample environment configuration and edit it with your credentials
cp .env.example .env
# Edit .env with your IMAP credentials

Configuration and running the server

Configure your IMAP and calendar settings, then start the server. The server exposes a local HTTP API and runs a Python module under the MCP framework.

# Start the FastMCP server using the MCP runtime
uv run python -m meeting_scheduler_mcp

# Server will be available at http://0.0.0.0:8000

Usage pattern highlights

Typical workflow:

  • Find Requests: search for meeting requests in your inbox.
  • Get Availability: fetch your free time slots.
  • Suggest Times: propose convenient options to the attendee.
  • Confirm & Block: finalize a meeting and block the chosen slot while saving a draft email.

Security and data handling

The MCP server uses TLS/SSL for IMAP connections, supports time zone awareness, and maintains email threading headers to preserve context during drafts and replies.

Troubleshooting tips

  • Verify IMAP credentials in the .env file are correct.
  • Ensure IMAP_PORT is set to a TLS-enabled port (default 993).
  • Check that the YAML calendar file defines your availability and holidays.
  • Confirm the server is running and reachable at http://0.0.0.0:8000.
  • Review environment logs for SSL/TLS errors or IMAP authentication failures.

Notes

You can customize the calendar in calendar.yaml, including timezone, slot duration, weekly availability, and holidays. Ensure your IMAP settings align with your email provider's requirements.

Available tools

search_emails

Search emails with full metadata and threading support to locate meeting requests.

get_free_slots

Query the calendar YAML file to determine available time slots within your defined working hours and holidays.

save_draft_and_block_slot

Block a calendar slot and save a draft email with proper threading headers for confirmation.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational