{"id":"bed651e0-0572-45a6-9adc-7684b4ad729c","slug":"sql-mcp-nocontainer","kind":"mcp","name":"SQL-MCP-NoContainer","summary":"This project demonstrates how to create SQL MCP server locally or with Azure app service.","owner":"Azure-Samples","repoUrl":"https://github.com/Azure-Samples/SQL-MCP-NoContainer","license":"MIT","licenseTier":"permissive","trust":"official","stars":6,"match":null,"fewStars":false,"format":"mcp","createdAt":"2026-03-04T19:54:11.000Z","addedAt":"2026-10-21T16:55:56.071Z","logoUrl":"https://avatars.githubusercontent.com/u/1844662?v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["databases","cloud-infra"],"tags":[],"runtime":"binary","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-25T11:59:07.494Z","sample":false,"url":"https://conduits.dev/tools/sql-mcp-nocontainer","language":"","transports":["stdio"],"install":{},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"## Project Summary\n\nWhen and why SQL MCP server is needed: customer have data in SQL database, i.e. tables, they want to develop agents to conduct reasoning over the data, and then take actions to update back to the database. a MCP is useful for this purpose, which provides tools to READ data from the SQL database and WRITE back. <br>\n\nThe technique behind the scene is DAB -- Data API Builder. By building on Data API builder's entity abstraction, RBAC, caching, and telemetry, the SQL MCP server delivers a production-ready surface that works the same across REST, GraphQL, and MCP. <br>\n\nClient app ----------------> SQL MCP -------------------> SQL Database\n\n**Reference:** https://learn.microsoft.com/en-us/azure/data-api-builder/mcp/overview <br>\n\n**What's special about this project repo:** \n\nIt shows that SQL MCP Server works cleanly on Azure App Service as a cloud MCP endpoint for Foundry, without containers. For teams already standardized on App Service, this removes the container and ACR overhead entirely and makes MCP adoption much cheaper and faster. It’s a deployment pattern that isn’t experimented today but works end-to-end with Entra and Project Managed Identity.\n\nThis project uses Fabric SQL database as an example, gives you complete steps from setting up client Service Principal, RBAC, DAB configuration, to start the SQL MCP server and run the server.\n\nThe solution provided in this repo is prepared for evolving towards multi-tenancy direction. <br>\n\n**Benefits of hosting SQL MCP server using app service:**\n\n-- App Service is a first-class “cloud web app” host for an MCP endpoint. <br> \nAzure App Service is designed to run web apps and APIs and supports standard web concerns (TLS, custom domains, scaling, monitoring). For MCP workloads, the key is: App Service reliably hosts an HTTPS endpoint that Foundry can call. [https://learn.microsoft.com/en-us/azure/developer/azure-mcp-server/tools/azure-app-service] <br>\n\n-- Scaling is straightforward using App Service scaling knobs. <br>\nIf your SQL MCP endpoint gets more traffic, you scale it the same way you scale any App Service API: <br>\nScale out (more instances) using App Service scaling options, including automatic scaling based on HTTP traffic (Premium tiers) or rule-based autoscale. <br>\nScale up (bigger SKU) to increase CPU/memory. <br>\nOptionally use per-app scaling if you host multiple apps on the same plan and want the MCP app to scale differently. <br>\n\n-- App Service has explicit guidance for MCP authorization. <br>\nIf your MCP endpoint is protected with Microsoft Entra, App Service has specific MCP authorization guidance—including client considerations (many MCP clients don’t support dynamic client registration), and using Entra preauthorization to avoid consent prompts in MCP clients. [https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-mcp] <br>\nThis is a good fit for Foundry’s “shared identity” patterns (e.g., Project Managed Identity) because you can use Entra-based auth without managing API keys.<br>\n\n-- For always-on MCP servers with steady traffic, Azure App Service provides lower and more predictable cost, faster response times (no cold start), and simpler operations compared to scale-to-zero platforms like Azure Container Apps.<br>\n\nThe repo includes two part:\n\n### Part 1: How to setup DAB\n\nhttps://github.com/Azure-Samples/SQL-MCP-NoContainer/blob/main/How-to-setup-DAB.md\n\n### Part 2: How to run the SQL MCP server\n\nhttps://github.com/Azure-Samples/SQL-MCP-NoContainer/blob/main/How-to-Run-MCP.md \n\n## Trademarks\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party’s policies.\n"}