Ez az oldal a rendszergazdának szól: az eVIR MCP szerver modul telepítése, webszerver-konfigurációja és üzemeltetése. A felhasználói oldal — csatlakozás az AI-alkalmazásból — külön oldalon: Hozzáférés engedélyezése.
<note warning>A modul webszerver-oldali beállítás nélkül NEM működik. A telepítés önmagában kevés: az Apache alapértelmezésben nem adja át a CGI-nek azt a fejlécet, amiben a hozzáférési kulcs utazik, így minden hívás elutasításra kerülne.</note>
cd install TESTNONINTERACTIVE=1 NOSUDO=1 ./control /path/to/instance install_module ai_mcp </dev/null
Ez létrehozza az ai_mcp_* táblákat, bekapcsolja a modult, felveszi a karbantartó job ütemezését, majd automatikusan lefuttatja a menu és adminjog lépéseket is.
Ellenőrzés: a Rendszer → Beállítások → AI MCP hozzáférés menücsoportnak meg kell jelennie (am01–am05 jogkódok).
Minta a példány forrásában: install/modules/ai_mcp/apache-mcp.conf.sample. Nem automatikusan telepítendő fájl — másold az ügyfél vhostjába és igazítsd az útvonalakat.
Két dolog kell mindenképpen:
CGIPassAuth On a cgi-bin könyvtárra (Apache 2.4.13+). A Bearer token az Authorization fejlécben utazik, amit az Apache alapból nem ad át a CGI-nek. Régebbi Apache-hoz tartalék: RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] — a mcp.cgi mindhárom változatot megnézi./mcp útvonalról a cgi-bin/mcp.cgi-re.
<note>Telepítés előtt ellenőrizd, hogy a /mcp útvonalat nem használja-e már valami az adott példányon (webshop, CMS).</note>
alkönyvtáras (https://host/ugyfel/) | gyökér (saját vhost) | |
|---|---|---|
| base URL | https://host/ugyfel/mcp | https://ugyfel.pelda.hu/mcp |
.well-known | a példány alatt | a host gyökerében is |
A szabvány (RFC 9728, RFC 8414) szerint path-komponenses issuernél a metadata a host gyökerében lenne, amihez alkönyvtáras telepítésnél nincs feltétlenül hozzáférésünk. Ezért a mcp.cgi az elutasító válasz WWW-Authenticate fejlécében explicit megadja a metadata URL-jét (resource_metadata=„…”), és a kliensek azt követik — a példány alatti útvonal így elegendő, gyökér-hozzáférés nem kell. A minta a gyökér-szintű változatot is tartalmazza (kikommentelve), az ACME/Let's Encrypt kivétellel együtt.
Rendszer → Beállítások → Rendszerbeállítások → eVIR MCP szerver (AI hozzáférés). Részletesen: Beállítások: eVIR MCP szerver.
Telepítés után jellemzően csak egyet kell átnézni: az MCP végpont publikus URL-jét. Üresen hagyva a setup.pm web_url_host értékéből származik, /mcp végződéssel — ez a szokásos esetben helyes.
<note important>A base URL egyben az OAuth issuer és resource azonosító is. Utólagos megváltoztatása érvényteleníti a már kiadott hozzáféréseket, a felhasználóknak újra kell engedélyezniük.</note>
MCP privilégium kell hozzá (users.privek). Enélkül a felhasználó látja az engedélyező képernyőt, de nem tud hozzáférést adni. A privilégiumot a Felhasználók felületen lehet megadni; adminisztrátoroknak a control adminjog automatikusan adja.
<note important>A privilégium ellenőrzése minden egyes hívásnál megtörténik, nem csak a hozzáférés kiadásakor. Ha egy felhasználótól elveszik az MCP privilégiumot, a már kiadott hozzáférés azonnal érvénytelenné válik — nem kell megvárni a lejáratát.</note>
Nincs vele teendő: a telepítés felveszi. A modul telepítő SQL-je aktív crontab sort hoz létre (naponta 03:17), ami a lejárt technikai sorokat — függő kérések, felhasznált kódok, lejárt tokenek, hívásszám-számlálók — takarítja.
Ellenőrzés:
SELECT ct_min,ct_hour,dok,megj,aktiv FROM crontab WHERE dok LIKE 'ai_mcp%';
Az időpont a Rendszer → Beállítások → Ütemezett feladatok menüpontban módosítható, és a job ki is kapcsolható.
<note>A job a hívásnaplóhoz nem nyúl. A napló törlése tudatos adminisztrátori döntés, nem automatizmus — lásd MCP hívásnapló.</note>
# metadata (nem igenyel bejelentkezest) curl -s https://<host>/<ugyfel>/mcp/.well-known/oauth-protected-resource # az MCP vegpont token nelkul: 401 + WWW-Authenticate curl -si -X POST https://<host>/<ugyfel>/mcp \ -H 'Content-Type: application/json' \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | head -20
Az elutasító válaszban kötelezően ott kell lennie a WWW-Authenticate: Bearer … resource_metadata=„…” fejlécnek — ez indítja a kliens oldali bejelentkezést. Ha hiányzik, az AI-alkalmazás nem tud csatlakozni.
| Tünet | Legvalószínűbb ok |
|---|---|
| A bejelentkezés után is elutasítás jön | hiányzik a CGIPassAuth → az Authorization fejléc nem jut el a CGI-hez |
| A kliens nem talál metadatát | a .well-known rewrite hiányzik, vagy rossz a base URL beállítás |
| „Ismeretlen alkalmazás„ a visszatéréskor | a base URL megváltozott a hozzáférés kiadása óta |
| A felhasználó nem tud engedélyezni | nincs MCP privilégiuma |
| Egyes funkciók hiányoznak a kliensben | az adott modul nincs telepítve, vagy a felhasználónak nincs rá menü-jogosultsága — ez helyes működés, lásd Elérhető funkciók |
Technikailag tiszta: az audience-ellenőrzés miatt egy hozzáférési kulcs nem használható másik példányon. Feltétel, hogy a két base URL különbözzön — ha a teszt példány ugyanarról a hostról, más alkönyvtárból megy, ez magától teljesül; ha nem, állítsd be kézzel. Az AI-alkalmazásban két külön kapcsolat lesz belőlük.
Kapcsolódó oldalak: