digraph mcp_servers { rankdir=LR bgcolor="#0a0e17" fontname="Helvetica" node [fontname="Helvetica" fontsize=10 style=filled color="#1e2a4a" fontcolor="#e8eaf0"] edge [fontname="Helvetica" fontsize=9 fontcolor="#8892a8" color="#4a5568"] label="MCP Server Topology — Tools · Resources · Prompts" labelloc=t fontsize=14 fontcolor="#0066ff" // Clients subgraph cluster_clients { label="Agent Clients" style=dashed color="#1e2a4a" fontcolor="#8892a8" efhas [label="FCE\nAgent" fillcolor="#1a1a3a" shape=box] handover [label="Handover\nAgent" fillcolor="#1a1a3a" shape=box] } // Shared server subgraph cluster_shared { label="united-ops-shared" color="#0066ff" fontcolor="#0066ff" style=rounded subgraph cluster_shared_tools { label="Tools" color="#1e2a4a" fontcolor="#4a5568" st1 [label="get_flight_status" fillcolor="#0d1a33" shape=box] st2 [label="get_flight_details" fillcolor="#0d1a33" shape=box] st3 [label="get_irregular_ops" fillcolor="#0d1a33" shape=box] st4 [label="get_route_weather\n★ LIVE" fillcolor="#0d2a0d" shape=box fontcolor="#00c853"] st5 [label="get_hub_forecasts\n★ LIVE" fillcolor="#0d2a0d" shape=box fontcolor="#00c853"] st6 [label="get_airport_status\n★ LIVE" fillcolor="#0d2a0d" shape=box fontcolor="#00c853"] st7 [label="get_airport_congestion\n★ HYBRID" fillcolor="#0d2a0d" shape=box fontcolor="#ffc107"] st8 [label="get_maintenance_flags" fillcolor="#0d1a33" shape=box] } subgraph cluster_shared_res { label="Resources" color="#1e2a4a" fontcolor="#4a5568" sr1 [label="ops://hubs/{code}" fillcolor="#1a1a2a" shape=note] sr2 [label="ops://scenarios/active" fillcolor="#1a1a2a" shape=note] } subgraph cluster_shared_prompts { label="Prompts" color="#1e2a4a" fontcolor="#4a5568" sp1 [label="delay_explainer\n(cause_code, audience)" fillcolor="#2a1a2a" shape=cds] } } // Ops server subgraph cluster_ops { label="united-ops-internal" color="#ff3d00" fontcolor="#ff3d00" style=rounded subgraph cluster_ops_tools { label="Tools" color="#1e2a4a" fontcolor="#4a5568" ot1 [label="get_crew_notes" fillcolor="#0d1a33" shape=box] ot2 [label="get_crew_duty_status" fillcolor="#0d1a33" shape=box] ot3 [label="get_pending_rebookings" fillcolor="#0d1a33" shape=box] ot4 [label="generate_narrative" fillcolor="#0d1a33" shape=box] } subgraph cluster_ops_res { label="Resources" color="#1e2a4a" fontcolor="#4a5568" or1 [label="ops://crew/roster" fillcolor="#1a1a2a" shape=note] or2 [label="ops://handover/latest" fillcolor="#1a1a2a" shape=note] } subgraph cluster_ops_prompts { label="Prompts" color="#1e2a4a" fontcolor="#4a5568" op1 [label="handover_brief\n(hub, shift_time)" fillcolor="#2a1a2a" shape=cds] } } // Passenger server subgraph cluster_pax { label="united-ops-passenger" color="#00c853" fontcolor="#00c853" style=rounded subgraph cluster_pax_tools { label="Tools" color="#1e2a4a" fontcolor="#4a5568" pt1 [label="generate_notification" fillcolor="#0d1a33" shape=box] } subgraph cluster_pax_res { label="Resources" color="#1e2a4a" fontcolor="#4a5568" pr1 [label="ops://flights/{id}/manifest" fillcolor="#1a1a2a" shape=note] } subgraph cluster_pax_prompts { label="Prompts" color="#1e2a4a" fontcolor="#4a5568" pp1 [label="passenger_notification\n(tone)" fillcolor="#2a1a2a" shape=cds] } } // Connections efhas -> st1 [color="#0066ff"] efhas -> st2 [color="#0066ff"] efhas -> st4 [color="#0066ff"] efhas -> st6 [color="#0066ff"] efhas -> st7 [color="#0066ff"] efhas -> st8 [color="#0066ff"] efhas -> pt1 [color="#00c853"] efhas -> sr1 [color="#0066ff" style=dashed] efhas -> pp1 [color="#00c853" style=dotted] handover -> st3 [color="#0066ff"] handover -> st5 [color="#0066ff"] handover -> st6 [color="#0066ff"] handover -> st8 [color="#0066ff"] handover -> ot1 [color="#ff3d00"] handover -> ot2 [color="#ff3d00"] handover -> ot3 [color="#ff3d00"] handover -> ot4 [color="#ff3d00"] handover -> or1 [color="#ff3d00" style=dashed] handover -> or2 [color="#ff3d00" style=dashed] handover -> op1 [color="#ff3d00" style=dotted] }