
Kshana PNT-resilience simulator
Connects Claude to the Kshana PNT-resilience simulator, a validated engine for positioning, navigation, and timing scenarios. You get orbital propagation (SGP4 passing all 666 AIAA test vectors), inertial navigation, GNSS/INS fusion (loose, tight, UKF), and clock models including quantum sensor performance from published Allan coefficients. Run GNSS-outage scenarios from a prompt, compare quantum versus classical sensor drift, get reproducible JSON results scored against operational figures of merit. Useful when you're prototyping resilient-nav concepts, exploring alternate-PNT architectures, or need a conversational interface to orbit geometry and sensor fusion without writing scenario boilerplate. The underlying engine is Apache 2.0, professionally maintained, with ~97% test coverage and a brutally honest claims-versus-reality ledger.
- GitHub stars
- 9
- tools
- 35
- transport
- STDIO
- env vars
- 2
- last updated
- Nov 12, 2026
Tools
35 toolsPublic tool metadata for what this MCP can expose to an agent.
run_scenarioRun a scenario from a TOML (Tom's Obvious, Minimal Language) definition
Run a scenario from a TOML (Tom's Obvious, Minimal Language) definition
No parameter schema in public metadata yet.
list_scenario_kindsThe 92 built-in scenario kinds with descriptions + required/optional fields — so the agent can construct a valid scenario
The 92 built-in scenario kinds with descriptions + required/optional fields — so the agent can construct a valid scenario
No parameter schema in public metadata yet.
validate_scenarioPre-flight check: parse the TOML and detect its kind, without running
Pre-flight check: parse the TOML and detect its kind, without running
No parameter schema in public metadata yet.
list_example_scenariosThe bundled reference scenarios as JSON
The bundled reference scenarios as JSON
No parameter schema in public metadata yet.
get_example_scenarioThe TOML text of one bundled reference scenario, byte for byte the file under `scenarios/`
The TOML text of one bundled reference scenario, byte for byte the file under `scenarios/`
No parameter schema in public metadata yet.
report_scenarioRun a scenario and return its report
Run a scenario and return its report
No parameter schema in public metadata yet.
animate_scenarioRun a scenario and return its time series as an animation
Run a scenario and return its time series as an animation
No parameter schema in public metadata yet.
sky_geometrySky geometry under an azimuth-dependent skyline: the visible and hidden satellites, DOP, the east-north-up covariance and the horizontal error ellipse; or a skyline preset with its provenance
Sky geometry under an azimuth-dependent skyline: the visible and hidden satellites, DOP, the east-north-up covariance and the horizontal error ellipse; or a skyline preset with its provenance
No parameter schema in public metadata yet.
list_export_formatsWhich interoperability formats apply to a scenario (`czml`, `kml`, `geojson`, `stk`, `sigmf`), the reason when one does not, and the specification each writer follows
Which interoperability formats apply to a scenario (`czml`, `kml`, `geojson`, `stk`, `sigmf`), the reason when one does not, and the specification each writer follows
No parameter schema in public metadata yet.
export_interopExport a scenario as CZML (Cesium Language), KML (Keyhole Markup Language), GeoJSON, STK (Systems Tool Kit) ephemeris `.e`, or SigMF (Signal Metadata
Export a scenario as CZML (Cesium Language), KML (Keyhole Markup Language), GeoJSON, STK (Systems Tool Kit) ephemeris `.e`, or SigMF (Signal Metadata
No parameter schema in public metadata yet.
import_routeWrite a GeoJSON `LineString` route into a scenario that flies a waypoint track (`terrain-nav`, `terrain-slam`, `gravity-map`, `combined-altpnt`) and return the new TOML
Write a GeoJSON `LineString` route into a scenario that flies a waypoint track (`terrain-nav`, `terrain-slam`, `gravity-map`, `combined-altpnt`) and return the new TOML
No parameter schema in public metadata yet.
export_sp3Export an `orbit` scenario's constellation as SP3-c (Standard Product 3, revision c) precise ephemeris
Export an `orbit` scenario's constellation as SP3-c (Standard Product 3, revision c) precise ephemeris
No parameter schema in public metadata yet.
export_ommExport an `orbit` scenario's elements as a CCSDS (Consultative Committee for Space Data Systems) 502.0-B-2 OMM (Orbit Mean-elements Message) catalogue
Export an `orbit` scenario's elements as a CCSDS (Consultative Committee for Space Data Systems) 502.0-B-2 OMM (Orbit Mean-elements Message) catalogue
No parameter schema in public metadata yet.
export_oemExport an `orbit` scenario's state series as CCSDS OEM (Orbit Ephemeris Message) 2.0 ephemeris — the TEME (true equator, mean equinox) position *and*
Export an `orbit` scenario's state series as CCSDS OEM (Orbit Ephemeris Message) 2.0 ephemeris — the TEME (true equator, mean equinox) position *and*
No parameter schema in public metadata yet.
export_table_csvRun a scenario and return its reproducibility table as CSV (comma-separated values) — the byte-stable table the CLI (command-line interface) writes as `<scenario>.table.csv`
Run a scenario and return its reproducibility table as CSV (comma-separated values) — the byte-stable table the CLI (command-line interface) writes as `<scenario>.table.csv`
No parameter schema in public metadata yet.
export_test_benchA scenario's vehicle motion and events for a laboratory GNSS simulator (`kshana bench-export`)
A scenario's vehicle motion and events for a laboratory GNSS simulator (`kshana bench-export`)
No parameter schema in public metadata yet.
assess_receiver_logAssess a real GNSS (global navigation satellite system) receiver log for trust
Assess a real GNSS (global navigation satellite system) receiver log for trust
No parameter schema in public metadata yet.
assess_vessel_streamScore a bounded NMEA 0183 excerpt (at most 2 MiB and 20,000 epochs
Score a bounded NMEA 0183 excerpt (at most 2 MiB and 20,000 epochs
No parameter schema in public metadata yet.
assess_vessel_logA vessel's NMEA 0183 log (at most 4 MiB) as a batch run, with the session TOML stating the vessel's limits
A vessel's NMEA 0183 log (at most 4 MiB) as a batch run, with the session TOML stating the vessel's limits
No parameter schema in public metadata yet.
create_evidence_packA signed evidence pack for a window of a vessel's log (`kshana receiver-trust evidence`)
A signed evidence pack for a window of a vessel's log (`kshana receiver-trust evidence`)
No parameter schema in public metadata yet.
attach_evidence_timestampBind an RFC 3161 timestamp token (base64 of the `.tsr` bytes) to a pack, in memory (`kshana evidence attach-timestamp`)
Bind an RFC 3161 timestamp token (base64 of the `.tsr` bytes) to a pack, in memory (`kshana evidence attach-timestamp`)
No parameter schema in public metadata yet.
verify_evidence_packVerify a pack (`kshana evidence verify`)
Verify a pack (`kshana evidence verify`)
No parameter schema in public metadata yet.
generate_training_nmeaSynthetic bridge NMEA 0183 for crew training from a `nmea-scenario` TOML (jamming, position drag-off, time spoof, replay delay) with the instructor log (`kshana-nmea-training/1`)
Synthetic bridge NMEA 0183 for crew training from a `nmea-scenario` TOML (jamming, position drag-off, time spoof, replay delay) with the instructor log (`kshana-nmea-training/1`)
No parameter schema in public metadata yet.
build_interference_mapA GNSS interference map from ADS-B or AIS position reports as CSV text (at most 4 MiB)
A GNSS interference map from ADS-B or AIS position reports as CSV text (at most 4 MiB)
No parameter schema in public metadata yet.
route_exposureThe share of a route's length in degraded, not-degraded, unassessed and not-observed cells of one or more interference maps, optionally within a date range
The share of a route's length in degraded, not-degraded, unassessed and not-observed cells of one or more interference maps, optionally within a date range
No parameter schema in public metadata yet.
trust_telemetryA trust stream (JSON lines) or `receiver-trust` result rendered as Prometheus text, CEF or LEEF syslog lines or an OTLP JSON payload, with the `kshana trust-telemetry` encoders
A trust stream (JSON lines) or `receiver-trust` result rendered as Prometheus text, CEF or LEEF syslog lines or an OTLP JSON payload, with the `kshana trust-telemetry` encoders
No parameter schema in public metadata yet.
jammertest_importRead the published Jammertest test catalogue and transmission plan (NPRA/jammertest-plan, MIT) as scheduled truth (`kshana jammertest import`): one test area's slots become receiver-trust events with the catalogue id and year in each label. Planned slots, not recorded on-air t...
Read the published Jammertest test catalogue and transmission plan (NPRA/jammertest-plan, MIT) as scheduled truth (`kshana jammertest import`): one test area's slots become receiver-trust events with the catalogue id and year in each label. Planned slots, not recorded on-air t...
No parameter schema in public metadata yet.
jammertest_scoreScore a receiver log against that schedule (`kshana jammertest score`): per test the detection latency, missed alarms and time to recover, and the false alarms outside every slot. Text logs as `log`, binary (`ubx`, `sbf`) as `log_base64`. A signed pack needs a key: command lin...
Score a receiver log against that schedule (`kshana jammertest score`): per test the detection latency, missed alarms and time to recover, and the false alarms outside every slot. Text logs as `log`, binary (`ubx`, `sbf`) as `log_base64`. A signed pack needs a key: command lin...
No parameter schema in public metadata yet.
fit_imu_logAccelerometer and gyro parameters of the `hybrid` and `fusion` scenarios fitted from a stationary IMU log (CSV or EuRoC) by Allan deviation, with a ready-to-paste `[accel_classical]` table and the log's SHA-256 (`kshana imu-fit`). Text in, JSON out; MODELLED.
Accelerometer and gyro parameters of the `hybrid` and `fusion` scenarios fitted from a stationary IMU log (CSV or EuRoC) by Allan deviation, with a ready-to-paste `[accel_classical]` table and the log's SHA-256 (`kshana imu-fit`). Text in, JSON out; MODELLED.
No parameter schema in public metadata yet.
iq_signalsThe GNSS IQ layer's set-up
The GNSS IQ layer's set-up
No parameter schema in public metadata yet.
iq_infoDescribe one IQ (in-phase and quadrature) recording in the work directory without processing it
Describe one IQ (in-phase and quadrature) recording in the work directory without processing it
No parameter schema in public metadata yet.
iq_sceneGenerate a multi-satellite GNSS IQ scene into the work directory (`kshana iq scene`)
Generate a multi-satellite GNSS IQ scene into the work directory (`kshana iq scene`)
No parameter schema in public metadata yet.
iq_acquireFFT (fast Fourier transform) acquisition of one or more PRNs (pseudo-random noise codes) over a recording (`kshana iq acquire`), optionally behind front-end stages
FFT (fast Fourier transform) acquisition of one or more PRNs (pseudo-random noise codes) over a recording (`kshana iq acquire`), optionally behind front-end stages
No parameter schema in public metadata yet.
iq_trackAcquire, then track with the DLL/PLL/FLL (delay-, phase- and frequency-locked loop) bank (`kshana iq track`), with the loops from a `kshana.loop-desig
Acquire, then track with the DLL/PLL/FLL (delay-, phase- and frequency-locked loop) bank (`kshana iq track`), with the loops from a `kshana.loop-desig
No parameter schema in public metadata yet.
iq_frontendApply receiver front-end and in
Apply receiver front-end and in
No parameter schema in public metadata yet.
Sponsors
Configuration
KSHANA_MCP_IQ_DIRFolder the GNSS IQ tools (iq_scene, iq_acquire, iq_track, iq_frontend, iq_info, iq_campaign, iq_campaign_status) may read and write; every IQ path argument is relative to it. Unset leaves the IQ file tools off; the other tools are unaffected. In a container, mount a volume and po
KSHANA_MCP_IQ_MAX_SAMPLESdefault: 50000000Most complex samples one IQ call may generate or process (default 50000000).
Readme
Kshana · क्षण · the precise instant
An open-source simulator for PNT (positioning, navigation and timing) resilience.
Details
- Repository
- github.com/ashfordeou/kshana
- Website
- kshana.dev
- Category
- Mobile Development
- Package
kshana-mcp- Transport
- STDIO
- Registry
- MCP registry, active