feat: geospatial datasets — 70 bases, 40 ports, 24 pipelines, 24 nuclear (+4 = 60 tools)
Static geospatial intelligence datasets with map visualization: - 70 military bases from 9 operators (USA, RUS, CHN, GBR, FRA, NATO, etc.) - 40 strategic ports (container, oil, LNG, naval, bulk) - 24 oil/gas/hydrogen pipelines with capacity and status - 24 nuclear facilities (power, enrichment, research, reprocessing) - 4 new MCP tools: intel_military_bases, intel_strategic_ports, intel_pipelines, intel_nuclear_facilities - New "Infrastructure" map layer with base/port/facility markers - Pipeline summary table in drawer with click-to-detail - All geospatial items have detail modals on click Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
a3dabb2c9f
commit
11fc331ba4
@@ -44,6 +44,7 @@ from world_intel_mcp.sources import (
|
||||
)
|
||||
from world_intel_mcp.analysis.alerts import fetch_alert_digest, fetch_weekly_trends
|
||||
from world_intel_mcp.config.countries import INTEL_HOTSPOTS
|
||||
from world_intel_mcp.config.geospatial import MILITARY_BASES, STRATEGIC_PORTS, PIPELINES, NUCLEAR_FACILITIES
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -151,6 +152,12 @@ async def _fetch_overview() -> dict:
|
||||
"source": "intel-hotspots",
|
||||
}
|
||||
|
||||
# Static geospatial datasets (no API calls)
|
||||
result["military_bases"] = {"bases": MILITARY_BASES, "count": len(MILITARY_BASES)}
|
||||
result["strategic_ports"] = {"ports": STRATEGIC_PORTS, "count": len(STRATEGIC_PORTS)}
|
||||
result["pipelines"] = {"pipelines": PIPELINES, "count": len(PIPELINES)}
|
||||
result["nuclear_facilities"] = {"facilities": NUCLEAR_FACILITIES, "count": len(NUCLEAR_FACILITIES)}
|
||||
|
||||
# Attach source health + timestamp
|
||||
result["source_health"] = _breaker.status() if _breaker else {}
|
||||
result["cache_stats"] = _cache.stats() if _cache else {}
|
||||
|
||||
Reference in New Issue
Block a user