Početni paket za MCP server: siguran pristup AI agenata internim sistemima
Ovaj početni paket koristimo kada agentu treba pristup internim sistemima kao što su CRM, ERP ili repozitorij dokumenata. Od prvog commita dobijate Model Context Protocol server u TypeScriptu, zasnovan na Effectu, s prijavom, ograničenim pravima i zapisom svakog poziva.
Šta sadrži
Prijava preko vašeg identity providera
Server je OAuth zaštićeni resurs. MCP klijenti preko njega pronalaze vaš identity provider, bilo da je to Keycloak, Auth0, Entra ID ili Okta, i povezuju se u ime prijavljenog korisnika. Za poslove i servise tu su heširani API ključevi koji se mogu opozvati.
Ovlasti po alatu
Svaki alat navodi ovlast koja mu treba, a jedna provjera je potvrđuje pri svakom pozivu, pa nijedan alat ne može zaobići provjeru.
Tipizirani alati
Parametri, rezultati i greške su Effect sheme. Klijenti dobijaju JSON shemu, neispravan ulaz odbija se prije nego što stigne do vaših sistema, a agent dobija greške na osnovu kojih može djelovati.
Revizijski logovi
Svaki poziv alata upisuje se u Postgres s pozivaocem, klijentom, alatom, argumentima, ishodom i trajanjem. Bilježe se i odbijeni pozivi.
Ograničenja poziva i vremena
Ograničenja po pozivaocu i po alatu, uz Redis, i vremensko ograničenje za svaki poziv štite sisteme iza servera od agenata koji se vrte u petlji.
Testovi
Testovi koji server pokreću preko pravog MCP klijenta i pokrivaju prijavu, ovlasti, ograničenja i revizijski trag, te Postgres testovi koji se izvršavaju u CI-ju.
Kako dijelovi rade zajedno
- 01
Povezivanje
MCP klijent, na primjer Claude, Cursor ili interni agent, povezuje se preko streamable HTTP-a. Bez tokena biva upućen na vaš identity provider i tamo završava OAuth prijavu.
- 02
Autorizacija
Server provjerava token pomoću objavljenih ključeva providera, ili pronalazi API ključ, i provjerava ovlast koju alat traži.
- 03
Izvršenje
Alat poziva interni sistem preko malog klijenta koji prenosi ko je pozivalac, uz ograničenja broja poziva i vremenska ograničenja.
- 04
Zapis
Poziv se upisuje u revizijski log, a tipiziran rezultat vraća se agentu.
Pogled u kod
Alat samo za čitanje s tipiziranim rezultatom, provjerom ovlasti i zapisom u revizijskom logu.