Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
SQL Model Context Protocol (MCP) Server is beschikbaar in Data API Builder versie 1.7. Gebruik de preview-versie 2.0 voor de nieuwste mogelijkheden en oplossingen voor fouten.
SQL MCP Server biedt ontwikkelaars een eenvoudige, voorspelbare en veilige manier om AI-agents in hun gegevenswerkstromen te brengen. SQL MCP Server bereikt dit doel zonder de database bloot te stellen of te vertrouwen op fragiele parsering van natuurlijke taal. De server bouwt voort op de entiteitabstractie, RBAC, caching en telemetrie van data-API's om een voor productie gereed oppervlak te leveren dat hetzelfde werkt in REST, GraphQL en MCP. U configureert het één keer en de engine doet de rest.
Model Context Protocol (MCP)
Model Context Protocol (MCP) is een standaard waarmee wordt gedefinieerd hoe AI-agents externe hulpprogramma's detecteren en aanroepen. Een hulpprogramma is één bewerking, zoals het maken van een record of het lezen van gegevens. Elk hulpprogramma beschrijft de invoer, uitvoer en het gedrag. MCP biedt een voorspelbare manier voor agents om mogelijkheden te detecteren en te gebruiken.
MCP-server voor SQL
SQL MCP Server is de dynamische open source-engine van Microsoft voor agentische apps. U configureert het met een JSON-bestand dat het volgende definieert:
- Verbinding maken met uw database
- Welke tabellen, weergaven of opgeslagen procedures beschikbaar moeten worden gesteld
- De machtigingen die van toepassing zijn op elk object
SQL MCP Server is opgenomen als onderdeel van Data API Builder (DAB) vanaf versie 1.7. Sql-bewerkingen worden beschikbaar gesteld als een kleine familie van MCP-hulpprogramma's , zodat agents kunnen communiceren met database-entiteiten via een beheerd contract. De server wordt zelf gehost, maar voor ontwikkelaars kan deze ook lokaal worden uitgevoerd via de DAB-opdrachtregel.
Aanbeveling
Data API Builder is open source en is gratis te gebruiken.
Details van MCP-protocol
SQL MCP Server implementeert MCP-protocolversie 2025-06-18 als een vaste standaardwaarde. Het ondersteunt twee transporten: streambare HTTP voor standaard hostingscenario's en stdio voor lokale of CLI-scenario's. Tijdens de initialisatie maakt de server hulpprogramma- en logboekregistratiemogelijkheden bekend, retourneert metagegevens van de server, zoals de naam en DAB-versie, en bevat het instructions veld van runtime.mcp.description waaruit clients het doel van de server begrijpen.
MCP Inspector
Voor OP HTTP gebaseerde MCP-eindpunten, bijvoorbeeld wanneer DAB wordt uitgevoerd op http://localhost:5000/mcp, start u MCP Inspector in de proxymodus door de eindpunt-URL rechtstreeks door te geven:
Start eerst data-API builder:
dab start
Start vervolgens MCP Inspector in een andere terminal met de eindpunt-URL:
npx -y @modelcontextprotocol/inspector http://localhost:5000/mcp
Hiermee worden aanvragen via de Inspector-proxy gerouteerd en worden problemen met de CORS van de browser en sessieheaders voorkomen, zoals Mcp-Session-Id die zich in de directe modus kunnen voordoen.
Stdio transport
Het stdio-transport is handig voor lokale ontwikkeling en CLI-werkstromen. U kunt een rol opgeven met role:<role-name>, die standaard op anonymous wordt gezet wanneer deze wordt weggelaten. In deze modus maakt verificatie gebruik van de simulatorprovider en zijn binnenkomende aanvragen beperkt tot 1 MB.
dab start --mcp-stdio
dab start --mcp-stdio role:<role-name>
Gebruikssituaties
Hier volgen enkele typische gebruiksvoorbeelden voor SQL MCP Server:
- Sta copilots en chatbots toe om veilige CRUD-bewerkingen uit te voeren
- Interne automatisering bouwen zonder SQL te schrijven
- Agentmogelijkheden toevoegen zonder de database rechtstreeks beschikbaar te maken
Het schema beveiligen
Data API Builder maakt gebruik van een goed gedefinieerde entiteitabstractielaag waarin alle tabellen, weergaven en opgeslagen procedures worden weergegeven via de API in de configuratie. Met deze laag kunt u aliasnamen en kolommen gebruiken, objecten en parameters beschrijven en beperken welke velden beschikbaar zijn voor verschillende rollen.
Belangrijk
Data API Builder (DAB) is rolbewust en toont alleen de entiteiten en bewerkingen waar de huidige rol toegang toe heeft.
Omdat de SQL MCP Server een functie van Data API Builder is, wordt deze abstractielaag ook gebruikt. Met deze aanpak voorkomt u dat het interne schema beschikbaar wordt gemaakt voor externe consumenten en kunt u complexe en zelfs kruisgegevensbronnen, families van objecten en relaties op de API-laag definiëren.
NL2SQL oplossen
SQL MCP Server heeft een andere benadering dan veel van de kortzichtige DATABASE MCP-servers die momenteel beschikbaar zijn. Een belangrijk voorbeeld is dat SQL MCP Server opzettelijk geen ondersteuning biedt voor NL2SQL.
Why? Modellen zijn niet deterministisch en complexe query's hebben de meeste kans om subtiele fouten te veroorzaken. Deze complexe query's zijn vaak de queries waarvan gebruikers hopen dat AI ze kan genereren, maar het zijn ook de queries die het meest moeten worden gecontroleerd wanneer ze op een niet-deterministische manier worden geproduceerd.
Opmerking
Deterministisch betekent dat dezelfde invoer altijd dezelfde uitvoer produceert. Er is geen willekeurigheid of variatie tussen aanroepen, waardoor resultaten voorspelbaar, testbaar en veilig zijn om te automatiseren.
In plaats daarvan ondersteunt SQL MCP Server wat een NL2DAB-model kan worden genoemd. Deze benadering maakt gebruik van de secure Data API Builder-entiteitabstractielaag en de ingebouwde DAB Query Builder. Samen produceren ze nauwkeurige, goed gevormde Transact-SQL (T-SQL) op een volledig deterministische manier. Deze aanpak verwijdert de risico's, overhead en overlast die verband houden met NL2SQL, terwijl de veiligheid en betrouwbaarheid voor door agents gegenereerde query's behouden blijven.
Ondersteuning voor DDL
DDL (Data Definition Language) is de databasetaal die wordt gebruikt om objecten zoals tabellen en weergaven te maken en te wijzigen. SQL MCP Server is gebouwd rond DML (Data Manipulation Language), de databasetaal die wordt gebruikt voor het maken, lezen, bijwerken en verwijderen van gegevens in bestaande tabellen en weergaven. DML behandelt ook de uitvoering van opgeslagen procedures. Als gevolg hiervan is SQL MCP Server ontworpen om te werken met gegevens, niet met een schema. Dit ontwerp is afgestemd op productie-MCP-gebruiksvoorbeelden waarbij AI-agents communiceren met bedrijfskritieke of bedrijfsgevoelige systemen.
Aanbeveling
Als u het schema tijdens de lokale ontwikkeling wilt wijzigen, kunt u de extensie Microsoft SQL Server (MSSQL) gebruiken in Visual Studio Code, die uitgebreide DDL-ondersteuning biedt.
Ondersteuning voor RBAC
SQL MCP Server profiteert van hetzelfde bewezen RBAC-systeem (op rollen gebaseerd toegangsbeheer) dat wordt gebruikt in data-API builder. Elke entiteit in uw configuratie definieert welke rollen gegevens kunnen lezen, maken, bijwerken of verwijderen en welke velden voor deze rollen zijn opgenomen of uitgesloten. Deze regels zijn automatisch van toepassing op elk MCP-hulpprogramma, zodat beveiliging consistent blijft in REST, GraphQL en MCP, zonder dat er extra configuratie is vereist.
Belangrijk
Beperkingen op basis van rollen zijn van toepassing bij elke stap van agentinteractie.
Ondersteuning voor opslaan in cache
SQL MCP Server slaat automatisch resultaten van het hulpprogramma in de read_records cache op.
Caching in Data API Builder is wereldwijd ingeschakeld en u kunt deze per entiteit configureren. Caching op niveau 1 en niveau 2 helpt bij het verminderen van de databasebelasting, het voorkomen van verzoekstempedes en het ondersteunen van warmstart-scenario's in horizontaal geschaalde omgevingen.
Ondersteuning voor bewaking
SQL MCP Server verzendt logboeken en telemetriegegevens waarmee ondernemingen activiteiten vanuit een enkel overzicht kunnen bewaken en valideren. Deze mogelijkheid omvat Azure Log Analytics, Application Insights en lokale bestandslogboeken in een container.
Telemetrie
SQL MCP Server is volledig geïnstrumenteerd met OpenTelemetry (OTEL) spans en activiteiten. Elke bewerking wordt getraceerd zodat ontwikkelaars gedrag in gedistribueerde systemen kunnen correleren. Meer informatie over de systeemeigen Open Telemetry-ondersteuning van Data API Builder.
Gezondheidscontroles
SQL MCP Server biedt gedetailleerde status- en entiteitscontroles voor REST-, GraphQL- en MCP-eindpunten. Met Data API Builder Health kunnen ontwikkelaars prestatie verwachtingen definiëren, drempelwaarden instellen en controleren of elk eindpunt werkt zoals verwacht.
SQL MCP Server configureren
De MCP is geconfigureerd in uw DAB-configuratiebestand. Als u al een werkende data-API builder-configuratie hebt, krijgt u automatisch een werkende SQL MCP-server met een upgrade naar versie 1.7 of hoger zonder extra stappen.
Configuratie
U kunt MCP globaal of op entiteitsniveau inschakelen. Met deze mogelijkheid kunt u kiezen welke entiteiten MCP-hulpprogramma's gebruiken en welke niet toegankelijk blijven voor agents. MCP volgt dezelfde regels die worden gebruikt voor REST en GraphQL, dus uw configuratie blijft de enige bron van waarheid voor machtigingen, projecties en beleid.
Wanneer MCP is ingeschakeld, genereert SQL MCP Server automatisch het hulpprogrammaoppervlak op basis van uw configuratie. U definieert MCP-hulpprogramma's niet handmatig. Het ingebouwde dml-tools systeem detecteert en maakt entiteiten procedureel beschikbaar, wat goed kan worden geschaald van kleine schema's tot zeer grote databases.
Get started
Aan de slag betekent het maken van de dab-config.json besturing om de motor te controleren. U kunt deze taak handmatig uitvoeren of u kunt de DAB CLI (Data API Builder) gebruiken. De CLI vereenvoudigt de taak, zodat u het bestand kunt initialiseren met één opdracht. Waarden voor configuratie-eigenschappen kunnen letterlijke tekenreeksen, omgevingsvariabelen of Azure Key Vault geheimen gebruiken.
dab init --database-type mssql --connection-string "<your-connection-string>" --config dab-config.json --host-mode development
U kunt elke tabel, weergave of opgeslagen procedure opgeven die de SQL MCP-server beschikbaar moet maken door deze toe te voegen aan de configuratie. Met de CLI kunt u ze eenvoudig toevoegen, aliassen toewijzen, de machtigingen configureren en indien gewenst kolommen toewijzen. Het belangrijkste is dat u met de description eigenschap semantische gegevens kunt opnemen om taalmodellen beter inzicht te geven in uw gegevens.
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)
Runtime-instellingen
SQL MCP Server is standaard ingeschakeld. In de meeste gevallen hoeft u geen MCP-instellingen toe te voegen. De server volgt automatisch dezelfde machtigingen en beveiligingsregels als uw API en database. Configureer MCP alleen als u wilt beperken wat agents kunnen doen, bijvoorbeeld uitschakelen delete-record om gegevensverlies te voorkomen of uit te schakelen aggregate-records voor grote tabellen.
Voor de volledige naslaginformatie over de runtimeconfiguratie, inclusief schakelaars per hulpprogramma, querytime-outs en CLI-opdrachten, zie Runtime-configuratie.
Entiteitsinstellingen
U hoeft MCP ook niet in te schakelen voor elke entiteit. Entiteiten nemen automatisch deel, tenzij u ervoor kiest om ze te beperken. De mcp eigenschap bestaat zodat u een entiteit kunt uitsluiten van MCP of de mogelijkheden ervan kunt beperken, maar u hoeft niets in te stellen voor normaal gebruik. De standaardinstellingen verwerken alles.
Objectindeling gebruiken voor MCP-configuratie op entiteitsniveau:
"entities": {
"Products": {
"mcp": {
"dml-tools": true
}
},
"SensitiveData": {
"mcp": {
"dml-tools": false
}
}
}
Voor opgeslagen-procedure-entiteiten kunt u ook custom-tool gebruiken om de procedure als een benoemd MCP-hulpprogramma te registreren.
"entities": {
"GetBookById": {
"source": {
"type": "stored-procedure",
"object": "dbo.get_book_by_id"
},
"mcp": {
"custom-tool": true
}
}
}
Wanneer custom-tool is true, registreert SQL MCP Server de opgeslagen procedure als een benoemd hulpprogramma via tools/list en tools/call, zodat agents deze rechtstreeks op naam kunnen detecteren en aanroepen. De custom-tool eigenschap is alleen geldig voor entiteiten met opgeslagen procedures.
Opmerking
De sql MCP Server 2.0-functionaliteit die in deze sectie wordt beschreven, is momenteel in preview en kan veranderen vóór algemene beschikbaarheid. Zie Wat is er nieuw in versie 2.0 voor meer informatie.
De DML-hulpprogramma's
SQL MCP Server maakt zeven DML-hulpprogramma's (Data Manipulation Language) beschikbaar waarmee AI-agents beveiligde, typeveilige databasebewerkingen kunnen uitvoeren: describe_entities, , create_recordread_records, update_record, delete_record, , en execute_entity.aggregate_records Deze hulpprogramma's vormen een voorspelbaar CRUD-oppervlak dat altijd uw configuratie, machtigingen en schema weerspiegelt.
Elk hulpprogramma respecteert op rollen gebaseerd toegangsbeheer (RBAC), entiteitsmachtigingen en beleid. Agents communiceren nooit rechtstreeks met uw database. Ze werken via de beveiligde abstractielaag van data-API's.
Aangepaste MCP-hulpprogramma's
Naast de ingebouwde DML-hulpprogramma's ondersteunt SQL MCP Server aangepaste hulpprogramma's die zijn afgeleid van opgeslagen procedures. Stel "custom-tool": true in op een entiteit voor een opgeslagen procedure om die te registreren als een MCP-hulpprogramma met naam.
OpenTelemetry-tracering voor MCP
De uitvoering van MCP-hulpprogramma's is volledig geïnstrueerd met OpenTelemetry (OTEL) spanten. Elke MCP-hulpprogramma-aanroep genereert traceringsgegevens naast REST- en GraphQL-bewerkingen, waardoor geïntegreerde waarneembaarheid mogelijk is op alle API-oppervlakken. Meer informatie over OpenTelemetry-tracering.
Opmerking
De sql MCP Server 2.0-functionaliteit die in deze sectie wordt beschreven, is momenteel in preview en kan veranderen vóór algemene beschikbaarheid. Zie Wat is er nieuw in versie 2.0 voor meer informatie.
Gebruiken met lokale modellen
SQL MCP Server werkt met elke MCP-compatibele client, inclusief lokale LLM's die worden geleverd via Ollama of vergelijkbare hulpprogramma's. Zie SQL MCP Server gebruiken met lokale modellen voor installatie-instructies, een voorbeeld van een Python harness, schema vooraf injectie en aanwijzingen voor kleine modellen.
Verwante inhoud
- Semantische beschrijvingen toevoegen aan SQL MCP Server
- SQL MCP Server gebruiken met lokale modellen
- Verificatie configureren voor SQL MCP Server
- Hulpprogramma's voor gegevensmanipulatie in SQL MCP Server
- SQL MCP Server implementeren voor Azure Container Apps
- Deploy SQL MCP Server naar Azure App Service
- Begin met SQL MCP Server in Visual Studio Code
- Begin met SQL MCP Server in .NET Aspire
- Aan de slag met SQL MCP Server in Azure AI Foundry