26 lines
744 B
Python
26 lines
744 B
Python
"""Resources for the shared MCP server."""
|
|
|
|
import json
|
|
|
|
from mcp_servers.data.models import HUBS
|
|
from mcp_servers.data.scenarios.manager import scenario_manager
|
|
from mcp_servers.shared.server import mcp
|
|
|
|
|
|
@mcp.resource("ops://hubs/{hub_code}")
|
|
def hub_info(hub_code: str) -> str:
|
|
"""Static reference data for a hub.
|
|
|
|
Returns: full name, codes, coordinates, timezone, terminal/gate/runway count.
|
|
"""
|
|
hub = HUBS.get(hub_code.upper())
|
|
if not hub:
|
|
return f"Unknown hub: {hub_code}. Known: {', '.join(HUBS.keys())}"
|
|
return hub.model_dump_json()
|
|
|
|
|
|
@mcp.resource("ops://scenarios/active")
|
|
def active_scenario() -> str:
|
|
"""Current active scenario metadata."""
|
|
return json.dumps(scenario_manager.get_metadata())
|