# Haladó beállítások és MCP-szerver

> Fejlesztőknek szóló beállítások, valamint a külső AI-alkalmazásokat kiszolgáló MCP-szerver.

## Haladó

A **JetEngine → JetEngine → Haladó** fül fejlesztői beállításokat tartalmaz: azt szabályozzák, hogyan dolgozza fel a bővítmény a metaadatokat, hogyan viselkedik a lekérdezésszerkesztő, és hogyan jelennek meg a JetEngine felületei. Hibakereséshez, teljesítmény-finomhangoláshoz és egyedi megoldásokhoz hasznosak.

![A Haladó fül beállításai](./kepek/halado.webp)

*A Haladó fül beállításai* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-engine)

A képen a **Régi felhasználói tulajdonságok/metaadatok feldolgozásának kikapcsolása** be van kapcsolva, a többi kapcsoló ki.

| Beállítás | Mit csinál |
|---|---|
| **Slider Library** | A Listing Grid és a Dynamic Field csúszkáihoz használt könyvtár. Választható: Default (Swiper.js), Swiper.js, Slick.js. |
| **Régi felhasználói tulajdonságok/metaadatok feldolgozásának kikapcsolása** | Bekapcsolva a bővítmény a metaadatot mindig közvetlenül az objektumból, a kontextus szerint kéri le (egyedi metastruktúrákkal dolgozó fejlesztőknek kiszámíthatóbb). Kikapcsolva, ha a kulcs egyezik egy JetEngine felhasználói metamezővel, az érték automatikusan az aktuális felhasználótól vagy a listázási objektumtól származik. |
| **Convert Product Variation to WC_Product** | A termékvariációt WC_Product objektummá alakítja a Dynamic Widgetekben, mielőtt az objektum tulajdonságait lekérné. Hasznos például az ár HTML-karakterláncának vagy más WooCommerce-tulajdonságnak a Dynamic Fielddel való kiírásához. |
| **Frontend lekérdezésszerkesztő letiltása** | Megakadályozza, hogy a felhasználók vagy szerkesztők az elülső oldalon módosítsák a JetEngine-lekérdezéseket. Elrendezések zárolására és biztonságra jó. |
| **LTR kényszerítése a JetEngine oldalakon** | A JetEngine felületei akkor is balról jobbra irányúak lesznek, ha a webhely nyelve jobbról balra író (RTL). A beállítás módosításakor az oldal újratöltődik. |
| **Prefix relation controls with the relation ID and name** | A kapcsolatokkal kapcsolatos hibák keresését egyszerűsíti. |

## MCP Server

A JetEngine MCP-szervere (Model Context Protocol) lehetővé teszi, hogy külső AI-eszközök kommunikáljanak a weboldaladdal. Itt kapcsolhatod be a szervert, láthatod a végpont URL-jét és az elérhető eszközök listáját. Az eszközök egyedi bejegyzéstípusokat, listázásokat, lekérdezéseket, taxonómiákat, metaboxokat, szójegyzékeket és más JetEngine-adatokat kezelnek.

![Az MCP Server fül](./kepek/mcp-server.webp)

*Az MCP Server fül* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-engine)

A képen két kapcsoló (**Enable Features API** és **Enable MCP Server**) és alattuk az **MCP Server URL** látszik, lejjebb a **Exposed Tools List**.

- **Enable Features API**: a Command Center és az MCP-szerver alapja. Ha kikapcsolod, mindkét funkció kikapcsol.
- **Enable MCP Server**: engedélyezi, hogy külső AI-alkalmazások csatlakozzanak, adatokat kapjanak az oldalról, vagy műveleteket végezzenek rajta.
- **MCP Server URL**: a szerver címe, `/wp-json/jet-engine/v1/mcp/` végződéssel.

A szerver használatához hitelesítés kell. Alapértelmezetten a WordPress alkalmazásjelszavai (Application Passwords) használhatók, a részletes beállítás attól függ, melyik alkalmazásból csatlakozol.

Az eszközök két csoportba tartoznak:

- **Eszközök** (tools): közvetlen műveleteket végeznek, és módosíthatják az oldal állapotát (például metamezők frissítése, taxonómiák regisztrálása);
- **Erőforrások** (resources): csak adatot adnak, nem módosítanak semmit, kontextust, beállításokat vagy metaadatot szolgáltatnak más műveletekhez.

### Az eszközök listája

| Eszköz | Mit csinál |
|---|---|
| Add Custom Content Type | Új egyedi tartalomtípust (CCT) hoz létre. A modult nem kell külön bekapcsolni, a háttérben megtörténik. |
| Get JetEngine Configuration | JSON-formátumban adja vissza a JetEngine beállításainak áttekintését: a bejegyzéstípusokat, CCT-ket, taxonómiákat, metaboxokat, beállítási oldalakat, lekérdezéseket, kapcsolatokat, REST API-végpontokat és szójegyzékeket. |
| Get Website Config | JSON-ban adja vissza az egész oldal beállításait: a bejegyzéstípusokat, taxonómiákat és telepített bővítményeket. Kevésbé részletes, mint az előző. |
| Get JetEngine Macros | A használható makrók listáját adja vissza argumentumokkal és példákkal, AI-eszközöknek. Az előző két erőforrással együtt segít az AI-ügynöknek pontos oldalkontextust adni. |
| Add Glossary | Kézzel megadott opciókkal szójegyzéket hoz létre. Legalább egy mezőobjektumot kell megadni értékkel és felirattal. |
| Manage JetEngine Modules | Kilistázza az aktív modulokat, és kérésre be- vagy kikapcsolja őket. |
| Add Listing Grid Item | Listázási elemet hoz létre egy meglévő lekérdezés alapján (ha az ügynök kontextusában van róla információ), vagy régi paraméterekkel (egy bejegyzéstípushoz, taxonómiához stb.). |
| Add Custom Post Type | Egyedi bejegyzéstípust hoz létre a szükséges metamezőkkel. A nevet a `general_settings.name` mezőben kell megadni; ha a `general_settings.slug` hiányzik, a név alapján készül. |
| Add Meta Box | Metaboxot ad egy bejegyzéstípushoz, taxonómiához vagy felhasználóhoz a szükséges metamezőkkel. A nevet a `general_settings.name`, a mezőket a `meta_fields` tartalmazza. A szükséges láthatósági feltételeket az eszköz automatikusan bekapcsolja. |
| Add Taxonomy | Taxonómiát hoz létre a szükséges metamezőkkel. A nevet a `general_settings.name`, a hozzárendelt bejegyzéstípusokat a `general_settings.object_type` mező adja. |
| Add Query | Új lekérdezést hoz létre a Lekérdezéskészítőben. A kérésben mindig szerepelnie kell a `query_args` objektumnak, különben elutasítja. `sql` típusnál a `query_args` nem üres `sql` karakterláncot tartalmazzon, más típusoknál megfelelő argumentumokat (WP_Query-szerűen bejegyzésekhez, kifejezésekhez, felhasználókhoz stb.). |

Érvényes példák az **Add Query** eszközhöz:

```json
{"name": "Recent orders", "query_type": "sql", "query_args": {"sql": "SELECT * FROM wp_posts WHERE post_type='shop_order' LIMIT 10"}}
```

```json
{"name": "Latest posts", "query_type": "posts", "query_args": {"post_type": "post", "posts_per_page": 5}}
```

Érvénytelen, mert hiányzik a `query_args`, ezért elutasítja a szerver:

```json
{"name": "Latest posts", "query_type": "posts"}
```

A beszélgetés kontextusából vett makrók a változó paraméterekhez (azonosítók, felhasználó, dátumok) is használhatók, így a lekérdezések dinamikussá tehetők.
