37 lines
1.4 KiB
Python
37 lines
1.4 KiB
Python
"""Prompts for the passenger MCP server."""
|
|
|
|
from mcp_servers.passenger.server import mcp
|
|
|
|
TONE_INSTRUCTIONS = {
|
|
"empathetic": (
|
|
"Write a passenger notification about this flight disruption. "
|
|
"Be empathetic and human. Explain WHY the delay/cancellation happened "
|
|
"using the weather, maintenance, or operational data provided. "
|
|
"Tell the passenger what's happening next: new boarding time, gate, "
|
|
"rebooking options. End with reassurance. No jargon."
|
|
),
|
|
"factual": (
|
|
"Write a brief, factual notification. Include: flight number, "
|
|
"route, status, delay duration, cause (one phrase), new departure time, "
|
|
"gate. No editorial. No reassurance. Just facts."
|
|
),
|
|
"brief_sms": (
|
|
"Write an SMS-length notification (under 160 characters). "
|
|
"Format: UA{flight} {route}: {status}. {cause}. New dep: {time}. Gate {gate}."
|
|
),
|
|
}
|
|
|
|
|
|
@mcp.prompt()
|
|
def passenger_notification(tone: str = "empathetic") -> str:
|
|
"""Template for generating passenger delay/cancellation notifications.
|
|
|
|
tone: empathetic (default) | factual | brief_sms
|
|
"""
|
|
instruction = TONE_INSTRUCTIONS.get(tone, TONE_INSTRUCTIONS["empathetic"])
|
|
return (
|
|
f"{instruction}\n\n"
|
|
"Use the operational data provided below. Do not invent details. "
|
|
"If data is missing for a section, omit that section."
|
|
)
|