{"name":"war-tracker","version":"1.0.0","protocol":"mcp","protocolVersion":"2025-03-26","transport":"streamable-http","endpoint":"https://war-tracker.com/mcp","description":"War-Tracker exposes live OSINT conflict-event data, AIS vessel tracking, and Strait of Hormuz transit data as MCP tools. Free tools (search_events, get_event, list_regions, list_countries, list_event_types, vessel_facets) return JSON immediately. Paid tools (search_vessels, get_vessel*, hormuz_*, sanctioned_vessels) require an x402 USDC micropayment on Base; the first call returns an MCP error containing `_meta.x402` with payment requirements. Settle via your wallet and retry with the X-PAYMENT header forwarded by your MCP client. Resilience: every War-Tracker MCP tool is idempotent (HTTP GET semantics under the hood) — clients SHOULD retry once on transport-layer errors such as `error sending request`, connection reset, or broken pipe before surfacing the failure to the user. Pooled-client races and intermediate-network blips are rare but unavoidable. Follow-ups: to fetch a specific event after `search_events`, call the `get_event` MCP tool with the integer `event_id` from the prior response — do NOT construct `https://war-tracker.com/share/{event_id}/{slug}` URLs and GET them with a generic HTTP fetcher; those requests are paid for unidentified clients and will 402. Full docs: https://war-tracker.com/developers — skill file: https://war-tracker.com/skill.md","documentation":"https://war-tracker.com/developers","skill":"https://war-tracker.com/skill.md","tools":[{"name":"search_events","description":"Search War-Tracker classified conflict events (military strikes, drone attacks, missile launches, naval incidents, troop movements). Free, no payment required. Returns paginated JSON.","inputSchema":{"type":"object","properties":{"country":{"type":"string","description":"ISO 3166-1 alpha-2 country code (e.g. UA, IL, RU)."},"region":{"type":"string","description":"Region slug from list_regions (e.g. middle-east)."},"event_type":{"type":"string","description":"Event-type slug from list_event_types (e.g. military-strike)."},"from":{"type":"string","description":"ISO 8601 lower-bound timestamp (UTC)."},"to":{"type":"string","description":"ISO 8601 upper-bound timestamp (UTC)."},"limit":{"type":"integer","minimum":1,"maximum":200,"description":"Page size (max 200)."},"cursor":{"type":"string","description":"Opaque pagination cursor from a prior response."}},"additionalProperties":false}},{"name":"get_event","description":"Fetch a single War-Tracker event by integer event_id, including the schema.org JSON-LD @graph (NewsArticle / Event / VideoObject).","inputSchema":{"type":"object","required":["event_id"],"properties":{"event_id":{"type":"integer","minimum":1}},"additionalProperties":false}},{"name":"list_regions","description":"List the 15 hand-curated geographic regions War-Tracker classifies events into. Always free.","inputSchema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"list_countries","description":"List ISO 3166-1 alpha-2 country codes with active War-Tracker event coverage. Always free.","inputSchema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"list_event_types","description":"List classified event-type slugs (e.g. military-strike, drone-attack, missile-launch). Always free.","inputSchema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"vessel_facets","description":"FREE pre-flight: legal filter values (commercial market names, AIS types/subtypes, flag-state country codes, sanctioning bodies) for the paid vessel endpoints. Call ONCE per session before invoking search_vessels or vessels_in_area.","inputSchema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"search_vessels","description":"PAID ($0.002/page): Faceted identity search across ~600,000 AIS-tracked hulls. Returns vessel identity rows. First call returns MCP error with `_meta.x402` payment requirements; settle via your wallet and retry.","inputSchema":{"type":"object","properties":{"q":{"type":"string","description":"Free-text vessel name/IMO/MMSI search."},"type":{"type":"string","description":"AIS type code or normalized type (call vessel_facets for legal values)."},"subtype":{"type":"string","description":"AIS subtype (call vessel_facets)."},"commercial_market_name":{"type":"string","description":"Commercial market category (call vessel_facets)."},"country_code":{"type":"string","description":"Flag-state ISO 3166-1 alpha-2."},"sanctioned_body":{"type":"string","description":"Sanction body filter: ofac, fcdo, uani, eu, etc."},"limit":{"type":"integer","minimum":1,"maximum":50},"cursor":{"type":"string"}},"additionalProperties":false}},{"name":"vessels_in_area","description":"PAID ($0.010/page): Vessels last seen inside a bounding box within a recency window. Snapshot-pinned cursor for consistent pagination.","inputSchema":{"type":"object","required":["bbox"],"properties":{"bbox":{"type":"string","description":"Bounding box as 'min_lng,min_lat,max_lng,max_lat'."},"within_h":{"type":"integer","minimum":1,"maximum":24,"description":"Max age of last AIS fix, in hours (default 1)."},"type":{"type":"string"},"limit":{"type":"integer","minimum":1,"maximum":50},"cursor":{"type":"string"}},"additionalProperties":false}},{"name":"sanctioned_vessels","description":"PAID ($0.025/page): Bulk sanctioned-hull dump with last-known position. Filter by sanctioning body (ofac, fcdo, uani, eu).","inputSchema":{"type":"object","properties":{"body":{"type":"string","enum":["ofac","fcdo","uani","eu","ofsi","seco","ofac-sdn","aus"],"description":"Sanctioning body slug."},"limit":{"type":"integer","minimum":1,"maximum":50},"cursor":{"type":"string"}},"additionalProperties":false}},{"name":"get_vessel","description":"PAID ($0.001): Vessel identity by IMO — aliases, dimensions, build year, owner, flag.","inputSchema":{"type":"object","required":["imo"],"properties":{"imo":{"type":"integer","minimum":1000000,"maximum":9999999,"description":"7-digit IMO number."}},"additionalProperties":false}},{"name":"get_vessel_position","description":"PAID ($0.001): Last-known AIS lat/lng, speed, course, heading and age for a vessel.","inputSchema":{"type":"object","required":["imo"],"properties":{"imo":{"type":"integer","minimum":1000000,"maximum":9999999}},"additionalProperties":false}},{"name":"get_vessel_sanctions","description":"PAID ($0.002): Per-vessel sanctions detail across all 9 supported bodies (OFAC, FCDO, EU, UANI, OFSI, SECO, AUS DFAT, NZ MFAT, JP METI).","inputSchema":{"type":"object","required":["imo"],"properties":{"imo":{"type":"integer","minimum":1000000,"maximum":9999999}},"additionalProperties":false}},{"name":"get_vessel_track","description":"PAID ($0.010): AIS track polyline for the last N hours (capped at 1h, auto-downsampled).","inputSchema":{"type":"object","required":["imo"],"properties":{"imo":{"type":"integer","minimum":1000000,"maximum":9999999},"hours":{"type":"integer","minimum":1,"maximum":1,"description":"Currently capped at 1."}},"additionalProperties":false}},{"name":"hormuz_crossings","description":"PAID ($0.010/page): Strait-of-Hormuz transit log filtered by date and direction (0=outbound, 1=inbound).","inputSchema":{"type":"object","properties":{"date":{"type":"string","description":"ISO 8601 date (YYYY-MM-DD)."},"direction":{"type":"integer","enum":[0,1],"description":"0 = outbound, 1 = inbound."},"limit":{"type":"integer","minimum":1,"maximum":50},"cursor":{"type":"string"}},"additionalProperties":false}},{"name":"hormuz_summary","description":"PAID ($0.005): Daily Hormuz analytics — counts by direction, top 10 operators, top 10 flags, 14-day window.","inputSchema":{"type":"object","properties":{},"additionalProperties":false}}],"client_config":{"claude_desktop":{"mcpServers":{"war-tracker":{"url":"https://war-tracker.com/mcp"}}},"cursor":{"mcpServers":{"war-tracker":{"url":"https://war-tracker.com/mcp"}}}}}