Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Fontos
Az SQL Model Context Protocol (MCP) server a Data API Builder 1.7-es és újabb verziójában érhető el. A legújabb képességek és hibajavítások érdekében használja a legújabb 2.0-s kiadást.
Az SQL MCP Server egyszerű, kiszámítható és biztonságos módot biztosít a fejlesztőknek az AI-ügynökök adat-munkafolyamatokba való beépítésére. Az SQL MCP Server ezt a célt anélkül éri el, hogy felfedi az adatbázist, vagy törékeny természetes nyelvi elemzésre támaszkodik. A kiszolgáló a Data API Builder entitás-absztrakciójára, RBAC-jára, cache-ére és telemetriára épít, hogy éles használatra kész felületet kínáljon, amely mind a REST, mind a GraphQL, mind az MCP esetében ugyanúgy működik. Ezt egyszer konfigurálja, és a motor kezeli a többit.
Model Context Protocol (MCP)
A Model Context Protocol (MCP) egy szabvány, amely meghatározza, hogy az AI-ügynökök hogyan derítik fel és hívják meg a külső eszközöket. A funkció egyetlen művelet, például rekord létrehozása vagy adatok olvasása. Minden eszköz leírja a bemeneteit, kimeneteit és viselkedését. Az MCP kiszámítható módot biztosít az ügynökök számára a képességek felderítésére és használatára.
MCP-kiszolgáló SQL-hez
Az SQL MCP Server a Microsoft dinamikus, nyílt forráskód motorja az ügynöki alkalmazásokhoz. Konfigurálja egy JSON-fájllal, amely a következőket határozza meg:
- Csatlakozás az adatbázishoz
- Mely táblákat, nézeteket vagy tárolt eljárásokat tegye közzé
- Az egyes objektumokra vonatkozó engedélyek
Az SQL MCP Server az 1.7-es verziótól kezdve a Data API Builder (DAB) része. Az SQL-műveleteket az MCP-eszközök kis családjaként teszi elérhetővé, így az ügynökök szabályozott szerződéssel kezelhetik az adatbázis-entitásokat. A kiszolgáló saját üzemeltetésű, de fejlesztők számára helyileg is futtatható a DAB parancssorán keresztül.
Jótanács
A Data API Builder nyílt forráskód és ingyenesen használható.
MCP protokoll részletei
Az SQL MCP Server az MCP protokoll 2025-06-18-as verzióját implementálja rögzített alapértelmezettként. Két átvitelt támogat: streamelhető HTTP-t standard üzemeltetési forgatókönyvekhez, és stdio helyi vagy CLI-forgatókönyvekhez. Az inicializálás során a kiszolgáló ismerteti az eszköztár és naplózási képességeket, visszaadja a kiszolgáló metaadatait, például a nevét és a DAB-verzióját, valamint tartalmazza a instructions mezőt a runtime.mcp.description, hogy az ügyfelek megértsék a kiszolgáló célját.
MCP-felügyelő
HTTP-alapú MCP-végpontok esetén, például ha a DAB a következő helyen http://localhost:5000/mcpfut, indítsa el az MCP Inspectort proxy módban a végpont URL-címének közvetlen átadásával:
Először indítsa el a Data API Buildert:
dab start
Ezután egy másik terminálban indítsa el az MCP Inspectort a végpont URL-címével:
npx -y @modelcontextprotocol/inspector http://localhost:5000/mcp
Ez a kéréseket az Inspector-proxyn keresztül irányítja át, és segít elkerülni a böngésző CORS- és munkamenetfejléc-problémáit, mint például Mcp-Session-Id, amelyek a közvetlen módban fordulhatnak elő.
Stdio szállítás
A stdio-átvitel hasznos helyi fejlesztési és CLI-munkafolyamatokhoz. Megadhat egy szerepkört a role:<role-name> segítségével, amely alapértelmezés szerint anonymous lesz, ha nincs megadva. Ebben a módban a hitelesítés a szimulátorszolgáltatót használja, a bejövő kérések pedig 1 MB-ra korlátozódnak.
dab start --mcp-stdio
dab start --mcp-stdio role:<role-name>
Használati esetek
Íme néhány tipikus használati eset az SQL MCP Serverhez:
- A copilotok vagy csevegőrobotok biztonságos CRUD-műveletek végrehajtásának engedélyezése
- Belső automatizálások létrehozása SQL írása nélkül
- Ügynöki képességek hozzáadása az adatbázis közvetlen felfedése nélkül
A séma biztonságossá tétele
A Data API Builder egy jól definiált entitás absztrakciós réteget használ, amely felsorolja a konfigurációban az API-val közzétett összes táblát, nézetet és tárolt eljárást. Ezzel a réteggel aliasneveket és oszlopokat adhat meg, leírhatja az objektumokat és paramétereket, és korlátozhatja a különböző szerepkörök számára elérhető mezőket.
Fontos
A Data API Builder (DAB) szerepkör-tudatos, és csak azokat az entitásokat és műveleteket teszi elérhetővé, amelyekhez az aktuális szerepkör hozzáférése engedélyezett.
Mivel az SQL MCP Server a Data API Builder szolgáltatása, ezt az absztrakciós réteget is használja. Ez a megközelítés megakadályozza, hogy a belső séma külső felhasználók számára legyen elérhetővé téve, és lehetővé teszi összetett, sőt több adatforrásból álló objektumcsaládok és kapcsolatok definiálását az API-rétegben.
Az NL2SQL megoldása
Az SQL MCP Server más megközelítést alkalmaz, mint a ma elérhető számos rövidlátó adatbázis-MCP-kiszolgáló. A legfontosabb példa az, hogy az SQL MCP Server szándékosan nem támogatja az NL2SQL-t.
Why? A modellek nem determinisztikusak, és az összetett lekérdezések a legnagyobb valószínűséggel okoznak finom hibákat. Ezek az összetett lekérdezések gyakran azok, amelyeket a felhasználók remélnek, hogy a mesterséges intelligenciák létre tudnak hozni, mégis ők azok, amelyek a legnagyobb ellenőrzést igénylik, ha nemdeterminista módon jönnek létre.
Megjegyzés:
A determinisztikus azt jelenti, hogy ugyanaz a bemenet mindig ugyanazt a kimenetet eredményezi. A hívások között nincs véletlenszerűség vagy eltérés, ami kiszámíthatóvá, tesztelhetővé és biztonságossá teszi az eredményeket.
Ehelyett az SQL MCP Server támogatja az NL2DAB-modellnek is nevezhető modellt. Ez a megközelítés a biztonságos Data API Builder entitás absztrakciós rétegét és a beépített DAB Query Buildert használja. Ezek együttesen pontosan és jól formázott Transact-SQL (T-SQL) kódot generálnak teljesen determinisztikus módon. Ez a megközelítés eltávolítja az NL2SQL-hez kapcsolódó kockázatot, többletterhelést és kellemetlenséget, miközben megőrzi az ügynök által létrehozott lekérdezések biztonságát és megbízhatóságát.
DDL támogatása
A DDL (Data Definition Language) az adatbázis nyelve, amellyel objektumokat, például táblákat és nézeteket hozhat létre és módosíthat. Az SQL MCP Server a DML (Adatkezelési nyelv) köré épül, amely a meglévő táblákban és nézetekben lévő adatok létrehozására, olvasására, frissítésére és törlésére használt adatbázisnyelv. A DML a tárolt eljárások végrehajtására is kiterjed. Ennek eredményeképpen az SQL MCP Server úgy lett kialakítva, hogy ne sémával, hanem adatokkal működjön. Ez a kialakítás igazodik az éles MCP-használati esetekhez, amikor az AI-ügynökök kritikus fontosságú vagy üzleti szempontból érzékeny rendszerekkel kommunikálnak.
Jótanács
A séma helyi fejlesztés során történő módosításához használhatja a Microsoft SQL Server (MSSQL) bővítményt Visual Studio Code, amely átfogó DDL-támogatást nyújt.
Az RBAC támogatása
Az SQL MCP Server ugyanazt a bevált szerepköralapú hozzáférés-vezérlési (RBAC) rendszert használja a Data API Builderben. A konfiguráció minden entitása meghatározza, hogy mely szerepkörök olvashatnak, hozhatnak létre, frissíthetnek vagy törölhetnek adatokat, és hogy mely mezők tartozhatnak vagy zárhatók ki ezekhez a szerepkörökhöz. Ezek a szabályok automatikusan érvényesek minden MCP-eszközre, így a biztonság a REST, a GraphQL és az MCP esetében is konzisztens marad, és nincs szükség további konfigurációra.
Fontos
A szerepköralapú korlátozások az ügynök-interakció minden lépésére érvényesek.
Gyorsítótárazási támogatás
Az SQL MCP Server automatikusan gyorsítótárazza az read_records eszköz eredményeit.
A Data API Builder gyorsítótárazása globálisan engedélyezve van, és entitásonként konfigurálható. Az 1. és a 2. szintű gyorsítótárazás egyaránt segít csökkenteni az adatbázis terhelését, megelőzni a kérések áradatát, és támogatni a gyors indítási forgatókönyveket vízszintesen skálázott környezetekben.
Monitorozás támogatása
Az SQL MCP Server naplókat és telemetriát bocsát ki, amelyek lehetővé teszik a vállalatok számára a tevékenységek monitorozását és ellenőrzését egyetlen üvegablakból. Ez a képesség magában foglalja a Azure Log Analytics, a Application Insights és a tárolón belüli helyi fájlnaplókat.
Telemetria
Az SQL MCP Server teljes mértékben instrumentálva van OpenTelemetry (OTEL) spanokkal és tevékenységekkel. A rendszer minden műveletet nyomon követ, hogy a fejlesztők korrelálhassák a viselkedést az elosztott rendszerek között. További információ a Data API Builder natív Open Telemetria-támogatásáról .
Állapotellenőrzések
Az SQL MCP Server részletes állapot- és entitásellenőrzéseket biztosít a REST, a GraphQL és az MCP végpontok között. A Data API Builder Health segítségével a fejlesztők meghatározhatók a teljesítményre vonatkozó elvárások, küszöbértékeket állíthatnak be, és ellenőrizhetik, hogy az egyes végpontok a várt módon működnek-e.
Az SQL MCP Server konfigurálása
Az MCP a DAB konfigurációs fájljában van konfigurálva. Ha már rendelkezik működő Data API Builder-konfigurációval, az 1.7-es vagy újabb verzióra való frissítés automatikusan biztosít egy működő SQL MCP Servert további lépések nélkül.
Konfiguráció
Az MCP globálisan vagy entitásszinten is engedélyezhető. Ezzel a funkcióval kiválaszthatja, hogy mely entitások felszínre hozhatják az MCP-eszközöket, és amelyek továbbra is elérhetetlenek maradnak az ügynökök számára. Az MCP ugyanazokat a szabályokat követi, mint a REST és a GraphQL esetében, így a konfiguráció az engedélyek, előrejelzések és szabályzatok egyetlen igazságforrása marad.
Ha az MCP engedélyezve van, az SQL MCP Server automatikusan létrehozza az eszközfelületét a konfiguráció alapján. Az MCP-eszközöket nem definiálja manuálisan. A beépített dml-tools rendszer procedurálisan felderíti és elérhetővé teszi az entitásokat, ami a kis sémáktól a nagyon nagy adatbázisokig jól skálázható.
Első lépések
Első lépésként létre kell hozni a dab-config.json a motor vezérlésére. Ezt a feladatot manuálisan is elvégezheti, vagy használhatja a Data API Builder (DAB) parancssori felületét. A parancssori felület leegyszerűsíti a feladatot, így egyetlen paranccsal inicializálhatja a fájlt. A konfigurációs tulajdonság értékei használhatnak literális sztringeket, környezeti változókat vagy Azure Key Vault titkos kódokat.
dab init --database-type mssql --connection-string "<your-connection-string>" --config dab-config.json --host-mode development
Az SQL MCP Server által elérhetővé tenni kívánt táblákat, nézeteket és tárolt eljárásokat úgy adhatja meg, hogy hozzáadja őket a konfigurációhoz. A parancssori felület segítségével egyszerűen felveheti őket, aliasokat rendelhet hozzájuk, konfigurálhatja az engedélyeiket, és igény szerint leképezheti az oszlopokat. A legfontosabb, hogy a description tulajdonsággal szemantikai részleteket is megadhat, hogy a nyelvi modellek jobban megértsék az adatokat.
dab add {entity-name} \ # object alias (Employees)
--source {table-or-view-name} \ # database object (dbo.Employees)
--source.type {table|view|stored-procedure} \ # object type (table)
--permissions "{role:actions}" \ # role and allowed actions (anonymous:*)
--description "{text}" # semantic description (Company employee records)
Futtatókörnyezet beállításai
Az SQL MCP Server alapértelmezés szerint engedélyezve van. A legtöbb esetben nem kell mcp-beállításokat hozzáadnia. A kiszolgáló automatikusan ugyanazokat az engedélyeket és biztonsági szabályokat követi, mint az API és az adatbázis. Csak akkor konfigurálja az MCP-t, ha szűkíteni vagy korlátozni szeretné, hogy az ügynökök milyen műveleteket hajthatnak végre – például a delete-record letiltásával az adatvesztés megelőzése érdekében, vagy a aggregate-records letiltásával nagy táblákon.
A teljes futásidejű konfigurációs referencia – beleértve az eszközenkénti kapcsolókat, a lekérdezési időtúllépéseket és a parancssori felületi parancsokat – lásd: Futtatókörnyezet konfigurációja.
Entitásbeállítások
Emellett nem kell engedélyeznie az MCP-t az egyes entitásokon. Az entitások automatikusan részt vesznek, hacsak ön nem korlátozza őket. A mcp tulajdonság létezik, így kizárhat egy entitást az MCP-ből, vagy szűkítheti annak képességeit, de nem kell semmit beállítania a normál használathoz. Az alapértelmezett értékek mindent kezelnek.
Objektumformátum használata entitásszintű MCP-konfigurációhoz:
"entities": {
"Products": {
"mcp": {
"dml-tools": true
}
},
"SensitiveData": {
"mcp": {
"dml-tools": false
}
}
}
Tárolt eljárás entitások esetén engedélyezheti custom-tool az eljárás névvel ellátott MCP-eszközként való regisztrálását is:
"entities": {
"GetBookById": {
"source": {
"type": "stored-procedure",
"object": "dbo.get_book_by_id"
},
"mcp": {
"custom-tool": true
}
}
}
Amikor custom-tooltrue megfelel, az SQL MCP Server a tárolt eljárást névvel ellátott eszközként regisztrálja tools/list és tools/call által, lehetővé téve, hogy az ügynökök közvetlenül nevük alapján felderíthessék és meghívhassák azt. A custom-tool tulajdonság csak tárolt eljárás entitásokra érvényes.
Megjegyzés:
Az ebben a szakaszban ismertetett SQL MCP Server-funkciók a Data API Builder 2.0-s és újabb verzióiban érhetők el. További információ: A 2.0-s verzió újdonságai.
A DML-eszközök
Az SQL MCP Server hét adatmanipulációs nyelvi (DML) eszközt tesz elérhetővé, amelyek lehetővé teszik, hogy az AI-ügynökök biztonságos, típusbiztos adatbázis-műveleteket hajtsanak végre: describe_entities, create_record, , read_records, update_recorddelete_record, execute_entityés aggregate_records. Ezek az eszközök kiszámítható CRUD felületet alkotnak, amely mindig tükrözi a konfigurációt, az engedélyeket és a sémát.
Minden eszköz tiszteletben tartja a szerepköralapú hozzáférés-vezérlést (RBAC), az entitásengedélyeket és a szabályzatokat. Az ügynökök soha nem kommunikálnak közvetlenül az adatbázissal – a biztonságos Data API builder absztrakciós rétegen keresztül működnek.
Egyéni MCP-eszközök
A beépített DML-eszközök mellett az SQL MCP Server a tárolt eljárásokból származó egyéni eszközöket is támogatja. Állítsa be a(z) "custom-tool": true elemet egy tárolteljárás-entitáson, hogy elnevezett MCP-eszközként regisztrálja.
OpenTelemetry nyomkövetés az MCP-hez
Az MCP eszköz végrehajtása teljes mértékben OpenTelemetry (OTEL) tracerekkel van instrumentálva. Minden MCP-eszközhívás nyomkövetési adatokat hoz létre a REST- és GraphQL-műveletek mellett, így egységes megfigyelhetőség érhető el minden API-felületen. További információ az OpenTelemetry-nyomkövetésről.
Megjegyzés:
Az ebben a szakaszban ismertetett SQL MCP Server-funkciók a Data API Builder 2.0-s és újabb verzióiban érhetők el. További információ: A 2.0-s verzió újdonságai.
Használat helyi modellekkel
Az SQL MCP Server bármilyen MCP-kompatibilis ügyféllel működik, beleértve az Ollama vagy hasonló eszközök által kiszolgált helyi LLM-eket is. A beállítási utasításokért tekintse meg a Python példarendszert, a séma-előinjektálást és a kis modellekre vonatkozó útmutatást: Az SQL MCP Server használata helyi modellekkel.
Kapcsolódó tartalom
- Szemantikai leírások hozzáadása az SQL MCP Serverhez
- Az SQL MCP Server használata helyi modellekkel
- Az SQL MCP Server hitelesítésének konfigurálása
- Adatkezelési eszközök az SQL MCP Serverben
- SQL MCP-kiszolgáló üzembe helyezése az Azure Container Apps-be
- Az Azure App Service SQL MCP-kiszolgáló üzembe helyezése
- Kezdje el az SQL MCP Server használatát a Visual Studio Code programban
A .NET Aspire - Kezdje el az SQL MCP Server használatát az Azure AI Foundry-ban