Kshana PNT-resilience simulator — Claude Code MCP server: PNT maths
Wires a real simulation engine into your assistant: orbits, GNSS, INS fusion and receiver trust instead of a model guessing at the numbers.
claude mcp add --env KSHANA_MCP_IQ_DIR=<KSHANA_MCP_IQ_DIR> --env KSHANA_MCP_IQ_MAX_SAMPLES=<KSHANA_MCP_IQ_MAX_SAMPLES> --transport stdio kshana-mcp -- npx -y kshana-mcpWhat Kshana PNT-resilience simulator does
Language models are worst exactly where Kshana is strongest. SGP4 orbit propagation, IAU reference frames, Allan deviations, GNSS availability and DOP, ARAIM protection levels, GNSS/INS fusion, quantum-sensor models — kshana-mcp hands the assistant tools that run the actual engine and return JSON, with every figure carrying a unit and a VALIDATED or MODELLED tag.
Roughly twenty tools sit behind the server. run_scenario executes a TOML scenario and returns the summary plus the full result; list_scenario_kinds documents the 87 built-in kinds with their required and optional fields; validate_scenario parses a TOML and detects its kind before anything runs. A second group handles export: CZML, KML, GeoJSON, STK ephemeris, SP3-c, CCSDS OMM and OEM, and the reproducibility table as CSV. sky_geometry works out which satellites a skyline hides, and assess_receiver_log runs trust monitors over a receiver log given as ubx, rinex, android, nmea or sbf.
Transport is stdio and the server starts through npx. Some tools expect KSHANA_MCP_IQ_DIR and KSHANA_MCP_IQ_MAX_SAMPLES; leave them out and IQ handling stops there. Two limits worth knowing before you wire it in: sky_geometry is MODELLED and runs no Monte Carlo over MCP, and export_table_csv only emits a table for a handful of scenario kinds — anything else comes back as an error listing the ones that qualify.
What it helps with
- compute GNSS availability and DOP values for a site and time
- propagate an orbit with SGP4 and export ephemeris as SP3-c or OEM
- check a TOML scenario before spending a run on it
- score a real receiver log for jamming and position jumps
- produce a report where each figure keeps its unit and provenance
Example prompts for the agent
- Run the scenario in
orbit.tomland show me the summary with a chart - Which fields are required for the
leo-navmsgscenario kind? - Assess the receiver log
rover.ubxfor trust, format named in the TOML
How to install Kshana PNT-resilience simulator
Platform CLI
claude mcp add --env KSHANA_MCP_IQ_DIR=<KSHANA_MCP_IQ_DIR> --env KSHANA_MCP_IQ_MAX_SAMPLES=<KSHANA_MCP_IQ_MAX_SAMPLES> --transport stdio kshana-mcp -- npx -y kshana-mcpReplace <…> with your own values
Platform CLI
codex mcp add kshana-mcp --env KSHANA_MCP_IQ_DIR=<KSHANA_MCP_IQ_DIR> --env KSHANA_MCP_IQ_MAX_SAMPLES=<KSHANA_MCP_IQ_MAX_SAMPLES> -- npx -y kshana-mcpReplace <…> with your own values
Config file
{
"mcpServers": {
"kshana-mcp": {
"command": "npx",
"args": [
"-y",
"kshana-mcp"
],
"env": {
"KSHANA_MCP_IQ_DIR": "<KSHANA_MCP_IQ_DIR>",
"KSHANA_MCP_IQ_MAX_SAMPLES": "<KSHANA_MCP_IQ_MAX_SAMPLES>"
}
}
}
}Replace <…> with your own values
Config file
{
"servers": {
"kshana-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"kshana-mcp"
],
"env": {
"KSHANA_MCP_IQ_DIR": "<KSHANA_MCP_IQ_DIR>",
"KSHANA_MCP_IQ_MAX_SAMPLES": "<KSHANA_MCP_IQ_MAX_SAMPLES>"
}
}
}
}Replace <…> with your own values
Platform CLI
gemini mcp add -e KSHANA_MCP_IQ_DIR=<KSHANA_MCP_IQ_DIR> -e KSHANA_MCP_IQ_MAX_SAMPLES=<KSHANA_MCP_IQ_MAX_SAMPLES> kshana-mcp npx -y kshana-mcpReplace <…> with your own values
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about Kshana PNT-resilience simulator
How do I install Kshana PNT-resilience simulator in Claude Code?
Run claude mcp add kshana-mcp -- npx -y kshana-mcp. For IQ data, use the variant with environment variables: `claude mcp add --env KSHANA_MCP_IQ_DIR=<KSHANA_MCP_IQ_DIR> --env KSHANA_MCP_IQ_MAX_SAMPLES=<KSHANA_MCP_IQ_MAX_SAMPLES> --transport stdio kshana-mcp -- npx -y kshana-mcp`.
What does Kshana PNT-resilience simulator do?
It is an MCP server that lets an assistant drive the Kshana engine and read back JSON: orbits, GNSS, INS fusion, ARAIM protection levels, quantum-sensor models. Each number arrives with its unit and a VALIDATED or MODELLED label.
Which environment variables does the server need?
KSHANA_MCP_IQ_DIR and KSHANA_MCP_IQ_MAX_SAMPLES, which set the directory and the sample limit for IQ data.