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.
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 koosoverwrite: 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_SAMPLESkompleksvalimit (vaikimisi 50 000 000). Baitides on see 400 MB kujulcf32_le(8 baiti kompleksvalimi kohta), 200 MB kujulci16_le(4 baiti) ja 100 MB kujulci8(2 baiti); stseen kirjutatakse kujulcf32_le, kuiformatei ütle teisiti. Kontroll toimub enne mis tahes tööd ja tagasilükkamine nimetab kestuse võimax_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.
| 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.jsonsama kujugamcpServers; kontrollige faili asukohta oma kliendi dokumentatsioonist. - CLI agendid — paljud aktsepteerivad sama JSON-it mehhanismi
mcp add/mcp.jsonkaudu.
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).