Masintõlge, mida emakeelne kõneleja pole üle vaadanud. Võrdlusallikaks on ingliskeelne versioon.

API-d ja integratsioonidMuuda GitHubisAllikas: mcp/kshana-mcp/README.md

Kshana: märk, täpset hetke tähistav kompassi-ristik, sõnamärgi kshana kõrvalKshana: märk, täpset hetke tähistav kompassi-ristik, sõnamärgi kshana kõrval

kshana-mcp: küsige oma tehisintellekti assistendilt ja mootor vastab

kshana-mcp on Model Context Protocol (MCP) server projektile Kshana, avatud lähtekoodiga simulaatorile PNT (positsioneerimine, navigatsioon ja aeg) vastupidavuse jaoks. See laseb tehisintellekti (AI) assistendil käivitada päris mootori ja lugeda tagasi selle JSON-i (JavaScript Object Notation), selle asemel et matemaatikat ära arvata. See räägib stdio (standardsisend ja -väljund) kaudu mis tahes MCP-ühilduva kliendiga, sealhulgas Cursori ja JetBrains AI Assistant / Junie'ga.

Matemaatika, milleks Kshana on valideeritud, on täpselt see, kus keelemudel arvab halvasti: SGP4 (Simplified General Perturbations 4) orbiidi levitamine, IAU (Rahvusvaheline Astronoomia Liit) tugisüsteemid, Alani hälbed, GNSS (ülemaailmne satelliitnavigatsioonisüsteem) kättesaadavus ja DOP (täpsuse halvenemise tegur), ARAIM (täiustatud vastuvõtja autonoomne terviklikkuse seire) kaitsetasemed, GNSS-i ja INS-i (inertsiaalnavigatsioonisüsteem) liitmine ning kvantsensorite mudelid. Esitage küsimus; assistent käivitab päris stsenaariumi ja saab kvaliteedinäitajad koos nende päritolu ning nende VALIDATED või MODELLED märgisega.

Üks avatud mootor keskel, MCP server ühe selle pinnana käsurea, Rusti teegi, Pythoni, WebAssembly ja Kshana Studio, Dockeri kujutise ja JetBrains plugina kõrval; iga pind käitab sama mootorit ja Kshana Pro sõltub sellest, seda hargnemataÜks avatud mootor keskel, MCP server ühe selle pinnana käsurea, Rusti teegi, Pythoni, WebAssembly ja Kshana Studio, Dockeri kujutise ja JetBrains plugina kõrval; iga pind käitab sama mootorit ja Kshana Pro sõltub sellest, seda hargnemata

Tööriistad#

Tööriist Mida see teeb
run_scenario Käivitab stsenaariumi TOML (Tom's Obvious, Minimal Language) määratlusest; tagastab kokkuvõtte + täieliku tulemuse JSON-i (JavaScript Object Notation: kvaliteedinäitajad, kõverad). Valikuline include_chart tagastab diagrammi SVG-na (Scalable Vector Graphics).
list_scenario_kinds 92 sisseehitatud stsenaariumi liiki kirjelduste ja nõutavate/valikuliste väljadega, et agent saaks koostada kehtiva stsenaariumi.
validate_scenario Eelkontroll: parsib TOML-i ja tuvastab selle liigi käivitamata.
list_example_scenarios Kaasasolevad etalonstsenaariumid JSON-ina: iga name, selle stsenaariumi kind-id ja üks lause selle kohta, mida see näitab. Valikuline stsenaariumi kind-i filter. Iga näide käivitub sellisena, nagu see on, seega on see kiireim tee liigi jaoks kehtiva TOML-ini.
get_example_scenario Ühe kaasasoleva etalonstsenaariumi TOML-tekst, bait-baidilt fail kataloogis scenarios/.
report_scenario Käivitab stsenaariumi ja tagastab selle aruande: juhtkokkuvõte, sisendid, iga arv koos ühiku ja VALIDATED või MODELLED märgisega, sündmused, kasutatud võimekused ja reprodutseeritavuse kirje. format on json (vaikimisi) või html (prinditav üksikfaili leht).
animate_scenario Käivitab stsenaariumi ja tagastab selle aegrea animatsioonina: svg (vaikimisi), html (isemajandav mängija) või frames (kuni 120 ühes vastuses). Esimene sisuüksus on JSON-kokkuvõte joonistatust; failid järgnevad. Liik, millel puudub valimiga ajatelg, lükatakse tagasi koos põhjusega.
list_export_formats Millised koostalitlusvormingud stsenaariumile kehtivad (czml, kml, geojson, stk, sigmf), põhjus, kui mõni ei kehti, ja spetsifikatsioon, mida iga kirjutaja järgib. Ei käivita stsenaariumi.
export_interop Ekspordib stsenaariumi kui CZML (Cesium Language), KML (Keyhole Markup Language), GeoJSON, STK (Systems Tool Kit) efemeriid .e või SigMF (Signal Metadata Format, stsenaariumile spectrum koos plokiga [iq]). Esimene sisuüksus on JSON-register failidest (sufiks, suurus, kodeering ja SHA-256 räsi, 256-bitine Secure Hash Algorithm); failid järgnevad, binaarne SigMF valimifail base64-na.
import_route Kirjutab GeoJSON-i LineString marsruudi stsenaariumi, mis lendab teekonnapunktide jälge (terrain-nav, terrain-slam, gravity-map, combined-altpnt), ja tagastab uue TOML-i.
export_sp3 Ekspordib stsenaariumi orbit konstellatsiooni SP3-c (Standard Product 3, revisjon c) täppisefemeriidina.
export_omm Ekspordib stsenaariumi orbit elemendid CCSDS (Consultative Committee for Space Data Systems) 502.0-B-2 OMM (Orbit Mean-elements Message) kataloogina.
export_oem Ekspordib stsenaariumi orbit olekuseeria CCSDS OEM (Orbit Ephemeris Message) 2,0 efemeriidina — TEME (true equator, mean equinox) asukoha ja kiiruse seeria, mida lendudünaamika tööriistad (GMAT, General Mission Analysis Tool; Orekit; STK, Systems Tool Kit) loevad; ainult asukohaga export_sp3 kiirust kandev täiend.
export_table_csv Käivitab stsenaariumi ja tagastab selle reprodutseeritavuse tabeli CSV-na (comma-separated values) — bait-baidilt stabiilne tabel, mille CLI (käsurea liides) kirjutab kui <scenario>.table.csv. Ainult realtime-frame-eop, lunar-time-budget, lunar-jamming, telecom-timing, leo-navmsg (selle analüüs encode-decode sõnumimudelil kepler16 või kepler-rac) ja moonlight-service-volume seatud väljadega export_site_lat_deg + export_site_lon_deg väljastavad ühe; iga muu liik tagastab vea, mis nimetab need.
sky_geometry Taevageomeetria asimuudist sõltuva silmapiirijoone all: asukohast, ajast ja konstellatsiooni eelseadetest, kaherealistest elemendikomplektidest (tle, SGP4-ga levitatud UTC-le epoch) või satelliitidest asimuudi/kõrgusnurgana või ECEF-is, nähtavad satelliidid ja need, mille silmapiirijoon peidab, GDOP/PDOP/HDOP/VDOP/TDOP gnss_lib_py-ga kontrollitud DOP-tuumast, ida-põhja-üles kofaktor ja kovariatsioon (üks kell süsteemi kohta või üks ühine) ja horisontaalne vea ellips; väljaga skyline_preset asemel request REPRESENTATIVE eelseade koos selle päritolu ja iga kraadi järel lõikega. MODELLED; kannab nõuandvat avaldust; MCP kaudu Monte Carlot ei ole. Vt docs/SKYLINE.md.
assess_receiver_log Hindab tegeliku GNSS-i (ülemaailmne satelliitnavigatsioonisüsteem) vastuvõtja logi usaldatavust. TOML nimetab logi välja format (ubx, rinex, android, nmea või sbf) ja annab selle baidid sisse kujul text või base64; tööriist käivitab usaldusseirajad (kandja-müra tiheduse langus, lukustuse kadu, AGC (automaatne võimenduse reguleerimine), segamisnäidik, asukohahüpe ja RINEX-i pluss edastatava navigatsiooniga RAIM (vastuvõtja autonoomne terviklikkuse seire) ja kellapõhine seire) ning tagastab, millal ja miks lahend lakkas usaldusväärne olemast. Valikulised jaotised [[events]] ja [compare] hindavad sätestatud sündmusi ja ennustatud C/N0 langusi sätestatud tolerantside vastu. Tabel [platform] kind = "vessel" valib mereliinid seirajad ja lisab 0-100 usaldusskoori epohhi kohta koos seiretega, mis maha arvasid (nõuandev; MODELLED). Logi läheb sisse kujul text või base64 (kuni 4 MiB). Diagramm ja epohhipõhine CSV soovi korral. Vt docs/RECEIVER-TRUST.md.
assess_vessel_stream Hindab piiratud NMEA 0183 väljavõtet (kuni 2 MiB ja 20 000 epohhi; see peab hoidma kalibreerimisakent) nii, nagu kshana receiver-trust live seda hindab: epohhipõhine usaldusolek ja 0-100 skoor koos seiretega, mis maha arvasid, kokkuvõte ja viimane $PKSHT. Reaalajakäsu piiratud vorm: ühtegi sokklit ei avata ja midagi ei kirjutata porti; värav, --listen ja telemeetriaeksportijad (Prometheus, OTLP, syslog) on ainult käsureal. Ainult nõuandev; MODELLED. Vt docs/MARITIME-TRUST.md.
assess_vessel_log Laeva NMEA 0183 logi (kuni 4 MiB) pakkjooksuna, koos seansi TOML-iga, mis sätestab laeva piirid: skoorimudel ja iga epohhi 0-100 skoor koos mahaarvamistega (vastus hoiab arve oleku järgi ja esimesi 200 degraded või untrusted epohhi). Ainult nõuandev; MODELLED.
jammertest_import Loeb avaldatud Jammertesti testikataloogi ja edastusplaani (NPRA/jammertest-plan, MIT) ajastatud tõena (kshana jammertest import): ühe testiala pilud muutuvad vastuvõtja usalduse sündmusteks koos kataloogi id ja aastaga igas märgises. Planeeritud pilud, mitte salvestatud eetriajad; plaani ühtki kontaktivälja ei loeta. MODELLED. Vt docs/JAMMERTEST.md.
jammertest_score Hindab vastuvõtja logi selle ajakava vastu (kshana jammertest score): iga testi kohta tuvastusviivitus, tuvastamata alarmid ja taastumisaeg ning valehäired väljaspool iga pilu. Tekstilogid kui log, binaarsed (ubx, sbf) kui log_base64. Allkirjastatud pakett vajab võtit: käsurida. Ainult nõuandev; MODELLED.
create_evidence_pack Allkirjastatud tõendipakett laeva logi aknale (kshana receiver-trust evidence): akna toored logibaidid, seadistus, epohhipõhised tulemused ja põhjused, kokkuvõttelehekülg ning manifest iga SHA-256 ja räsiahelaga, allkirjastatud Ed25519-ga. Allkirjastamise algväärtust (seed) ei tagastata ega logita; ilma selleta kasutatakse ühekordset võtit, seega tõendab pakett terviklikkust, mitte identiteeti. Tehniline kirje, mitte õigusarvamus. Vt docs/EVIDENCE-PACKS.md.
attach_evidence_timestamp Seob RFC 3161 ajatempli tokeni (baidide .tsr base64) paketiga, mälus (kshana evidence attach-timestamp); tokeniga pakett peab siiski kontrollima. Ajatempliasutuse allkirja ei kontrollita: kasutage openssl ts -verify.
verify_evidence_pack Kontrollib paketti (kshana evidence verify): iga räsi, ahel, allkiri ning allkirjastaja avaliku võtme ja täieliku logiga, kes selle allkirjastas ja et lõik pärines sellest logist. Nimetab iga ebaõnnestumise ja faili. verdict on verified (allkirjastaja fikseeritud), intact-signer-not-pinned (kõik klapib, kuid avalikku võtit ei antud, seega allkirjastajat ei ole kindlaks tehtud) või failed; require_timestamp ebaõnnestub paketiga, millel puudub ajatempli token.
generate_training_nmea Sünteetiline silla NMEA 0183 meeskonna treeninguks nmea-scenario TOML-ist (segamine, asukoha nihutamine, aja spuufimine, kordusviivitus) koos juhendaja logiga (kshana-nmea-training/1); deterministlik algväärtuse (seed) kohta. Ainult tekst: midagi ei sünteesita RF-i ega IQ tasemel ja midagi ei edastata; mitte kunagi laeva reaalajas navigatsioonisüsteemidele. Vastus kannab esimest 2000 rida.
build_interference_map GNSS-i häirekaart ADS-B või AIS asukohaaruannetest CSV-tekstina (kuni 4 MiB): üks kshana-interference-map/v1 GeoJSON UTC päeva kohta, ainult agregeeritud (identifikaatoreid ei ole, alla 5 erineva õhusõiduki või laevaga rakud jäetakse kinni), andmekogumi litsentsiga põimituna. Halvenenud rakk ei määra häiret põhjuseks; mitte prognoos. MODELLED. Vt docs/INTERFERENCE-MAP.md.
export_test_bench Stsenaariumi sõiduki liikumine ja sündmused laboratoorse GNSS-i simulaatori jaoks (kshana bench-export): liikumise CSV ja JSON, NMEA, teekonnapunktid ja sündmused tekstina, midagi kettale ei kirjutata. Liigid gnss-ins, jamming, gnss-sim. Signaali ei ole: miski eksporditud ei ole, ei modelleeri ega juhi raadiosageduslikku ega baasriba signaali; simulaator ja selle operaator annavad signaalid. Vt docs/TEST-BENCH.md.
create_round_trip_pack Allkirjastatud laboratoorne ringkäigu pakett (kshana evidence round-trip): stsenaarium, labori dokument kshana.test-conditions/1, vastuvõtja logi ja selle skoor sätestatud sündmuste vastu, seotud räsiga. Keeldub tingimustest ja hindamissündmustest, mis ei ühti. Signaali ei ole; tehniline kirje, mitte sertifitseerimine.
iq_sweep Kordab ühte IQ salvestust töökataloogis mitme jälgimissilmuse kavandi kaudu (kshana iq sweep): kavandi ja PRN-i kohta stabiilse oleku faasi- ja koodidrift, lukustuse osad ja keskmine C/N0. Kuni 256 (kavand, PRN) kanalit kutse kohta; ulatus peab mahtuma valimieelarvesse.
iq_monitor Käivitab häire- ja spuufimise tuvastusseirajad IQ salvestusel töökataloogis (kshana iq monitor): lairiba võimsus- ja spektriseirajad ning satelliidipõhised C/N0 ja signaalikvaliteedi seirajad õpitud lähtetaseme vastu. Seeria nimed ja pikkused ning kuni 200 sündmust vastuses; kogu aruanne soovi korral failidena. Sündmus ütleb, et mõõdetud suurus lahkus oma lähtetasemest, mitte miks. MODELLED.
iq_labfit Sobitab jälgimissilmuse lukustuse kao mudeli labori jooksudele (kshana iq labfit) stsenaariumist iq-labfit, mille logid on sisse (text või base64; path lükatakse tagasi). Ei loe ega kirjuta ühtki faili. MODELLED.
iq_test_conditions Valideerib tekstina antud faili kshana.test-conditions/1 ja tagastab lahendatud tingimused koos nende räsiga. Ainult sisse.
compliance_report Avaliku raamistiku vastendus, mis on täidetud tekstina antud tulemusdokumentidest (kshana compliance-report): millised kuue vastupidavusraamistiku ja standardi (US DHS Resilient PNT framework v2.0, IMO laevad, EASA lennundus, NIS2 artikkel 21, EN 16803, NIST IR 8323r1) read on need, mille kohta jooksud toetavad tõendeid (supports evidence for), millised ei ole, ja iga rea lünk. Võtab runs väärtustest {label, result, scenario?} (kuni 64, kokku 4 MiB). Olek ütleb, et jooksud toetavad tõendeid (supports evidence for) rea võimekuste kohta; see ei ole järeldus, et raamistik on täidetud, ega ühegi toote hinnang ega heakskiit. Avaldus statement tagastatakse iga aruandega; näidake seda sõna-sõnalt. MODELLED. Vt docs/compliance/.
compliance_mapping Staatilised vastendustabelid (või käsuga sources allikadokumendid, millele need viitavad, koos versioonide ja URL-idega) Markdownina, mida juhatab sama avaldus. Ei vaja jooksusid.
trust_telemetry Usaldusvoog (JSON-read) või tulemus receiver-trust, mis on esitatud Prometheuse tekstina, CEF- või LEEF-syslog-ridadena, OTLP JSON-andmekoormana või Home Assistanti MQTT avastus- ja olekuridadena, kodeerijatega kshana trust-telemetry. Tekst vastuses: midagi ei saadeta ega teenindata ja kella ei loeta. Ainult nõuandev.
fit_imu_log Stsenaariumide hybrid ja fusion kiirendusmõõturi ja güroskoobi parameetrid, mis on sobitatud liikumatust IMU logist (CSV või EuRoC) Alani hälbega, koos kopeerimiseks valmis tabeliga [accel_classical] ja logi SHA-256-ga (kshana imu-fit). Tekst sisse, JSON välja; MODELLED.
list_standards_packs Standardipaketid (kshana standards-pack list): hinnatud stsenaariumikomplektid DHS Resilient PNT raamistiku testiprofiilide (tasemed 1 kuni 4), IMO MSC.1/Circ.1575 ja ICAO Doc 9849 liite F jaoks.
run_standards_pack Üks paketijooks enne jooksu sätestatud lävendite vastu (kshana standards-pack run): iga test MET, NOT MET või NEEDS INPUT, mõõdetud ja oodatud väärtustega; andke aruanne käsule compliance_report, et ridu näha. MODELLED; ei hinda ühtki toodet.
lunanet_afs_check LunaNet Augmented Forward Signal, mida on kontrollitud LNIS V5 AD1 Volume A (LSIS-AFS V1.0, 29. jaanuar 2025) vastu: spec (realisatsioon dokumendi trükitud koodtabelite ja läbitöötatud näidete vastu), symbols (sümbolivoog: sünkroonimismuster, SB1, FID, TOI järjepidevus) või generate (testvoog). Alamkaadrite 2 kuni 4 LDPC-d ja CRC-24Q-d ei kontrollita; ühtki signaali ei kirjutata.
score_benchmark kshana-bench esitus, mida on hinnatud tõefaili vastu, mõlemad JSON-tekstina (kshana bench score, bench/SPEC.md): tulemusfail koos spetsifikatsiooni versiooni, jaotuse, sisendräsidega ja ülesande mõõdikutega. MODELLED; kirjeldab logi või korpust, mitte kunagi toodet.
render_leaderboard kshana-bench tulemusfailid, mis on esitatud staatilise edetabeli lehena (HTML-tekst), igaüks eelnevalt valideeritud.
trust_telemetry Usaldusvoog (JSON-read) või tulemus receiver-trust, mis on esitatud Prometheuse tekstina, CEF- või LEEF-syslog-ridadena või OTLP JSON-andmekoormana, kodeerijatega kshana trust-telemetry. Tekst vastuses: midagi ei saadeta ega teenindata ja kella ei loeta. Ainult nõuandev.
route_exposure Marsruudi pikkuse osa halvenenud, mittehalvenenud, hindamata ja mittevaadeldud rakkudes ühel või mitmel häirekaardil, soovi korral kuupäevavahemikus. Vaatlemata rakud ei ole tõend selge marsruudi kohta.
iq_signals GNSS IQ kihi seadistus: signaalinimed, mida IQ tööriistad aktsepteerivad, kas IQ-failitööriistad on sisse lülitatud, töökataloog ja kutsepõhine valimieelarve. Kutsuge see esimesena.
iq_info Kirjeldab ühte IQ (faasisisene ja kvadratuur) salvestust töökataloogis seda töötlemata: vorming, valimisagedus, keskpunktisagedus, valimid, kestus, andmefailid ja suurused (kshana iq info).
iq_scene Genereerib mitme satelliidiga GNSS IQ stseeni töökataloogi (kshana iq scene): sätestatud Doppleri/C/N0 profiilid või tegelik edastatava efemeriidi geomeetria RINEX-i navigatsioonifailist, valikulise signaalitasandi levikanaliga. Vastab kirjutatud failide ja nende baidiarvude ning tõe esimese epohhiga satelliidi kohta.
iq_acquire Ühe või mitme PRN-i (pseudojuhuslikud müra koodid) FFT (kiire Fourier' teisendus) hõivamine salvestusel (kshana iq acquire), valikuliselt esiotsa etappide taga: PRN-i kohta hõivatud või mitte, Doppler, koodifaas, tipu statistik ja lävi; surface_out (üks PRN) säilitab kogu Doppleri × koodifaasi korrelatsioonipinna täpsete Doppleri täpsustustega.
iq_track Hõiva, seejärel jälgi DLL/PLL/FLL (viite-, faasi- ja sagedusluku silmus) panga abil (kshana iq track), kus silmused pärinevad töökataloogi TOML-failist kshana.loop-design/1 (design) või sisseehitatud kavandist, ja valikulise uuestihõivamisega (reacquire): kanali kohta epohhid, lõplik Doppler, lõplik ja keskmine C/N0, faasi- ja koodiluku osad, lukus lõpus, lõplik lukuolek, valelukud ja uuestihõivamised, pluss kavandi nimi ja räsi. Jälgimine voogedastab piiratud mälus; epohhipõhine väljund läheb ainult failidesse (epochs_out: E/P/L, diskriminaatorid, silmuse olekud, C/N0, lukuolek kujul .csv/.jsonl/.bin; events_out).
iq_frontend Rakendab vastuvõtja esiotsa ja häirete leevendamise DSP-d (digitaalne signaalitöötlus: ribapääs, sälk, blankimine, väljalõige, AGC, kvantiseerija) salvestusele ja kirjutab uue (kshana iq frontend).
iq_campaign Käivitab labori kordusesituse kampaania (kshana iq campaign): salvestused, igaühel testitingimuste fail, mis sätestab labori teadaoleva tõe, × esiotsa ahelad × silmuste kavandid. Iga lahtrit hinnatakse lukukaotuse ajaks, uuestihõivamise ajaks, C/N0 halvenemiseks sätestatud J/S vastu (analüütilise etaloni kõrval, märgitud MODELLED), valeluku määraks, PLL/DLL driftiks ja kättesaadavuseks. Inkrementaalne ja jätkatav: iga kutse käivitab ootel lahtrid, mis mahuvad valimieelarvesse (või max_cells).
iq_campaign_status Kampaania väljundkausta edenemine: valmis ja ootel lahtrid ning lõpetamisel räsi. Loeb ainult faile.

Iga tööriist on õhuke, truu ümbris teegi kshana avaliku funktsiooni ümber — siin ei ela uut simulatsiooniloogikat, nii et agent käitab täpselt valideeritud mootorit.

GNSS IQ tööriistad: failid sisse, kompaktne JSON välja#

IQ salvestused ulatuvad gigabaitideni, seega ei lase tööriistad iq_* valimeid kunagi protokolli kaudu läbi. Need järgivad ühte lepingut:

  • Töökataloog. Server loeb ja kirjutab IQ-faile ainult kaustas, mille nimetab KSHANA_MCP_IQ_DIR. Iga teeargument on selle suhtes suhteline (absoluutne tee peab lahenduma selle sees); sisendid lahendatakse enne kontrolli läbi sümlinkide, väljundi kaust peab selle sees juba olemas olema ja olemasolev väljund asendatakse ainult koos overwrite: true. Seadmata korral on IQ-failitööriistad välja lülitatud ja ütlevad, kuidas neid lubada; iga teine tööriist jääb puutumata.
  • Valimieelarve. Üks kutse genereerib või töötleb kuni KSHANA_MCP_IQ_MAX_SAMPLES kompleksvalimit (vaikimisi 50 000 000). Baitides on see 400 MB kujul cf32_le (8 baiti kompleksvalimi kohta), 200 MB kujul ci16_le (4 baiti) ja 100 MB kujul ci8 (2 baiti); stseen kirjutatakse kujul cf32_le, kui format ei ütle teisiti. Kontroll toimub enne mis tahes tööd ja tagasilükkamine nimetab kestuse või max_seconds, mis mahub.
  • Kompaktsed vastused. Iga tööriist vastab ühe JSON-kokkuvõttega: hõivamistipud, C/N0, lukuolek ja iga kirjutatud fail oma tee ja baidiarvuga. Epohhipõhised tabelid lähevad failidesse json_out / csv_out, mille te nimetate.
  • Tundmatud argumendid lükatakse tagasi, mitte ei ignoreerita, nii et valesti kirjutatud valik on viga.

Iga tööriist käitab sama kooditeed nagu kshana iq käsureal, protsessi sees. Kiht on ainult tarkvara: see kirjutab faile tarkvaravastuvõtjatele ega juhi ühtki raadioriistvara. IQ kiht ei lisa häirete ega spuufija süntesaatorit ja midagi ei edastata kunagi. (Eraldi stsenaariumi liik spectrum võib kirjutada analüütilisi segaja IQ hetktõmmiseid faili.)

{
  "mcpServers": {
    "kshana": {
      "command": "/Users/you/.cargo/bin/kshana-mcp",
      "env": { "KSHANA_MCP_IQ_DIR": "/Users/you/iq" }
    }
  }
}

Dockeri kujutisega ühendage kaust ja suunake muutuja sellele: docker run --rm -i -v "$PWD/iq:/iq" -e KSHANA_MCP_IQ_DIR=/iq ghcr.io/ashfordeou/kshana-mcp.

Iga liik on kättesaadav#

run_scenario suunab stsenaariumi kind-i järgi, nii et iga liik, mille list_scenario_kinds nimetab, jookseb selle kaudu. See hõlmab uuemaid perekondi, igaühel kaasasolevad näited, mille agent saab tuua:

Võimekus Liigid Näide, millest alustada
Spekter ja juga-diagramm spectrum l-band-waterfall-jamming
Päikesesüsteem solar-system solar-system-tour
Konstellatsioonid mis tahes keha ümber constellation-design, body-pnt lunar-relay-constellation, europa-surface-pnt
Kampaaniad: aheldatud faasid, pühkimised, Monte Carlo (algväärtusega juhuslikud ansamblid), kompositsioon campaign campaign-sweep-jammer-power
Madala Maa orbiidi (LEO) navigatsioon: signaali kavand leo-signal leo-band-trade
LEO navigatsioon: ülelennu lingibilanss leo-pass leo-pass-iridium
LEO navigatsioon: navigatsioonisõnum leo-navmsg leo-navmsg-encode-decode
LEO navigatsioon: liidetud positsioneerimine ja ajastus leo-pvt, leo-ppp, ntn-positioning, leo-pnt-chain leo-doppler-positioning, leo-pnt-end-to-end

list_example_scenarios koos väljaga kind nimetab selle liigi iga kaasasoleva näite. Animatsioonid, aruanded ja koostalitlusekspordid ei ole liigid: need on jooksu vaated ning animate_scenario, report_scenario ja export_interop tagastavad need iga stsenaariumi jaoks, millele need kehtivad.

Ei teenindata: uuringukomplektid (kshana --study <suite.toml>), sest komplekt nimetab kettal naaberstsenaariumifaile ja stsenaariumitööriistad ei loe ühtki faili. Käivitage iga liige käsuga run_scenario. (IQ tööriistad loevad ja kirjutavad faile, ainult oma töökataloogis.)

Paigaldage MCP server#

Nõuandev, mitte tüübikinnitust omav navigatsiooniseade: navigeerimise eest vastutab jätkuvalt operaator. Server töötab kasutaja arvutis; Ashforde OÜ-le ei saadeta midagi.

Lõik, mis nimetab kolmandate osapoolte tehisintellekti kliente, on siit välja jäetud; see on GitHubis failis mcp/kshana-mcp/README.md.

Lõik, mis nimetab kolmandate osapoolte tehisintellekti kliente, on siit välja jäetud; see on GitHubis failis mcp/kshana-mcp/README.md.

Lõik, mis nimetab kolmandate osapoolte tehisintellekti kliente, on siit välja jäetud; see on GitHubis failis mcp/kshana-mcp/README.md.

Kanal Käsk või nupp Nõuab Fikseeritud kuju
Cursor (üks klõps) npx (Node) · Docker Node või Docker kshana-mcp@0.40.0 / ghcr.io/ashfordeou/kshana-mcp:0.40.0
VS Code (üks klõps) npx (Node) · Docker · Insiders (npx) Node või Docker kshana-mcp@0.40.0 / ghcr.io/ashfordeou/kshana-mcp:0.40.0
npx npx -y kshana-mcp@0.40.0 Node 18+ kshana-mcp@0.40.0
uvx / pipx uvx kshana-mcp==0.40.0 · pipx run kshana-mcp==0.40.0 Python 3,9+ koos uv või pipx-iga kshana-mcp==0.40.0
Docker docker run -i --rm ghcr.io/ashfordeou/kshana-mcp:0.40.0 Docker ghcr.io/ashfordeou/kshana-mcp:0.40.0
Homebrew brew install ashfordeOU/tap/kshana-mcp brew valem versiooni v0.40.0 jaoks
Scoop scoop bucket add ashforde https://github.com/ashfordeOU/scoop-bucket seejärel scoop install kshana-mcp Scoop (Windows) manifest versiooni v0.40.0 jaoks
winget winget install AshfordeOU.KshanaMcp winget (Windows) --version 0.40.0
cargo cargo install kshana-mcp --version 0.40.0 Rust 1,88+ kshana-mcp 0.40.0
Eelkompileeritud binaar väljalaskeleht: kshana-mcp (Linux x86-64), kshana-mcp-<target>[.exe], kontrollitud käskudega SHA256SUMS ja gh attestation verify puudub v0.40.0
MCP register io.github.ashfordeOU/kshana-mcp (leiavad registrit tundvad kliendid) registrit tundev klient 0.40.0
Kaug (voogedastatav HTTP) kshana-mcp --http 127.0.0.1:8080, ise majutatud: vt https://github.com/ashfordeOU/kshana/blob/main/docs/deploy/mcp-http.md teie oma host v0.40.0

Väljavõtmisest või gitist (arendus):

cd mcp/kshana-mcp && cargo install --path .
cargo install --git https://github.com/AshfordeOU/kshana kshana-mcp

HTTP-režiim (ise majutatud)#

kshana-mcp --http 127.0.0.1:8080 teenindab samu tööriistu voogedastatava HTTP kaudu aadressil /mcp. See seob ainult loopbacki; mitte-loopback aadress vajab --allow-remote ja bearer-tokenit muutujas KSHANA_MCP_HTTP_TOKEN; IQ-failitööriistad on välja lülitatud; päringu suurus, aeg ja samaaegsus on piiratud; CORS-päist ei saadeta. Kshana ei majuta lõpp-punkti: te majutate seda ise. Vt docs/deploy/mcp-http.md.

cargo install paneb kshana-mcp teie teele PATH (tavaliselt ~/.cargo/bin/kshana-mcp). Server räägib JSON-RPC-d (JSON remote procedure call) stdio kaudu; logid lähevad stderr-i. Lähtekoodist ehitamine vajab Rusti tööriistaahelat ≥ 1,88 (parandatud rmcp 2.x SDK vajab seda ja nii ka teek kshana); Dockeri kujutis ei vaja ühtki.

Registreerige see kliendiga#

Praktiliselt iga MCP klient kasutab sama mcpServers seadistusplokki — registreerige binaarfail kshana-mcp absoluutse teega:

{
  "mcpServers": {
    "kshana": {
      "command": "/Users/you/.cargo/bin/kshana-mcp",
      "args": [],
      "env": {}
    }
  }
}

Või Dockeri kujutisega kohaliku binaarfaili asemel (PATH pole vaja):

{
  "mcpServers": {
    "kshana": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "ghcr.io/ashfordeou/kshana-mcp"]
    }
  }
}

Kus see plokk asub, sõltub kliendist:

  • Cursor — ~/.cursor/mcp.json (globaalne) või .cursor/mcp.json (projekti kohta).
  • JetBrains AI Assistant / Junie — Settings → Tools → AI Assistant → Model Context Protocol → Add → As JSON, kleepige plokk, seejärel taaskäivitage IDE (integreeritud arenduskeskkond) täielikult.
  • Töölaua assistendid — enamik kasutab faili …_config.json sama kujuga mcpServers; kontrollige faili asukohta oma kliendi dokumentatsioonist.
  • CLI agendid — paljud aktsepteerivad sama JSON-it mehhanismi mcp add / mcp.json kaudu.

Kasutage binaarfailile alati absoluutset teed. Veaotsinguks seadke RUST_LOG=debug plokis env (diagnostika läheb stderr-i; stdout on reserveeritud JSON-RPC protokollile).

Proovige#

Kui see on registreeritud, küsige oma assistendilt selliseid asju nagu:

  • „Loetle Kshana stsenaariumi liigid.“ → list_scenario_kinds
  • „Näita mulle Kshana spektri näidet ja käivita see.“ → list_example_scenarios, get_example_scenario, run_scenario
  • „Käivita Kshana kella holdover stsenaarium 20 ns lävega ja 2-tunnise GNSS-i katkestusega; mis on kvant- ja klassikalise holdover-i vahe?“ → run_scenario
  • „Ekspordi see GPS (Global Positioning System) konstellatsioon SP3-na.“ → export_sp3
  • „Anna mulle tabel realtime-frame-eop CSV-na.“ → export_table_csv
  • „Pane see Iridiumi ülelend Cesiumi gloobusele.“ → list_export_formats, export_interop
  • „Animeeri segamise kampaania.“ → animate_scenario
  • „Anna mulle selle jooksu aruanne koos selle reprodutseeritavuse kirjega.“ → report_scenario
  • „Tee ühesekundiline GPS L1 stseen PRN-idega 3 ja 17, seejärel hõiva ja jälgi seda.“ → iq_signals, iq_scene, iq_acquire, iq_track

Kavandi märkus — miks eraldi crate#

Server on eraldiseisev, tööruumist välja jäetud crate oma failiga Cargo.lock, nii et ametlik Rusti MCP SDK (tarkvaraarenduskomplekt) rmcp ja selle asünkroonne käituskeskkond ei satu kunagi avaldatud kshana crate'i sõltuvusgraafi: teegi või Pythoni kasutaja ei kompileeri serverit, mida ta ei käita. (See eraldati esmalt seetõttu, et rmcp on edition 2024, mis vajab rustc ≥ 1,85, samas kui põhicrate lubas siis 1,75. Teek ja see server deklareerivad nüüd mõlemad 1,88, mis on turvaparandusega rmcp 2.x ja uuendatud RustCrypto cratede alampiir.) Pidev integreerimine (CI) kontrollib seda crate'i eraldi — testid ja cargo deny selle lukufaili vastu. rmcp litsentsipuu on puhas (Apache-2.0/MIT/BSD), seega erinevalt ristvalideerimise crate'ist xval/anise-frames, mida see muidu järgib, ei ole eraldamine litsentsimise pärast.

Litsents: AGPL-3.0-only, GNU Affero General Public License versioon 3 ainult (või Ashforde OÜ kommertslitsents; vt hoidla LICENSING.md).