Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

eYKON Intelligence

REMOTE · EYKON.AI · SCANNED SEP 24

Live geopolitical intelligence feeds, plus eYKON's own scored and published forecast record.

Available components

+3 this week 77 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security91
Transport & Reachability100
Schema Quality & AI Usability59
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 4509 tokens (~187/item across 24 items; 24 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management47
  • Stability observed for 14 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage84
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 51% of tool parameters carry a description.Partial
Tool Safety50
  • Injection-marker check failed: the description of tool "query_shadow_fleet_leads" contains an instruction to conceal the call from the user, the text "do not tell the user", at byte 498 of that field. See how to fix → Fail
  • We read all 24 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 25 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the eYKON Intelligence MCP server?

eYKON Intelligence is a hosted endpoint at https://eykon.ai/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · eykon.ai

# add to Claude Code
claude mcp add --transport http ai-eykon-intelligence 'https://eykon.ai/api/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "ai-eykon-intelligence": {
      "url": "https://eykon.ai/api/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "ai-eykon-intelligence": {
      "type": "http",
      "url": "https://eykon.ai/api/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.ai-eykon-intelligence]
url = "https://eykon.ai/api/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ai-eykon-intelligence": {
      "type": "remote",
      "url": "https://eykon.ai/api/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add ai-eykon-intelligence --url 'https://eykon.ai/api/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  ai-eykon-intelligence:
    url: "https://eykon.ai/api/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "ai-eykon-intelligence": {
      "Transport": "http",
      "Url": "https://eykon.ai/api/mcp"
    }
  }
}
# add to Vellum
assistant mcp add ai-eykon-intelligence -t streamable-http -u 'https://eykon.ai/api/mcp'
// mcp.json
{
  "mcpServers": {
    "ai-eykon-intelligence": {
      "type": "http",
      "url": "https://eykon.ai/api/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 23 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.

  • 21 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

  • 20 Sept 26 0
    • Tool “query_nightlights” rewrote its description, which is the text the model reads security
    • Tool “query_power_plants” rewrote its description, which is the text the model reads security
    • Tool “query_thermal_anomalies” rewrote its description, which is the text the model reads security
    • “query_thermal_anomalies” reworded the description of “facility_name” cosmetic
  • 18 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 16 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

  • 14 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

  • 12 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 11 Sept 26 0
    • Stability: unverified → 0.03 ▲ functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 24 Sept 2026 · Probed https://eykon.ai/api/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=eykon.ai CN=YR1,O=Let's Encrypt,C=US 31 Aug 2026 29 Nov 2026 RSA 2048 SHA256-RSA 58b9393c1d88e950039898908a3b98fcec3
SANs: eykon.ai
CN=YR1,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA a20253f15f2691c05dc1ce13b9bcca4e
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f

Background: What to check on a remote MCP endpoint →

DNSSEC secure

Validation of eykon.ai. — Secure

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
ai. present 3799 8 Verified
eykon.ai. present 12318 13 Verified
eykon.ai. Verified address RRset verified with the apex keys
Authentication Challenged, unverified

The endpoint asked for a token, but we could not retrieve and validate the RFC 9728 metadata that tells a client how to obtain one.

Result Challenged, unverified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer realm="eykon", charset="UTF-8"

Bearer realm="eykon", charset="UTF-8"
Header Value
strict-transport-security max-age=31536000; includeSubDomains; preload
x-content-type-options nosniff
x-frame-options DENY
referrer-policy strict-origin-when-cross-origin
permissions-policy accelerometer=(), autoplay=(), camera=(), display-capture=(), encrypted-media=(), fullscreen=(self), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=(), picture-in-picture=(), usb=()

Protected resource metadata

Retrieved No
Problem no_resource_metadata

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://eykon.ai/api/mcp Verified 200
http (plaintext) http://eykon.ai/api/mcp HTTPS enforced 301 https://eykon.ai/api/mcp
MCP tools · 24 exposed · ~4,421 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
expand_actor_network ~56

Walk the fleet kinship graph from a seed entity. Returns the nodes and edges within N hops.

NameTypeReqDescription
entity_idstringyes–
hopsnumber–1 | 2 | 3 (default 2)

No output schema declared.

No examples provided.

query_agent_reports ~88

Retrieve recent intelligence reports generated by eYKON Sub-Agents. Returns structured reports with severity, narrative, and entity references.

NameTypeReqDescription
domainstring–air_traffic, maritime, conflict_security, energy_infrastructure, satellite_imagery
hoursnumber–Look-back hours (default 48)
severitystring–low | medium | high | critical (minimum)

No output schema declared.

No examples provided.

query_aircraft ~67

Query ADS-B aircraft positions within a geographic area.

NameTypeReqDescription
altitude_maxnumber––
altitude_minnumber––
lat_maxnumberyes–
lat_minnumberyes–
lon_maxnumberyes–
lon_minnumberyes–

No output schema declared.

No examples provided.

query_airports ~204

Query airports from OurAirports. Default returns the ~7,500 commercially-significant airports (large airports + medium airports with scheduled service); pass include_minor=true for the full ~85k including small airfields, heliports, etc. Each row carries name, type, IATA/ICAO codes, country, municipality, elevation, scheduled_service. Use for questions like "airports near recent conflict events", "ICAO code for Heathrow", "all scheduled-service airports in Ukraine".

NameTypeReqDescription
include_minorboolean–If true, returns all 85k airports including heliports, small airfields, closed.
iso_countrystring–Two-letter ISO country code (e.g. "FR", "US"). Filter optional.
lat_maxnumberyes–
lat_minnumberyes–
limitnumber–Default 50, max 500.
lon_maxnumberyes–
lon_minnumberyes–

No output schema declared.

No examples provided.

query_calibration ~244

eYKON's own forecast record: Brier and log-loss per TRACK over a window. Three tracks never blend — house (eYKON's own published forecasts), machine (sensor observables) and creator. Each is returned separately with resolved, scored and unscored counts; "scored" is the real n. Unscored rows are excluded, never counted as zero. There is deliberately no combined figure.

NameTypeReqDescription
featurestring–posture_shift | conflict_escalation | trade_flow | energy_stress
trackstring–house | machine | creator. Omit to get every track, reported separately.
window_daysnumber–7 | 30 | 90 (default 90). 90 is the shortest window where the house track carries evidence — n=42 at 90d against 12 at 30d and 6 at 7d — and skill is measured against the track's own base rate INSIDE…

No output schema declared.

No examples provided.

query_conflicts ~91

Query armed-conflict events (GDELT-backed, with ACLED fallback when licensed) by region / date / event type / actor.

NameTypeReqDescription
countrystring––
daysnumber––
event_typestring––
lat_maxnumber––
lat_minnumber––
lon_maxnumber––
lon_minnumber––

No output schema declared.

No examples provided.

query_convergences ~42

Recent convergence_events (anomaly-of-anomalies) with synthesis and contributing anomaly IDs.

NameTypeReqDescription
hoursnumber–Look-back hours (default 24)

No output schema declared.

No examples provided.

query_dark_contact_events ~204

Dark-contact EVENTS from the Shadow Fleet board — resolvable observations with a lifecycle, not a leads snapshot. An event opens when a vessel goes silent >=12x its OWN 14-day cadence inside a live coverage box, and resolves within 72 h as: reappeared (a newer fix arrived — positive, feed-wide observation), still_dark (NOT RE-OBSERVED by our coverage — a statement about the instrument, never proof the transponder was off; say "not re-observed", never "confirmed dark"), or void (the coverage box died mid-event; neither a hit nor a miss). Response carries per-box coverage state and open/24h resolution tallies. Use this for "what went dark / what came back" questions; use query_shadow_fleet_leads for the current ranked list.

NameTypeReqDescription
limitnumber–Max events (default 50)
statusstring–open | resolved | void (omit for all)

No output schema declared.

No examples provided.

query_entities ~52

Search the entities registry (vessels, operators, owners, flags, ports, refineries, mines).

NameTypeReqDescription
entity_typestring––
limitnumber––
qstringyes–

No output schema declared.

No examples provided.

query_mines ~330

Query mineral deposits from the USGS Mineral Resources Data System (MRDS — public-domain US Government, ~304k records globally, archival snapshot frozen at 2011). Each row carries site name, development status (Producer / Past Producer / Prospect / Occurrence / Plant), commodities (commod1/2/3 + commodities array), country, state, deposit type. Default returns only Producer / Past Producer / Plant rows with a known commod1 (significant sites); pass include_minor=true for prospects and occurrences. Use for questions like "lithium mines in Chile", "rare-earth deposits worldwide", "active copper producers in Peru". Pass commodity to filter on the commodities[] array (case-sensitive, e.g. "Copper", "Lithium", "Rare Earths").

NameTypeReqDescription
commoditystring–Commodity name to match in the commodities array (e.g. "Copper", "Lithium", "Gold", "Rare Earths", "Uranium"). Case-sensitive.
countrystring–ISO 3166-1 alpha-2 (e.g. "CL") or country-name substring. Filter optional.
dev_statstring–Producer | Past Producer | Prospect | Occurrence | Plant | Unknown. Filter optional.
include_minorboolean–If true, drops the default significant-sites filter and returns prospects/occurrences too.
lat_maxnumberyes–
lat_minnumberyes–
limitnumber–Default 50, max 500.
lon_maxnumberyes–
lon_minnumberyes–

No output schema declared.

No examples provided.

query_nightlights ~662

Query NASA Black Marble night-lights (VIIRS VNP46A2, ~500 m): moonlight/atmosphere-corrected nighttime radiance sampled nightly at every FIRMS-watched facility, plus significance events judged against each facility's OWN clear-night baseline. Two modes. mode="events" (default) reads SITE-LEVEL significance events — went_dark_lights (a habitually-lit facility dark across several consecutive CLEAR nights: the outage signal), surge (materially brighter than its own norm), first_light (a reliably-dark facility lights up). Use it for "which power stations went dark last week", "unusual lighting activity in Kuwait". mode="radiance" reads the per-facility nightly radiance rollup — use it for baseline questions ("how bright is Bandar Abbas at night", "clear-night trend at Az Zour"). CRITICAL INTERPRETATION RULES — RADIANCE IS NOT POWER STATE. A dark pixel is not a confirmed outage: cloud, snow, moon geometry and the ~500 m footprint all hide light, so went_dark_lights requires SUSTAINED absence across multiple confidently-CLEAR nights and is still an inference, never a verdict. Judgements use confident_clear observations ONLY (cloud scatters city light back at the sensor — cloudy readings average ~100x brighter and would fake both surges and collapses). ABSENCE OF A ROW IS ABSENCE OF A LOOK, never darkness. Counts are per PHYSICAL SITE, not per registry row (one plant = many generating-unit rows at identical coordinates). LATENCY: NASA publishes VNP46A2 in stages, typically ~1-2 WEEKS behind — every response carries a coverage block with newest_night and lag_days; answers describe that week, NOT last night, and you must say so. Thermal (FIRMS) and night-lights measure DIFFERENT PHYSICS — infrared heat vs visible emitted light — but they are NOT independent sensors: both are NASA VIIRS-family, and the same clouds and overpass timing blind both. Agreement between them (e.g. a FIRMS went_dark and a went_dark_lights at the same facility) is stronger evidence than either alone,…

NameTypeReqDescription
countrystring–Country-name substring (e.g. "Kuwait", "Saudi"). NOTE: attribution is dense for power plants but sparse for refineries — prefer facility_name for refineries.
daysnumber–Look-back window in days ENDING AT THE NEWEST DATA NIGHT (not today — see coverage.lag_days). Default 14, max 60.
event_typestring–events mode: went_dark_lights | surge | first_light. Filter optional.
facility_namestring–Facility/site-name substring (e.g. "Az Zour", "Bandar Abbas"). Filter optional.
facility_typestring–radiance mode: refinery | power_plant. Filter optional.
limitnumber–Default 50, max 500.
modestring–"events" (default, site-level significance) | "radiance" (per-facility nightly rollup).

No output schema declared.

No examples provided.

query_pipelines ~316

Query gas pipelines (GEM GGIT), oil/NGL pipelines (GEM GOIT), and LNG terminals (GEM GGIT) in one call. Returns a mixed list — each row has infra_subtype=pipeline_gas|pipeline_oil|lng_terminal so you can disambiguate. Pipeline rows carry start/end country, length, capacity (bcm/y for gas, BOEd or raw bpd for oil), status, owner, route accuracy. LNG terminals carry facility_type=import|export, capacity in mtpa, country. Use for questions like "Russian gas pipelines into Europe", "LNG export terminals in Qatar", "Trans-Alaska oil pipeline status", "Keystone XL". Pass fuel=gas or fuel=oil to slice to one type. Pass include_minor=true to bypass the operating-only default.

NameTypeReqDescription
facility_typestring–For LNG terminals only: import | export.
fuelstring–"gas" (returns gas pipelines + LNG terminals) | "oil" (returns oil pipelines only). Omit to return all three.
include_minorboolean–If true, drops the default operating-only filter.
lat_maxnumberyes–
lat_minnumberyes–
limitnumber–Default 50, max 500.
lon_maxnumberyes–
lon_minnumberyes–
statusstring–operating (default) | construction | proposed | retired | cancelled | shelved | mothballed

No output schema declared.

No examples provided.

query_ports ~165

Query commercial seaports from the NGA World Port Index (~3,800 ports worldwide). Each row carries port name, country, harbor size (Large/Medium/Small/Very Small), harbor type, shelter rating, channel depth in metres, repair facilities. Use for questions like "ports near Bab-el-Mandeb", "deepwater ports in West Africa", "all large harbors in the Mediterranean". Pass harbor_size to slice to a single tier.

NameTypeReqDescription
harbor_sizestring–Large | Medium | Small | Very Small. Filter optional.
lat_maxnumberyes–
lat_minnumberyes–
limitnumber–Default 50, max 500.
lon_maxnumberyes–
lon_minnumberyes–

No output schema declared.

No examples provided.

query_posture_scores ~43

Most recent posture_scores rows per theatre. Returns composite + 5-domain sub-scores.

NameTypeReqDescription
limitnumber––
theatre_slugstring––

No output schema declared.

No examples provided.

query_power_plants ~332

Query unit-level power plants from the Global Energy Monitor — Global Integrated Power Tracker (GIPT). ~127k operating units worldwide spanning coal, oil/gas, nuclear, geothermal, bioenergy, utility-scale solar, wind, and hydropower. Each row carries plant name, fuel type, capacity (MW), status, start year, country, owner. Use for questions like "nuclear plants in France above 1 GW", "coal capacity in India", "operating bioenergy plants in Brazil". Pass include_minor=true to bypass the operating-only filter (e.g. to include proposed/retired). Pass fuel to slice to a single fuel_type. The registry is a bulk-loaded snapshot: every result carries `snapshot` (load date, age in days, refresh interval); when snapshot.is_stale is true, a snapshot_note says so — state the load date and never describe a unit's status as current.

NameTypeReqDescription
fuelstring–utility-scale solar | wind | hydropower | geothermal | bioenergy | nuclear | coal | oil/gas
include_minorboolean–If true, drops the default operating-only filter and capacity floor.
lat_maxnumberyes–
lat_minnumberyes–
limitnumber–Default 50, max 500.
lon_maxnumberyes–
lon_minnumberyes–
min_capacity_mwnumber–Minimum capacity in MW
statusstring–operating (default) | construction | proposed | retired | cancelled | shelved | mothballed

No output schema declared.

No examples provided.

query_precursor_matches ~62

Nearest precursor_library entries for the given theatre, by cosine similarity.

NameTypeReqDescription
event_typestring––
theatre_slugstringyesOne of the six theatres eYKON computes posture for.
top_knumber–Default 3

No output schema declared.

No examples provided.

query_refineries ~178

Query oil refineries from OpenStreetMap (canonical refinery tags only — petroleum_refinery, oil_refinery, refinery). ~700 facilities globally, each with name, operator, product, capacity (when tagged), country, city. Use for questions like "refineries in Saudi Arabia", "oil refining capacity on the Gulf Coast", "European refineries near Russian crude pipelines". Pass country to slice (ISO2 code or country name).

NameTypeReqDescription
countrystring–ISO 3166-1 alpha-2 (e.g. "SA") or country-name substring (e.g. "Saudi"). Filter optional.
lat_maxnumberyes–
lat_minnumberyes–
limitnumber–Default 50, max 500.
lon_maxnumberyes–
lon_minnumberyes–

No output schema declared.

No examples provided.

query_regime_shifts ~42

Active regime shifts (30d-vs-60d test) with p-values and effect sizes.

NameTypeReqDescription
regionstring–Theatre slug or label

No output schema declared.

No examples provided.

query_shadow_fleet_leads ~228

Ranked shadow-fleet vessel leads, scored from silence relative to the OWN observed reporting cadence of each vessel (14-day baseline), vanished-under-way, and flag-of-convenience. Vessels without a cadence baseline yet are unscored, not defaulted. Each lead carries silence_hours = hours since its last AIS fix, measured against the data clock. NOTE: the commodity argument is accepted but NOT applied — vessel type is known for under 1% of the tracked fleet, so all values return the same list; do not tell the user results were filtered by commodity. Coverage IS gated: vessels last seen in a coverage box that has itself been silent >12h are VOID, never ranked; the response carries per-box coverage state (live/stale/dead) you should relay when a corridor the user asks about is dark.

NameTypeReqDescription
commoditystring–oil | lng | grain — ACCEPTED BUT NOT APPLIED, see the tool description
limitnumber––
min_scorenumber–Minimum composite score (default 0.4)

No output schema declared.

No examples provided.

query_thermal_anomalies ~710

Query NASA FIRMS satellite thermal anomalies (VIIRS 375m + MODIS 1km, near-real-time, ~3h latency). Two modes. mode="facilities" (default) reads the pre-aggregated per-facility-per-day rollup — use it for facility-centric questions ("thermal anomalies at Russian refineries this week", "which Gulf refineries lit up", "anything at the Kirishi refinery"). Filter by country, facility_type (refinery | power_plant), facility_name, days. Returns per facility: total detections, max FRP (fire radiative power, MW), nearest detection distance in km, and the monitoring radius used. mode="raw" reads individual detections inside a lat/lon box — use it for geographic questions not anchored to a monitored facility. CRITICAL INTERPRETATION RULES — a FIRMS detection is a SATELLITE HOT PIXEL, nothing more. It is NOT a confirmed fire, NOT a strike, NOT an outage. Most detections at oil and gas infrastructure are ROUTINE GAS FLARES that burn every single day. Attributing a detection to a strike, an attack, an explosion or a production halt is INFERENCE and must be labelled as inference, corroborated with other sources (conflict events, agent reports, news), and never stated as fact. Equally, ABSENCE OF DETECTION DOES NOT MEAN ABSENCE OF FIRE — cloud cover, smoke, and satellite overpass timing routinely hide real fires. Every response carries a `coverage` block: ingest is REGIONAL — 8 boxes (Russia / Ukraine, Arabian Gulf, Europe, East Asia, South Asia, Southeast Asia, North America (east), North America (west)), not global — so facilities outside those boxes report zero detections because they are NOT WATCHED, not because nothing burned. Always read `coverage` before characterising a zero result, and tell the user which of the two it is.

NameTypeReqDescription
countrystring–facilities mode: country-name substring (e.g. "Russia", "Saudi", "Ukraine"). Names are full English, NOT ISO codes. Filter optional.
daysnumber–Look-back window in days ending today (default 7, max 30). Note the archive is shallow — check coverage.days_with_data.
facility_namestring–facilities mode: facility-name substring (e.g. "Kirishi", "Ras Tanura"). Filter optional.
facility_typestring–facilities mode: refinery | power_plant. Filter optional.
lat_maxnumber–raw mode: required.
lat_minnumber–raw mode: required.
limitnumber–Default 50, max 500.
lon_maxnumber–raw mode: required.
lon_minnumber–raw mode: required.
min_detectionsnumber–facilities mode: minimum total detections over the window (default 1, i.e. only facilities that registered something). Pass 0 to include quiet facilities and see what was watched-but-silent.
min_frpnumber–raw mode: minimum fire radiative power in MW. Higher FRP = more energetic hot pixel, but still not a fire type.
modestring–"facilities" (default, pre-aggregated per monitored facility) | "raw" (individual detections in a bounding box).

No output schema declared.

No examples provided.

query_vessels ~87

Query AIS vessel positions within a geographic area and time window. Returns vessel name, MMSI, type, position, speed, heading, destination.

NameTypeReqDescription
hoursnumber–Look-back window in hours (default 24)
lat_maxnumberyes–
lat_minnumberyes–
lon_maxnumberyes–
lon_minnumberyes–

No output schema declared.

No examples provided.

query_weather ~36

Query current weather conditions for a specific location (Open-Meteo).

NameTypeReqDescription
latitudenumberyes–
longitudenumberyes–

No output schema declared.

No examples provided.

run_chokepoint_scenario ~123

Run a chokepoint closure scenario (same model as the Chokepoint Simulator). Returns a computed projection; nothing is persisted on this path. A MODEL, not an observation.

NameTypeReqDescription
assumptionsobject––
chokepointstringyeshormuz | bab-el-mandeb | malacca | bosphorus | suez | panama
closure_typestringyespartial_50 | full | transit_tax_30
diversion_lag_hoursnumber––
duration_daysnumberyes–

No output schema declared.

No examples provided.

run_sanctions_wargame ~59

Run a sanctions propagation scenario.

NameTypeReqDescription
depthnumber–1 | 2 | 3
presetstringyes–
sanctioning_bodiesarrayyes–
target_entitiesarrayyes–

No output schema declared.

No examples provided.

Common questions

What is the eYKON Intelligence MCP server?

eYKON Intelligence is an MCP server listed in the public MCP registry as ai.eykon/intelligence. Live geopolitical intelligence feeds, plus eYKON's own scored and published forecast record. This page covers its hosted endpoint (https://eykon.ai/api/mcp).

Is the eYKON Intelligence MCP server safe to use?

eYKON Intelligence scores 77 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the eYKON Intelligence MCP server expose?

eYKON Intelligence exposes 24 tools: query_vessels, query_aircraft, query_conflicts, query_refineries, query_mines, and 19 more. Their descriptions and schemas cost roughly 4,421 tokens of context every time the server is loaded.

Does the eYKON Intelligence MCP server require authentication?

Yes. eYKON Intelligence asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

Is the eYKON Intelligence MCP server still maintained?

eYKON Intelligence is still listed as active in the MCP registry. We last reached this channel on 24 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.