kshana-mcp käitamine HTTP kaudu (ise majutatud)
Lõik, mis nimetab kolmandate osapoolte tehisintellekti kliente, on siit välja jäetud; see on GitHubis failis docs/deploy/mcp-http.md.
Kshana ei majuta lõpp-punkti. Ühtegi ühist kshana serverit, kuhu klienti suunata, ei ole. Te käitate seda oma masinas, konteineris või pilveprojektis ning vastutate selle juurdepääsu kontrolli ja kulu eest. Server 0.40.0 on see, mis on selles hoidlas: selle arvud kannavad oma VALIDATED või MODELLED märgiseid täpselt nagu stdio kaudu.
Ohutud vaikeväärtused#
| Kontroll | Käitumine |
|---|---|
| Sidumisaadress | Ainult loopback (127.0.0.1, ::1). Paljas port (--http 8080) tähendab 127.0.0.1:8080. |
| Non-loopback | Vajab --allow-remote ja bearer-tokenit keskkonnamuutujas KSHANA_MCP_HTTP_TOKEN (16 märki või rohkem). Mõlemata keeldub server käivitumast. Mõlemaga prindib see hoiatuse, et kuulab väljaspool seda masinat. |
| Autentimine | Authorization: Bearer <token> igal päringul, kui token on seatud (selle saab seada ka loopbackil). Võrreldakse konstantse ajaga. Puudub või vale: 401. |
| Failisüsteem | Puudub. IQ-failitööriistad (iq_*) on HTTP-režiimis välja lülitatud, olenemata sellest, mida KSHANA_MCP_IQ_DIR ütleb; iga teine tööriist võtab oma stsenaariumi sisse ja keeldub sellest, mis nimetab faili. Ükski tööriista argument ei loe ega kirjuta teed. |
| Päringukeha suurus | --max-body-bytes, vaikimisi 5 MiB (stsenaariumi ülempiir on 4 MiB). Sellest üle: 413, olgu pikkus deklareeritud või päringukeha tükeldatud. |
| Vastuse aeg | --request-timeout-secs, vaikimisi 120. Sellest üle: 408. See piirab, kui kaua helistaja ootab, mitte tööd: juba käimasolevat jooksu ei saa peatada, seega jätkab see pärast 408 ja lõpeb taustal. |
| Samaaegsus | --max-concurrent, vaikimisi 8. Sellest üle saab päring kohe 503 koos Retry-After; ükski ei jää järjekorda. |
| Töökogum | Iga tööriistakutse jookseb blokeerival lõimel --max-concurrent pesaga kogumis, mitte kunagi asünkroonsetel töötajatel, nii et pikk jooks ei saa serveri vastamist peatada. Pesa vabastatakse alles siis, kui jooks ise lõpeb, mitte siis, kui helistaja loobub: hüljatud jooksud ei saa seetõttu kuhjuda üle kogumi suuruse ja kutse, mis leiab kogumi täis, lükatakse tagasi kui hõivatud. |
| Töö eelarve | Stsenaarium, mis küsib palju rohkem kui kaasasolevad näited, lükatakse tagasi enne käivitamist: rohkem kui 1000 Monte Carlo realisatsiooni (runs), parameetriruudustik rohkem kui 1000 sõlmega, rohkem kui 5000 liikmejooksu (ruudustiku sõlmed korda realisatsioonid) või ajaruudustik rohkem kui 2 miljoni epohhiga. Viga nimetab välja, mida vähendada. Sama eelarve kehtib stdio kaudu; käsurea käsul kshana seda ei ole. |
| CORS | Päist Access-Control-* ei saadeta kunagi. Päringu, mis kannab päist Origin, lükatakse tagasi (403), kui seda ei ole nimetatud lipuga --allow-origin <scheme://host[:port]>; * ei ole aktsepteeritud. |
| Host-päis | Kontrollitakse loopback-nimede või sidumisaadressi pluss iga --allowed-host vastu. Proksi taga või platvormi URL-il andke --allowed-host your.domain. Kõik muu: 403. |
| Seansid | Puudub. Iga POST saab JSON-vastuse; seansitabelit ega serveri saadetavate sündmuste voogu ei hoita avatuna. |
TLS-i ei lõpeta kshana-mcp. Kui see on kättesaadav väljaspool ühte masinat, pange selle ette HTTPS (teie platvormi TLS või pöördproksi) ja hoidke token salajas; bearer-tokenit lihtsa HTTP kaudu saab ülekandel lugeda.
Kohalik#
kshana-mcp --http 127.0.0.1:8080
Kliendi seadistus (URL-klient; lisage päis ainult siis, kui token on seatud):
{ "mcpServers": { "kshana": { "url": "http://127.0.0.1:8080/mcp",
"headers": { "Authorization": "Bearer ${KSHANA_MCP_HTTP_TOKEN}" } } } }
Docker#
export KSHANA_MCP_HTTP_TOKEN="$(openssl rand -hex 32)"
docker run --rm -p 127.0.0.1:8080:8080 -e KSHANA_MCP_HTTP_TOKEN \
ghcr.io/ashfordeou/kshana-mcp:0.40.0 \
--http 0.0.0.0:8080 --allow-remote --allowed-host localhost:8080 --allowed-host 127.0.0.1:8080
Konteineri sees peab server kuulama aadressil 0.0.0.0, seega vajab see --allow-remote ja tokenit. Pordi avaldamine kujul 127.0.0.1:8080:8080 hoiab selle teie masinas; jätke 127.0.0.1: ära ainult siis, kui mõtlete selle avada, ja lõpetage siis TLS selle ees. docker compose ning Fly.io ja Cloud Run mallid on failis mcp-http/.
Mallid (te rakendate need; Kshana ei käita ühtki)#
mcp-http/docker-compose.ymlmcp-http/fly.toml: seadke token käsugafly secrets set KSHANA_MCP_HTTP_TOKEN=...mcp-http/cloudrun.service.yaml: võtke token Secret Managerist
Igaüks käitab avaldatud kujutist, seab --allowed-host platvormi hostinimeks, mille te failis asendate, ning toetub HTTPS-i jaoks platvormile.
Seadke platvormil CPU ja mälu piirang#
Ajalõpp, kogum ja eelarve piiravad, kui palju tööd vastu võetakse, kuid üks vastuvõetud kutse võib siiski kasutada tuuma pikka aega ja suur tulemus võib kasutada sadu megabaite. Pange konteinerile ka kõva piirang: mallid küsivad 2 CPU-d ja 1 GiB (cpus ja mem_limit Compose'is, [[vm]] Flys, resources.limits Cloud Runis). Hoidke --max-concurrent CPU-de arvuga võrdne või sellest väiksem.
Mis see ei ole#
- Ei ole mitme rentnikuga teenus. Igaüks, kellel on token, käitab simulatsioone teie riistvaral; ülaltoodud piiridest kaugemaid kasutajapõhiseid kvoote ei ole.
- Nõuandev, mitte tüübikinnitust omav navigatsiooniseade: navigeerimise eest vastutab jätkuvalt operaator. Simulaatori väljundid on analüüsi jaoks modelleeritud või valideeritud arvud, nagu kõikjal mujal Kshanas.