MediSlot MCP Server
README.md
# MediSlot MCP Server
A minimal MCP (Model Context Protocol) server exposing vaccination-appointment
booking as standardized tools over an in-memory mock scheduling backend.
Built to learn MCP server design ahead of applying to roles that build agent
tooling on top of internal systems (booking, order status, etc.) — this is a
small stand-in for that pattern.
## Tools
| Tool | Input | Output |
|---|---|---|
| `get_available_slots` | `date`, `vaccine_type` | list of open slots |
| `book_appointment` | `slot_id`, `patient_name`, `phone` | confirmation id + status |
| `get_appointment_status` | `confirmation_id` | status + slot details |
| `cancel_appointment` | `confirmation_id` | success bool |
## Run it
```bash
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
fastmcp dev server.py
```
This opens MCP Inspector in the browser. Sample flow:
1. `get_available_slots(date="2026-09-15", vaccine_type="flu")` → returns `slot_001`, `slot_002`
2. `book_appointment(slot_id="slot_001", patient_name="Test User", phone="9999999999")` → returns a `confirmation_id`
3. `get_appointment_status(confirmation_id="<id from step 2>")` → returns `status: confirmed`
4. `cancel_appointment(confirmation_id="<id>")` → returns `success: true`, and `slot_001` is bookable again
## Design notes
- In-memory data only — resets on restart. Deliberate scope cut, not an oversight.
- Exposed as MCP rather than a plain REST wrapper so any MCP-compatible agent
gets a standardized, self-describing interface to this system instead of a
one-off integration.This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues