[{'Text': '```\n🪄 .zshrc loaded successfully! (modular edition)\ndiff --git a/src/point_topic_mcp/tools/gbs_tools.py b/src/point_topic_mcp/tools/gbs_tools.py\nindex 696ad93..95a6dc4 100644\n--- a/src/point_topic_mcp/tools/gbs_tools.py\n+++ b/src/point_topic_mcp/tools/gbs_tools.py\n@@ -31,6 +31,7 @@ if check_env_vars("gbs_tools", ["PT_RESEARCH_DATABASE_URI"]):\n             return False\n         return all(c in "0123456789abcdefABCDEF" for c in oid)\n\n+\n     def list_operators(country: str = "", ctx=None) -> str:\n         """\n         List ALL operators in the GBS database. Use before get_gbs_status to discover\n@@ -81,22 +82,110 @@ if check_env_vars("gbs_tools", ["PT_RESEARCH_DATABASE_URI"]):\n\n     def get_gbs_status(\n         country: str,\n-        operator: str,\n-        period: str,\n+        operator: str = "",\n+        period: str = "",\n         ctx=None,\n     ) -> str:\n         """\n-        Get GBS status for a country/operator/period: what exists, gaps, staleness.\n+        Get GBS status summary for a country or operator.\n+\n+        TWO MODES:\n+        1. Country overview (operator="") — aggregated summary of all operators in a\n+           country: how many have data, how many are missing data, top-level gaps.\n+        2. Operator detail (operator given) — deep dive into one operator\'s coverage,\n+           gaps by type/tech/channel/domain, and staleness vs current period.\n+\n+        Period auto-detects from GlobalVariables.currentStatsPeriod if omitted.\n\n         Args:\n             country: Country name (exact match, e.g. "United Kingdom" not "UK")\n-            operator: Operator name (exact match, case-sensitive)\n-            period: Quarter string (e.g. "2025Q1", "2024Q4")\n+            operator: Operator name (exact match, case-sensitive). Leave empty for\n+                      country-wide overview.\n+            period: Quarter string (e.g. "2025Q1", "2024Q4"). Auto-detects from\n+                    GlobalVariables if omitted.\n\n         Returns:\n-            Summary of existing statistics, missing combinations (gaps), and\n-            staleness vs current stats period.\n+            Summary of GBS data coverage showing what exists, what\'s missing,\n+            and overall completeness.\n         """\n+        # Resolve current period from GlobalVariables\n+        gv = mongo.find_global_variables_current()\n+        current_period = gv.get("currentStatsPeriod", "unknown") if gv else "unknown"\n+\n+        # Auto-detect period if not provided\n+        if not period:\n+            period = current_period\n+\n+        # ── MODE 1: Country-wide aggregated summary ──\n+        if not operator:\n+            if not country:\n+                return "Error: Provide at least \'country\' (or both \'country\' and \'operator\')."\n+\n+            ops = mongo.find_operators(country)\n+            if not ops:\n+                return f"No operators found for country \'{country}\'."\n+\n+            # Sort operators by name\n+            ops_sorted = sorted(ops, key=lambda o: o.get("name", "").lower())\n+\n+            # Build per-operator summary\n+            total_ops = len(ops_sorted)\n+            ops_with_data = 0\n+            ops_without_data = 0\n+            operator_summaries: list[str] = []\n+\n+            # Overall stats across all operators\n+            total_stats_count = 0\n+\n+            for op in ops_sorted:\n+                op_name = op.get("name", "?")\n```'}]