Files
OmniRoute/docs/i18n/lt/docs/frameworks/MCP-SERVER.md
Diego Rodrigues de Sa e Souza 58f88a83e4 feat(i18n): 7 new locales — Hausa, Yoruba, Igbo, Amharic, Uzbek, Georgian, Armenian (66 locales) (#13727)
Batch 3 (last) of the locale-expansion plan: ha, yo, ig, am, uz, ka, hy on every surface — dashboard catalog, docs mirror (22-file core + llm.txt + CHANGELOG), CLI catalog, README flag block, locale tables and 🌐 language bars. Also closes the key gap the batch-1 (43 keys) and batch-2 (10 keys) catalogs carried since their base merges, fixes the Igbo "Model" copy and allowlists the Uzbek cognate. Translation-ratio baseline covers 65 locales.

⚠️ base-red inherited: #12732
2026-09-15 09:50:01 -03:00

53 KiB
Raw Blame History

MCP-SERVER (Lietuvių)

🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW



title: "OmniRoute MCP serverio dokumentacija" version: 3.8.50 lastUpdated: 2026-08-08

OmniRoute MCP serverio dokumentacija

Modelio konteksto protokolo serveris su 110 įrankių, apimančių maršruto parinkimo, podėlio, glaudinimo, atminties, įgūdžių, tarpinio serverio, telkinio, Radar ir konteksto šaltinių operacijas.

Patikimas šaltinis: open-sse/mcp-server/server.ts naudodamas countUniqueMcpTools() apskaičiuoja 110 unikalių įrankių: 45 kanoninius aprašus (įskaitant šešis CCR gyvavimo ciklo įrankius, agento įgūdžių trejetą, omniroute_radar_catalog ir omniroute_x_search), taip pat atminties (3), įgūdžių (4), GitHub įgūdžių (3), telkinio (6), žaidybinimo (8), papildinių (8), Notion (6), Obsidian (22), vietinio tekstyno (3) ir du tik RTK skirtus glaudinimo įrankius.

Diegimas

OmniRoute MCP yra integruotas. Paleiskite jį naudodami:

omniroute --mcp

Arba naudodami open-sse transportą:

# HTTP srautinio perdavimo transportas (prievadas 20130)
omniroute --dev  # MCP automatiškai paleidžiamas galiniame taške /mcp

Transportai

MCP serveris pateikia tris transportus, kuriuos visus palaiko ta pati createMcpServer() kūrimo funkcija:

Transportas Kur Kada naudoti
stdio open-sse/mcp-server/server.ts IDE integracijoms (Claude Desktop, Cursor ir kt.)
sse POST/GET /api/mcp/sse per httpTransport Naršyklės / agento klientams, kuriems reikia įvykių srauto
streamable-http POST/GET/DELETE /api/mcp/stream Kelių seansų HTTP klientams (mcp-session-id antraštė)

Aktyvus HTTP transportas (sse arba streamable-http) pasirenkamas mcpTransport nustatymu. Perjungus transportą, uždaromi visi esami kito transporto seansai.

Nuotolinė prieiga (manage aprėpties apėjimas)

/api/mcp/* priklauso LOCAL_ONLY lygiui (src/server/authz/routeGuard.ts) — pagal numatytuosius nustatymus jį gali pasiekti tik vietinio ciklo adresai (localhost, 127.0.0.1, ::1). Nuo v3.8.2 ne vietinio ciklo klientai gali prisijungti pateikę Authorization: Bearer <api-key>, kurio raktui suteikta manage aprėptis. Tai vienintelis būdas pasiekti nuotolinį MCP serverį per tunelį, atvirkštinį tarpinį serverį arba viešą pagrindinio kompiuterio vardą.

# Suteikite manage aprėptį: atverkite valdymo skydelio API raktų puslapį ir rakte įjunkite
# „Management Access“ arba kurdami siųskite POST su scopes:["manage"].

# Tada prisijunkite iš nuotolinio MCP kliento:
curl -i \
  -H "Host: your-public-host.example" \
  -H "Authorization: Bearer sk-…" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"my-client","version":"0"}}}' \
  https://your-public-host.example/api/mcp/stream

Raktas be manage aprėpties (arba be Bearer) grąžina 403 LOCAL_ONLY. Susijusio prefikso /api/cli-tools/runtime/* tyčia NEGALIMA apeiti — žr. Maršrutų apsaugos lygiai — manage aprėpties išimtis.

IDE konfigūracija

Žr. MCP kliento konfigūraciją, skirtą Claude Desktop, Cursor, Cline ir suderinamiems MCP klientams nustatyti.


Pagrindiniai įrankiai (14) — 1 etapas

Įrankis Teisės Aprašymas
omniroute_get_health read:health Veikimo trukmė, atmintis, grandinės pertraukikliai, dažnio ribojimai, podėlio statistika
omniroute_list_combos read:combos Visi sukonfigūruoti deriniai ir jų strategijos (pasirinktinai metrika)
omniroute_get_combo_metrics read:combos Konkretaus derinio našumo metrika
omniroute_switch_combo write:combos Aktyvinti arba išjungti derinį
omniroute_create_combo write:combos Sukurti patikrintą derinį naudojant esamą derinių API
omniroute_check_quota read:quota Panaudota ir bendra kvota, likęs procentas, atkūrimo laikas, prieigos raktų būklė
omniroute_route_request execute:completions Siųsti pokalbio užbaigimo užklausą naudojant OmniRoute maršruto parinkimą
omniroute_cost_report read:usage Išlaidų ataskaita pagal laikotarpį (seansą / dieną / savaitę / mėnesį)
omniroute_list_models_catalog read:models Visas modelių katalogas su galimybėmis, būsena ir kainodara
omniroute_radar_catalog read:radar Vietinis pasirašytas Radar katalogas; pasirinktiniai teikėjo ar šeimos filtrai
omniroute_tool_search read:tools Atrasti įrankius registruotame MCP kataloge
omniroute_web_search execute:search Ieškoti žiniatinklyje naudojant sukonfigūruotus paieškos teikėjus. Ne X/Twitter.
omniroute_x_search execute:search Ieškoti X naudojant xAI/SuperGrok arba pasirinkti xquik-search, kad būtų pateikti Xquik API rezultatai. Pasirinktai sistemai reikia prisijungimo duomenų.
omniroute_web_fetch execute:search Gauti žiniatinklio turinį naudojant sukonfigūruotus gavimo teikėjus

Išplėstiniai įrankiai (11) — 2 etapas

Įrankis Aprėptys Aprašymas
omniroute_simulate_route read:health, read:combos Bandomasis maršruto parinkimo modeliavimas su atsarginių variantų medžiu
omniroute_set_budget_guard write:budget Seanso biudžetas su kokybės mažinimo, blokavimo arba įspėjimo veiksmu
omniroute_set_routing_strategy write:combos Derinio strategijos atnaujinimas vykdymo metu (prioritetinė / svertinė / automatinė / kt.)
omniroute_set_resilience_profile write:resilience Pritaikyti aggressive / balanced / conservative atsparumo išankstinę parinktį
omniroute_test_combo execute:completions, read:combos Tiesiogiai išbandyti kiekvieną derinio teikėją, atliekant tikrą išorinę užklausą
omniroute_get_provider_metrics read:health Kiekvieno teikėjo metrika su p50/p95/p99 delsa ir grandinės pertraukiklio būsena
omniroute_best_combo_for_task read:combos, read:health Rekomenduoti derinį pagal užduoties tipą, atsižvelgiant į biudžeto ir delsos apribojimus
omniroute_explain_route read:health, read:usage Paaiškinti, kodėl užklausa buvo nukreipta konkrečiam teikėjui (vertinimo veiksniai ir atsarginiai variantai)
omniroute_get_session_snapshot read:usage Visa seanso momentinė kopija: sąnaudos, atpažinimo ženklai, populiariausi modeliai / teikėjai, klaidos, biudžeto apsauga
omniroute_db_health_check read:health, write:resilience Diagnozuoti (ir pasirinktinai automatiškai ištaisyti) duomenų bazės neatitiktis, pvz., sugadintas derinių nuorodas / našlaičių eilutes
omniroute_sync_pricing pricing:write Sinchronizuoti kainodaros duomenis iš išorinių šaltinių (LiteLLM); palaiko dryRun

Podėlio įrankiai (2)

Įrankis Aprėptys Aprašymas
omniroute_cache_stats read:cache Semantinio podėlio, raginimų podėlio ir idempotentiškumo statistika
omniroute_cache_flush write:cache Išvalyti podėlį visuotinai arba pagal parašą / modelį

Glaudinimo įrankiai (13)

Įrankis Aprėptys Aprašymas
omniroute_compression_status read:compression Glaudinimo nuostatos, analizės suvestinė ir podėlį įvertinanti statistika (įskaitant analytics.mcpDescriptionCompression metaduomenis)
omniroute_compression_configure write:compression Konfigūruoti glaudinimo režimą, slenkstį, tikslinį santykį, sistemos raginimo išsaugojimą ir MCP aprašymų glaudinimo perjungiklį
omniroute_set_compression_engine write:compression Pasirinkti aktyvų variklį (off/caveman/rtk/stacked) ir Caveman / RTK intensyvumą
omniroute_list_compression_combos read:compression Pateikti įvardytų glaudinimo derinių ir jų variklių konvejerių sąrašą
omniroute_compression_combo_stats read:compression Analizė, sugrupuota pagal glaudinimo derinį ir variklį
omniroute_ccr_store write:compression Saugoti nuo kvietėjo izoliuotą turinį ribotoje atmintinėje CCR saugykloje ir grąžinti žymeklį bei ccr:// nuorodą
omniroute_ccr_retrieve read:compression Gauti visą CCR turinį arba naudoti head, tail, lines, grep ir stats režimus
omniroute_ccr_inspect read:compression Patikrinti kvietėjui priklausančius CCR metaduomenis negrąžinant turinio
omniroute_ccr_list read:compression Pateikti puslapiais suskirstytus kvietėjui priklausančių CCR blokų metaduomenis
omniroute_ccr_delete write:compression Pašalinti kvietėjui priklausantį CCR bloką
omniroute_ccr_stats read:compression Pateikti kvietėjo aprėpties atminties naudojimą, gyvavimo ciklo skaitiklius ir saugyklos ribas
omniroute_rtk_discover read:compression Aptikti pasikartojantį triukšmą pasirinktiniu būdu pateiktuose RTK išvesties pavyzdžiuose
omniroute_rtk_learn read:compression Iš pasirinktiniu būdu pateiktų pavyzdžių sugeneruoti peržiūrimą RTK filtro juodraštį

CCR įrašai saugomi tik atmintyje ir paleidus iš naujo išnyksta. Kiekvieno bloko dydis ribojamas iki 2 MiB, kiekvieno subjekto — iki 16 MiB, o visos saugyklos — iki 64 MiB. Pagal numatytąsias nuostatas įrašų TTL yra 24 valandos (daugiausia septynios dienos). Visas MCP išgavimas ribojamas iki 256 KiB; didesnius blokus vis tiek galima pasiekti naudojant diapazonų ir grep režimus. Saugojimas, išgavimas, sąrašų pateikimas, tikrinimas, šalinimas ir statistika izoliuojami pagal autentifikuotą API rakto subjektą. Audito įrašuose pateikiamos maišos ir dydžio metaduomenys, bet niekada ne pats turinys.

omniroute_compression_status pateikia MCP aprašymų glaudinimą atskirai, skiltyje analytics.mcpDescriptionCompression. Šios reikšmės yra MCP sąrašuose pateikiamų aprašymų (tools, prompts, resources ir resourceTemplates) metaduomenų dydžio įverčiai; tai nėra teikėjo naudojimo apskaitos įrašai, ir jie pažymėti source: "mcp_metadata_estimate".

MCP pritaikymo neįgaliesiems medžio filtras (v3.8.0)

Be pirmiau nurodytų glaudinimo įrankių, OmniRoute apima filtrą, kuris po vykdymo suglaudina MCP naršyklės / pritaikymo neįgaliesiems įrankių rezultatus, prieš juos grąžinant agentui. Pats šis filtras nėra įrankis — jis skaidriai vykdomas bet kokiam įrankio rezultatui, kuriame yra išsamus pritaikymo neįgaliesiems medžio arba naršyklės momentinės kopijos tekstas (≥2000 simbolių).

Pagrindinės ypatybės:

  • Sutraukia ≥30 iš eilės pasikartojančių to paties lygmens eilučių į pradžios ir pabaigos suvestinę
  • Išsaugo [ref=eXX] inkarus, reikalingus Playwright / kompiuterio valdymui
  • Griežtai sutrumpina per didelį tekstą (>50,000 simbolių), pateikdamas naršymo užuominą
  • Tikėtinas sutaupymas: 6080% naršyklės momentinių kopijų duomenims

Konfigūracija: compression.mcpAccessibility visuotinėse nuostatose (migracija 056). Įgyvendinimas: open-sse/services/compression/engines/mcpAccessibility/. Visa dokumentacija: Glaudinimo varikliai — MCP pritaikymo neįgaliesiems medžio filtras.

Žr. Glaudinimo varikliai ir RTK glaudinimas, kur aprašytas šių įrankių vykdymo metu naudojamas glaudinimo modelis.

1Proxy įrankiai (3)

Įrankis Aprėptys Aprašymas
omniroute_oneproxy_fetch read:proxies Gauti nemokamus tarpinius serverius iš 1proxy prekyvietės (protokolo / šalies / kokybės / kiekio filtrai)
omniroute_oneproxy_rotate read:proxies Gauti kitą pasiekiamą tarpinį serverį pagal strategiją (random / quality / sequential)
omniroute_oneproxy_stats read:proxies Fondo statistika, sinchronizavimo būsena, pasiskirstymas pagal protokolą ir šalį

Atminties įrankiai (3)

Apibrėžti faile open-sse/mcp-server/tools/memoryTools.ts. Autentifikavimas ir aprėptis užtikrinami naudojant standartinę MCP aprėpčių apdorojimo grandinę.

Įrankis Aprėptys Aprašymas
omniroute_memory_search read:memory Ieškoti atminties įrašų pagal užklausą / tipą / API raktą, taikant žetonų biudžeto apribojimą
omniroute_memory_add write:memory Pridėti naują atminties įrašą (factual / episodic / procedural / semantic)
omniroute_memory_clear write:memory Išvalyti API rakto atminties įrašus, pasirinktinai filtruojant pagal tipą arba olderThan laiko žymą

Įgūdžių įrankiai (4)

Apibrėžti faile open-sse/mcp-server/tools/skillTools.ts. Veikia naudojant src/lib/skills/registry ir src/lib/skills/executor.

Įrankis Aprėptys Aprašymas
omniroute_skills_list read:skills Išvardyti užregistruotus įgūdžius, pasirinktinai filtruojant pagal API raktą, pavadinimą ar įjungimo būseną
omniroute_skills_enable write:skills Įjungti arba išjungti konkretų įgūdį pagal ID
omniroute_skills_execute execute:skills Vykdyti įgūdį su pateiktais įvesties duomenimis ir grąžinti vykdymo įrašą
omniroute_skills_executions read:skills Išvardyti naujausių įgūdžių vykdymų istoriją

Notion konteksto šaltinis (6)

Apibrėžta faile open-sse/mcp-server/tools/notionTools.ts. Žetonas saugomas lentelėje key_value naudojant src/lib/db/notion.ts. REST klientas yra faile src/lib/notion/api.ts. Nustatymų API yra faile src/app/api/settings/notion/route.ts. Valdymo skydelio naudotojo sąsaja yra faile src/app/(dashboard)/dashboard/endpoint/components/NotionSourceCard.tsx.

Sukonfigūruokite Notion integracijos žetoną galinio taško valdymo skydelio kortelėje Konteksto šaltiniai arba naudodami REST API:

# Nustatyti žetoną
curl -X POST http://localhost:20128/api/settings/notion \
  -H "Content-Type: application/json" \
  -d '{"token": "ntn_..."}'

# Patikrinti būseną
curl http://localhost:20128/api/settings/notion

# Atsijungti
curl -X DELETE http://localhost:20128/api/settings/notion
Įrankis Aprėptys Aprašymas
notion_search read:notion Vykdyti viso teksto paiešką visuose puslapiuose ir duomenų bazėse
notion_get_page read:notion Gauti puslapį pagal ID kartu su jo ypatybėmis
notion_list_block_children read:notion Išvardyti antrinius puslapio arba bloko elementus
notion_query_database read:notion Pateikti duomenų bazės užklausą su filtrais, rikiavimu ir puslapių skaidymu
notion_get_database read:notion Gauti duomenų bazės schemą pagal ID
notion_append_blocks write:notion Pridėti antrinius blokus prie pirminio bloko (ne daugiau kaip 100 vienoje užklausoje)

Agentų įgūdžių katalogo įrankiai (3)

Apibrėžti faile open-sse/mcp-server/tools/agentSkillTools.ts. Veikimą užtikrina src/lib/agentSkills/catalog. Šie įrankiai suteikia MCP klientams ir išoriniams agentams prieigą prie 45 įrašų agentų įgūdžių dokumentacijos katalogo. Apimtis: read:catalog.

Įrankis Apimtys Aprašymas
omniroute_agent_skills_list read:catalog Pateikia visus 45 agentų įgūdžius su pasirenkamais category (api|cli) ir area filtrais; grąžina metaduomenis ir aprėptį
omniroute_agent_skills_get read:catalog Pagal kanoninį id gauna visus vieno įgūdžio metaduomenis ir SKILL.md turinį
omniroute_agent_skills_coverage read:catalog Aprėpties statistika: kiek iš 23 API, 21 CLI ir 1 konfigūracijos įgūdžio turi SKILL.md failus failų sistemoje, palyginti su katalogo bendraisiais skaičiais

Visą katalogą ir informaciją, kaip jį naudoja išoriniai agentai, rasite AGENT-SKILLS.md.

Susijusios sistemos (v3.8.0)

Pirmiau pateiktas MCP įrankių sąrašas (110 unikalių įrankių, apskaičiuotų naudojant countUniqueMcpTools()) yra sąmoningai apribotas vykdymo maršruto parinkimo, talpyklos, glaudinimo, atminties, įgūdžių, tarpinio serverio ir konteksto šaltinio operacijomis. Dvi gretimos sistemos pateikiamos kartu su MCP serveriu versijoje v3.8.0 ir yra dokumentuotos atskirai:

Debesijos agentai

Debesijos agentai yra už proceso ribų veikiantys DI programavimo agentai (codex-cloud, cursor-cloud, devin, jules), integruoti į OmniRoute naudojant tą patį ryšio modelį, kuris naudojamas LLM teikėjams. Jie pasiekiami per atskirą REST sąsają (/api/v1/agents/*) ir nėra MCP įrankių katalogo dalis — iškviečiant debesijos agentą MCP apimtis nenaudojama.

  • Įgyvendinimas: src/lib/cloudAgent/ (registry.ts, agents/codex.ts, agents/cursor.ts, agents/devin.ts, agents/jules.ts).
  • Gyvavimo ciklas: createTask, getStatus, approvePlan, sendMessage, listSources.
  • Dokumentacija: docs/frameworks/CLOUD_AGENT.md.

Apsaugos priemonės

Apsaugos priemonės yra prieš vykdymą ir po jo taikomi filtrai (vision-bridge, pii-masker, prompt-injection), naudojami pokalbio apdorojimo sekoje. Jie vykdomi prieš pasiekiant MCP įrankių ar maršrutų sluoksnį ir audito apdorojimo sekai perduoda struktūrizuotus pažeidimus; jie nėra iškviečiami kaip MCP įrankiai.

Derindami MCP iškvietimą, kuris atrodo užblokuotas, patikrinkite ir MCP audito žurnalą (scope_denied:* įrašus), ir apsaugos priemonių audito seką — užklausa gali būti atmesta apsaugos priemonės prieš jai apskritai pasiekiant MCP apimčių taikymo sluoksnį.


REST API galiniai taškai

Galinis taškas Metodas Aprašymas Autentifikavimas
/api/mcp/status GET Serverio būsena: gyvybingumo signalas, HTTP transporto būsena, audito veiklos suvestinė Valdymas (seansas / administratorius)
/api/mcp/tools GET Įrankių katalogas (pavadinimas, aprašymas, apimtys, etapas, šaltinio galiniai taškai) Valdymas
/api/mcp/sse GET / POST SSE transporto galinis taškas (valdomas pagal mcpEnabled + mcpTransport === "sse") API raktas + apimtys
/api/mcp/stream POST/GET/DELETE Srautinis HTTP transportas (naudoja mcp-session-id antraštę; DELETE užbaigia seansą) API raktas + apimtys
/api/mcp/audit GET Audito žurnalo įrašai iš mcp_tool_audit (filtrai: limit, offset, tool, success, apiKeyId) Valdymas
/api/mcp/audit/stats GET Apibendrinta audito statistika (totalCalls, successRate, avgDurationMs, dažniausiai naudojami įrankiai) Valdymas

Šaltinio failai: src/app/api/mcp/{status,tools,sse,stream,audit,audit/stats}/route.ts.

SSE ir srautinis HTTP transportas blokuojami, kol MCP serveris neįjungtas nustatymuose (mcpEnabled) ir nepasirinktas tinkamas mcpTransport. Jei sukonfigūruotas netinkamas transportas, maršrutas grąžina HTTP 400 su užuomina pakeisti nustatymus.


Autentifikavimas ir aprėptys

MCP įrankiai autentifikuojami naudojant API rakto aprėptis. Aprėpčių taikymas centralizuotas open-sse/mcp-server/scopeEnforcement.ts. Kiekvienam įrankiui reikalingos konkrečios aprėptys:

Aprėptis Įrankiai
read:health get_health, get_provider_metrics, simulate_route, explain_route, best_combo_for_task, db_health_check
read:combos list_combos, get_combo_metrics, simulate_route, best_combo_for_task, test_combo
write:combos switch_combo, set_routing_strategy
read:quota check_quota
read:usage cost_report, get_session_snapshot, explain_route
read:models list_models_catalog
execute:completions route_request, test_combo
execute:search web_search, x_search, web_fetch
write:budget set_budget_guard
write:resilience set_resilience_profile, db_health_check
pricing:write sync_pricing
read:cache cache_stats
write:cache cache_flush
read:compression compression_status, list_compression_combos, compression_combo_stats
write:compression compression_configure, set_compression_engine
read:proxies oneproxy_fetch, oneproxy_rotate, oneproxy_stats
read:notion notion_search, notion_get_page, notion_list_block_children, notion_query_database, notion_get_database
write:notion notion_append_blocks
read:memory memory_search
write:memory memory_add, memory_clear
read:skills skills_list, skills_executions
write:skills skills_enable
execute:skills skills_execute
read:catalog agent_skills_list, agent_skills_get, agent_skills_coverage
read:tools omniroute_tool_search
read:radar omniroute_radar_catalog
read:gamification gamification_profile, gamification_rank, gamification_leaderboard, gamification_badges, gamification_servers, gamification_anomalies
write:gamification gamification_invite, gamification_transfer
read:plugins plugin_list, plugin_executions
write:plugins plugin_scan, plugin_install, plugin_uninstall, plugin_activate, plugin_deactivate, plugin_configure
read:obsidian 13 skaitymo įrankių — obsidian_list_vault, obsidian_read_note, obsidian_search_simple, obsidian_search_structured, obsidian_get_periodic_note, obsidian_sync_status, …
write:obsidian 9 rašymo įrankiai — obsidian_write_note, obsidian_append_note, obsidian_patch_note, obsidian_move_note, obsidian_delete_note, obsidian_sync_trigger, …
read:local-corpus local_corpus_search, local_corpus_read, local_corpus_status

Palaikomos aprėptys su pakaitos simboliais: read:* suteikia visas skaitymo aprėptis, o * suteikia visišką prieigą.

mcp:connect — siaura maršruto galimybė (#7895)

Norint pasiekti HTTP/SSE MCP transportą (/api/mcp/*) ne iš vietinio grįžtamojo ryšio adreso, reikalinga /api/mcp/ LOCAL_ONLY išimtis (žr. docs/security/ROUTE_GUARD_TIERS.md). Anksčiau ši išimtis priimdavo tik visą manage/admin aprėptį turintį API raktą — tai pernelyg plačios teisės kvietėjui, kuriam reikia tik palaikyti ryšį su MCP. src/shared/constants/managementScopes.ts dabar eksportuoja MCP_CONNECT_SCOPE = "mcp:connect": papildomą siaurą aprėptį (pagal tą patį precedentą kaip SELF_USAGE_SCOPE), kuri autorizuoja TIK /api/mcp/ apėjimą faile src/server/authz/policies/management.ts — ji nesuteikia prieigos prie jokių kitų valdymo maršrutų ir sąmoningai NĖRA įtraukta į MANAGEMENT_API_KEY_SCOPES. manage/admin aprėptį turintis raktas vis tiek be pakeitimų atitinka išimties sąlygas; mcp:connect yra mažiau privilegijų turinti alternatyva nuotoliniams, tik MCP naudojantiems kvietėjams, tikrinama naudojant hasMcpConnectOrManageScope().

HTTP aprėpčių susiejimas su konkrečiu raktu (#7895)

Naudojant HTTP/SSE, open-sse/mcp-server/httpTransport.ts dabar nustato tikrąsias kvietėjo api_keys.scopes per resolveMcpCallerAuthInfo() (open-sse/mcp-server/httpAuthContext.ts) ir perduoda jas MCP SDK metodui transport.handleRequest(req, { authInfo }), todėl kiekvieną įrankio iškvietimą pasiekiančios extra.authInfo.scopes atspindi paties „Bearer“ rakto aprėptis. scopeEnforcement.ts funkcija resolveCallerScopeContext() jau teikė pirmenybę authInfo, o ne _meta ir OMNIROUTE_MCP_SCOPES aplinkos kintamojo atsarginiams šaltiniams — šis pakeitimas tik užpildo tą pirmąjį, aukščiausio prioriteto šaltinį, kuriam anksčiau naudojant HTTP duomenys nebuvo perduodami. Kai nepavyksta nustatyti jokio API rakto (nėra antraštės arba raktas negalioja), authInfo lieka undefined, o nustatymas be pakeitimų pereina prie esamos meta / aplinkos šaltinių grandinės. Tai NEPAKEIČIA OMNIROUTE_MCP_ENFORCE_SCOPES numatytosios reikšmės — taikymą vis tiek reikia aiškiai įjungti; šis pakeitimas tik užtikrina, kad jį įjungus konkretaus rakto kelias turėtų pirmenybę. stdio neturi konkretaus kvietėjo tapatybės (žr. mcpCallerIdentity.ts) ir šis pakeitimas jam įtakos neturi — jis ir toliau naudoja _meta / aplinkos atsarginių šaltinių grandinę.


Aplinkos kintamieji

Kintamasis Numatytoji reikšmė Paskirtis
OMNIROUTE_BASE_URL http://localhost:20128 Bazinis URL, kurį MCP serveris naudoja iškviesdamas vidines OmniRoute API
OMNIROUTE_API_KEY (tuščia) API raktas, persiunčiamas kaip Authorization: Bearer vidinėms API užklausoms
OMNIROUTE_MCP_ENFORCE_SCOPES false (įjungia tik "true") Kai įjungta, trūkstamos aprėptys neleidžia iškviesti įrankių, o audito žurnale įrašoma scope_denied:<reason>
OMNIROUTE_MCP_SCOPES (tuščia) Kableliais atskirtas aprėpčių, kurios pagal numatytąją nuostatą laikomos „pasiekiamomis“, leidžiamasis sąrašas (naudojamas, kai iškvietėjas nepateikia savo aprėpčių)
OMNIROUTE_MCP_COMPRESS_DESCRIPTIONS (nenustatyta = įjungta) Nustačius 0/false/off/no, išjungiamas MCP aprašų glaudinimas registracijos metu
OMNIROUTE_MCP_DESCRIPTION_COMPRESSION (nenustatyta = įjungta) Alternatyvus pirmiau nurodyto perjungiklio pseudonimas
OMNIROUTE_MCP_FETCH_TIMEOUT_MS 10000 Nutraukimo laiko limitas vidinėms valdymo skaitymo operacijoms (būklė, atsparumas, deriniai, kvota, naudojimas)
OMNIROUTE_MCP_UPSTREAM_TIMEOUT_MS 60000 Nutraukimo laiko limitas etapams, kurie laukia paslaugų teikėjo (route_request, web_search, web_fetch)
MCP_TOOL_DENY (nenustatyta = nėra filtro) Kableliais atskirti įrankių pavadinimai, kuriuos reikia pašalinti iš tools/list (įrankių kardinalumo mažinimas — žr. toliau)
MCP_TOOL_ALLOW (nenustatyta = nėra filtro) Kableliais atskirti įrankių pavadinimai, kuriuos reikia išimtinai palikti (leidžiamojo sąrašo režimas — žr. toliau)
DATA_DIR ~/.omniroute Gyvybingumo signalų failas įrašomas į ${DATA_DIR}/runtime/mcp-heartbeat.json

Aprašų glaudinimas

MCP įrankių, užklausų ir išteklių registrai gali glaudinti aprašus registracijos ir (arba) sąrašo sudarymo metu, kad sumažėtų klientams pateikiamų metaduomenų apimtis (o kartu ir užklausos konteksto sąnaudos). Realizacija yra faile open-sse/mcp-server/descriptionCompressor.ts ir integruota į MCP serverį naudojant compressMcpRegistryMetadata funkcijoje createMcpServer().

  • Aprašo tekstas glaudinamas naudojant Caveman taisyklių rinkinį (getRulesForContext("all", "full")) ir išskiriant išsaugotinus blokus (kodo fragmentus, aptvertus blokus ir kt.), todėl struktūrinis turinys nekeičiamas.
  • Kiekviename diegime šią funkciją galima perjungti naudojant compression.mcpDescriptionCompressionEnabled reikšmę key_value nustatymų lentelėje (numatytoji reikšmė: įjungta) — naudotojo sąsajoje ji pateikiama kaip Analitika → MCP aprašų glaudinimas.
  • Viso proceso mastu šią funkciją galima perjungti naudojant OMNIROUTE_MCP_COMPRESS_DESCRIPTIONS=false arba OMNIROUTE_MCP_DESCRIPTION_COMPRESSION=false.
  • Realaus laiko statistika pateikiama per omniroute_compression_status, skiltyje analytics.mcpDescriptionCompression, ir pažymima source: "mcp_metadata_estimate", kad būtų galima atskirti nuo faktinių paslaugų teikėjo naudojimo kvitų.

Įrankių kardinalumo mažinimas (F4.3)

Aprašų glaudinimas sumažina kiekvieno įrankio metaduomenų apimtį; įrankių kardinalumo mažinimas žengia dar vieną žingsnį ir sumažina paskelbiamų įrankių skaičių. Pateikiant mažiau įrankių tools/list manifeste, sumažinamos kiekvienos užklausos žymų sąnaudos, kurias kliento modelis patiria dėl įrankių katalogo („5 sluoksnio“ glaudinimas). Įgyvendinimas yra grynas, būsenos nekaupiantis filtras faile open-sse/mcp-server/toolCardinality.ts (reduceToolManifest), integruotas į registravimo ciklą funkcijoje createMcpServer() (open-sse/mcp-server/server.ts).

Pasirenkama funkcija, pagal numatytuosius nustatymus išjungta. Filtras vykdomas tik tada, kai nustatytas bent vienas iš dviejų aplinkos kintamųjų; jei nenustatytas nė vienas, visi 110 įrankių paskelbiami nepakeisti.

Kintamasis Režimas
MCP_TOOL_DENY Juodasis sąrašas — kableliais atskirti įrankių pavadinimai, kurie visada pašalinami iš tools/list
MCP_TOOL_ALLOW Leidžiamųjų sąrašas — kableliais atskirti įrankių pavadinimai; paliekami tik jie, o visa kita pašalinama

deny turi pirmenybę prieš allow. Pavadinimai atskiriami kableliais, pašalinami jų pradžioje ir pabaigoje esantys tarpai, o tušti įrašai ignoruojami. Pavyzdžiai:

# Pašalinti du įrankius iš katalogo
MCP_TOOL_DENY="omniroute_get_health,omniroute_list_combos" omniroute --mcp

# Paskelbti tik maršruto parinkimo ir kvotų įrankius (leidžiamųjų sąrašo režimas)
MCP_TOOL_ALLOW="omniroute_route_request,omniroute_check_quota" omniroute --mcp

Kaip pašalinami išfiltruoti įrankiai: registracija visada pavyksta; profilio atmestam įrankiui tada MCP SDK deskriptoriuje iškviečiamas .disable(), todėl jis niekada nepasirodo tools/list, tačiau susiejimas išlieka nepakitęs (tvarkingas įjungimas ir išjungimas, be pakartotinės registracijos). Profilio analizatorius yra readMcpToolProfileFromEnv(process.env), kuris grąžina null (nefiltruojama), kai abu kintamieji yra tušti.

Išsamesnė ToolProfile struktūra, naudojama už reduceToolManifest, taip pat palaiko filtravimą pagal aprėpčių sankirtą (allowScopes, su read:* tipo pakaitos simbolių atitiktimi) ir deterministinę maxTools ribą, tačiau šioms dviem parinktims registravimo metu reikia viso manifesto, todėl šiuo metu jos nepasiekiamos per aplinkos kintamuosius (tools/list lygmens sąsaja suplanuota kaip tolesnis darbas). estimateManifestTokens() galima naudoti manifesto žymų sąnaudoms prieš sumažinimą ir po jo palyginti.


Vykdymo aplinkos gyvybingumo signalas

Stdio transportas kas 5 sekundes įrašo gyvybingumo būseną į ${DATA_DIR}/runtime/mcp-heartbeat.json. Valdymo skydelis (/api/mcp/status) nuskaito šį failą ir PID gyvybingumo būseną, kad nustatytų online. HTTP transportai vietoje to pateikia būseną iš tame pačiame procese veikiančios getMcpHttpStatus() funkcijos (failas nerašomas).

Gyvybingumo signalo momentinėje kopijoje yra:

{
  "pid": 12345,
  "startedAt": "2026-05-13T12:34:56.000Z",
  "lastHeartbeatAt": "2026-05-13T12:35:01.000Z",
  "version": "1.8.1",
  "transport": "stdio",
  "scopesEnforced": false,
  "allowedScopes": [],
  "toolCount": 110
}

Audito registravimas

Kiekvienas įrankio iškvietimas registruojamas SQLite lentelėje mcp_tool_audit, naudojant open-sse/mcp-server/audit.ts:

  • Įrankio pavadinimas, argumentai (maišos reikšmės apskaičiuotos arba sutrumpinti pagal kiekvieno įrankio auditLevel), rezultatas
  • Trukmė milisekundėmis, sėkmės arba nesėkmės žymė, klaidos pranešimas (kai taikoma)
  • API rakto maišos reikšmė, laiko žyma
  • Aprėpčių atmetimai registruojami kaip scope_denied:<reason> kartu su trūkstamų aprėpčių sąrašu

Naujausius iškvietimus tikrinkite valdymo skydelyje arba naudodami /api/mcp/audit ir /api/mcp/audit/stats REST galinius taškus.


Failai

Failas Paskirtis
open-sse/mcp-server/server.ts MCP serverio gamykla, stdio įvesties taškas, registracijos pagal sritis
open-sse/mcp-server/httpTransport.ts SSE + Streamable HTTP transportas (sesijų valdymas)
open-sse/mcp-server/scopeEnforcement.ts Įrankių sričių vertinimas ir kvietėjo nustatymas
open-sse/mcp-server/audit.ts Įrankių iškvietimų audito registravimas (mcp_tool_audit)
open-sse/mcp-server/runtimeHeartbeat.ts stdio gyvybingumo signalo rašymas (mcp-heartbeat.json)
open-sse/mcp-server/descriptionCompressor.ts Įrankių / užklausų / išteklių registrų aprašų glaudinimas
open-sse/mcp-server/schemas/tools.ts Zod schemos + įrankių registras (MCP_TOOLS, 45 įrašai)
open-sse/mcp-server/tools/advancedTools.ts 2 etapo + podėlio + 1proxy įrankių apdorojimo funkcijos
open-sse/mcp-server/tools/compressionTools.ts Glaudinimo įrankių apdorojimo funkcijos
open-sse/mcp-server/tools/memoryTools.ts Atminties įrankių apibrėžtys (3 įrankiai)
open-sse/mcp-server/tools/skillTools.ts Įgūdžių įrankių apibrėžtys (4 įrankiai)
open-sse/mcp-server/tools/notionTools.ts Notion konteksto šaltinio įrankių apibrėžtys (6 įrankiai)
open-sse/mcp-server/tools/gamificationTools.ts Žaidybinimo įrankių apibrėžtys (8 įrankiai)
open-sse/mcp-server/tools/pluginTools.ts Papildinių registravimo ir valdymo įrankiai (8 įrankiai)
src/app/api/mcp/status/route.ts /api/mcp/status galinis taškas
src/app/api/mcp/tools/route.ts /api/mcp/tools galinis taškas
src/app/api/mcp/sse/route.ts /api/mcp/sse SSE transporto maršrutas
src/app/api/mcp/stream/route.ts /api/mcp/stream Streamable HTTP transporto maršrutas
src/app/api/mcp/audit/route.ts /api/mcp/audit audito žurnalo užklausa
src/app/api/mcp/audit/stats/route.ts /api/mcp/audit/stats agreguota audito metrika
src/lib/notion/api.ts Notion REST API klientas (pakartotiniai bandymai, skirtasis laikas, klaidų klasifikavimas)
src/lib/db/notion.ts Notion prieigos rakto išsaugojimas (key_value lentelė)
src/app/api/settings/notion/route.ts Notion nustatymų API (GET/POST/DELETE)
src/app/(dashboard)/dashboard/endpoint/components/NotionSourceCard.tsx Notion prieigos rakto valdymo naudotojo sąsaja
tests/unit/notion-api.test.ts Notion API kliento testai (7)
tests/unit/notion-tools.test.ts Notion įrankių sričių taikymo testai (10)
tests/unit/db/notion.test.mjs Notion DB modulio testai (3)