Dve MCP sluzby: obecna podle specifikace a MCP EasyWeb, strankovani nastroju
MCP je standard, ale prihlaseni k nemu ne. Oficialni specifikace stoji na OAuth 2.1 a objevovani autorizacniho serveru pres .well-known. EasyWeb (Centaur) ma prihlaseni vlastni: POST /login s HTTP Basic vrati trojici tokenu a obnovuje se vlastnimi endpointy. Zadny OAuth, zadne .well-known, jina verze protokolu, zadne SSE ani hlavicka sezeni. Proto dve sluzby, ne jedna s prepinacem: firma pri zakladani konektoru vyplnuje neco jineho. U obecne ID a tajemstvi aplikace nebo hotovy token, u EasyWebu jmeno, heslo a nazev zarizeni. Slucovat to by znamenalo formular, kde je pulka poli vzdycky k nicemu, a hadani, ktera pulka to prave je. Obecna sluzba zustava plnohodnotna. Vlastni server je duvod pridat sluzbu, ne duvod zavrit dvere ostatnim. Pribylo: - src/mcp/dialect.ts - rozdily obou serveru na jednom miste: prihlaseni, verze protokolu, jestli se prijima SSE a jestli se posila Mcp-Session-Id. Rozesete po klientovi by u kazdeho dalsiho serveru pribyl dalsi if na jinem miste - sluzba MCP EasyWeb: adresa, jmeno, heslo, nazev a otisk zarizeni. Prihlasovaci adresy si portal odvodi sam, otisk doplni z ID konektoru - hotovy token u obecne sluzby. Rada verejnych serveru nic jineho nenabizi - objevovani pres WWW-Authenticate, coz specifikace ma jako povinnou cestu. Pouziva se az kdyz obvykla mista selzou, stoji to volani navic - zivotnost z tela tokenu: kdyz server expires_in ani datum neposle, cte se exp z JWT. Presne pripad EasyWebu - strankovani nastroju: nastroj s parametrem cursor dostane v builderu prepinac Nacist vsechny stranky. Kurzor je hodnota z odpovedi, takze v dobe stavby stromu ho nikdo nezna a nejde ho vyplnit dopredu. Krok pak vraci navic items, pages, pageCount a truncated. Strop je 20 stranek Opraveno: prihlaseni driv zkousela password grant a HTTP Basic proti hlavnimu endpointu. Prvni OAuth 2.1 zrusil, druhe neni nikde ve specifikaci a u EasyWebu by stejne neproslo - ten chce Basic na /login, ne na /mcp. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
92fecca70c
commit
81e4348ad8
@@ -2,6 +2,48 @@
|
||||
|
||||
Nejnovejsi nahore.
|
||||
|
||||
## 2026-08-28 - dve MCP sluzby: obecna a EasyWeb, strankovani nastroju
|
||||
|
||||
MCP je standard, ale **prihlaseni k nemu ne**. Oficialni specifikace stoji na
|
||||
OAuth 2.1 a objevovani autorizacniho serveru pres `.well-known`. EasyWeb
|
||||
(Centaur) ma prihlaseni vlastni: `POST /login` s HTTP Basic vrati trojici tokenu
|
||||
a obnovuje se vlastnimi endpointy. Zadny OAuth, zadne `.well-known`, jina verze
|
||||
protokolu, zadne SSE ani hlavicka sezeni.
|
||||
|
||||
Proto jsou v katalogu **dve sluzby**, ne jedna s prepinacem: firma pri zakladani
|
||||
konektoru vyplnuje neco jineho. U obecne ID a tajemstvi aplikace nebo hotovy
|
||||
token, u EasyWebu jmeno, heslo a nazev zarizeni. Slucovat to by znamenalo
|
||||
formular, kde je pulka poli vzdycky k nicemu, a hadani, ktera pulka to je.
|
||||
|
||||
Obecna sluzba pritom **zustava plnohodnotna**. Vlastni server je duvod pridat
|
||||
sluzbu, ne duvod zavrit dvere ostatnim.
|
||||
|
||||
### Pribylo
|
||||
|
||||
- `src/mcp/dialect.ts` - rozdily obou serveru na jednom miste: prihlaseni,
|
||||
verze protokolu, jestli se prijima SSE a jestli se posila `Mcp-Session-Id`.
|
||||
Rozesete po klientovi by u kazdeho dalsiho serveru pribyl dalsi `if` jinde.
|
||||
- **Sluzba MCP EasyWeb.** Adresa, jmeno, heslo, nazev a otisk zarizeni.
|
||||
Prihlasovaci adresy si portal odvodi z adresy serveru sam. Otisk se doplnuje
|
||||
z ID konektoru, aby server poznal totez zarizeni.
|
||||
- **Hotovy token u obecne sluzby.** Rada verejnych serveru nic jineho nenabizi
|
||||
a bez toho by na ne neslo zalozit konektor.
|
||||
- **Objevovani pres `WWW-Authenticate`.** Specifikace to ma jako povinnou cestu:
|
||||
server u odpovedi 401 rekne, kde jsou jeho metadata. Pouziva se az kdyz obvykla
|
||||
mista selzou, protoze to stoji volani navic.
|
||||
- **Zivotnost z tela tokenu.** Kdyz server `expires_in` ani datum neposle, cte se
|
||||
`exp` z JWT. To je presne pripad EasyWebu.
|
||||
- **Strankovani nastroju.** Nastroj s parametrem `cursor` dostane v builderu
|
||||
prepinac Nacist vsechny stranky. Kurzor je hodnota z odpovedi, takze v dobe
|
||||
stavby stromu ho nikdo nezna a nejde ho vyplnit dopredu. Krok pak vraci navic
|
||||
`items`, `pages`, `pageCount` a `truncated`. Strop je 20 stranek.
|
||||
|
||||
### Opraveno
|
||||
|
||||
Prihlaseni driv zkousela `password` grant a HTTP Basic proti hlavnimu endpointu.
|
||||
Prvni OAuth 2.1 zrusil, druhe neni nikde ve specifikaci a u EasyWebu by stejne
|
||||
neproslo - ten chce Basic na `/login`, ne na `/mcp`.
|
||||
|
||||
## 2026-08-28 - MCP: prihlaseni jmenem a heslem, tokeny si resi portal
|
||||
|
||||
Predchozi verze chtela po uzivateli token. To bylo spatne zadani: zakaznik
|
||||
|
||||
Reference in New Issue
Block a user