- Home
- MCP servers
- Meeting Scheduler
Meeting Scheduler
- 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.