# Kshana PNT-resilience simulator

Подключает к ассистенту настоящий движок Kshana: орбиты, GNSS, слияние с INS и оценка доверия к приёмнику вместо догадок модели.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 6
- Автор: ashfordeOU
- Лицензия: AGPL-3.0 · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/ashfordeOU/kshana/tree/HEAD/mcp/kshana-mcp
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/mcp/kshana-pnt-resilience-simulator

## Что делает

Обычно языковая модель врёт именно там, где нужна математика: распространение орбит по SGP4, системы отсчёта IAU, девиации Аллана, доступность GNSS и DOP, уровни защиты ARAIM, слияние GNSS с INS. `kshana-mcp` даёт ассистенту инструменты, которые запускают реальный движок и возвращают JSON с числами и пометкой VALIDATED или MODELLED.

Внутри около двух десятков инструментов. `run_scenario` прогоняет сценарий из TOML и отдаёт сводку с полным результатом, `list_scenario_kinds` перечисляет 87 встроенных видов сценариев с обязательными полями, `validate_scenario` проверяет TOML до запуска. Отдельная группа отвечает за выгрузку: CZML, KML, GeoJSON, эфемериды STK, SP3-c, OMM и OEM по CCSDS, таблица воспроизводимости в CSV. Ещё есть `sky_geometry` для геометрии неба с учётом горизонта и `assess_receiver_log` для оценки доверия к логу приёмника в форматах `ubx`, `rinex`, `android`, `nmea` или `sbf`.

Сервер общается по stdio и запускается через `npx`. Для части инструментов нужны переменные окружения `KSHANA_MCP_IQ_DIR` и `KSHANA_MCP_IQ_MAX_SAMPLES` — без них работа с IQ-данными не пойдёт. Учтите: `sky_geometry` помечен как MODELLED и не гоняет Монте-Карло, а `export_table_csv` сработает только для нескольких конкретных видов сценариев, для остальных вернёт ошибку со списком подходящих.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `KSHANA_MCP_IQ_DIR`, `KSHANA_MCP_IQ_MAX_SAMPLES` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
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
```
Вместо <…> подставьте свои значения

### Codex

**Командой платформы**
```bash
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-mcp
```
Вместо <…> подставьте свои значения

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "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>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "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>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### Gemini CLI

**Командой платформы**
```bash
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-mcp
```
Вместо <…> подставьте свои значения

## Когда брать
- посчитать доступность GNSS и значения DOP для точки и времени
- разложить орбиту по SGP4 и выгрузить эфемериды в SP3-c или OEM
- проверить TOML-сценарий до запуска и не гонять движок впустую
- оценить доверие к реальному логу приёмника по мониторам помех и скачков позиции
- собрать отчёт со всеми числами, единицами и пометкой происхождения

## Примеры запросов агенту
- Прогони сценарий из `orbit.toml` и покажи сводку с графиком
- Какие поля обязательны для вида сценария `leo-navmsg`?
- Оцени доверие к логу приёмника `rover.ubx`, формат укажи в TOML

## Похожие
- [blender-optics-simulator](https://affpapa.org/nevibecode/mcp/blender-optics-simulator.md) — MCP-сервер · ★ 24
- [game-strategy-simulator](https://affpapa.org/nevibecode/skills/game-strategy-simulator.md) — скилл · 385 установок
- [MaBoSS Boolean Network Simulator](https://affpapa.org/nevibecode/mcp/maboss-boolean-network-simulator.md) — MCP-сервер · ★ 20
- [project-timeline-simulator](https://affpapa.org/nevibecode/commands/project-timeline-simulator.md) — команда · 253 установки
- [monte-carlo-simulator](https://affpapa.org/nevibecode/commands/monte-carlo-simulator.md) — команда · 193 установки
- [Sidereon](https://affpapa.org/nevibecode/mcp/sidereon.md) — MCP-сервер · ★ 18

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
