SQL MCP Server Demo
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@SQL MCP Server DemoWhat's the average salary by department?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SQL MCP Server Demo
This repository implements a local Model Context Protocol (MCP) server for SQL Server using Microsoft Data API Builder (DAB) 2.0. It exposes read-only data access tools (describe_entities, read_records, and aggregate_records) to a local Ollama model (qwen3:8b) via a Python MCP client and Streamlit frontend.
Repository Structure
A:\sql-mcp-demo
│ .env.example - Template environment variables
│ .gitignore - Configured git ignore rules
│ README.md - Project documentation
│ requirements.txt - Python dependencies
│ mcp_client.py - Python MCP Client and LLM function calling loop
│ app.py - Streamlit frontend UI
│ test_ollama.py - Verifies basic connection to Ollama
│ test_tools.py - Verifies tool-calling capability of qwen3:8b
│
├── .venv/ - Python virtual environment
│
├── dab/
│ └── dab-config.json - Schema-valid Data API Builder configuration
│
├── database/
│ └── verify.sql - Reference SQL database queries
│
└── scratch/ - Developer tests and verification scriptsRelated MCP server: MSSQL MCP Reader
Architecture
┌──────────────────────┐
│ Streamlit UI │
│ app.py │
└──────────┬───────────┘
│ User Query
▼
┌──────────────────────┐
│ Qwen3:8B │
│ Ollama │
└──────────▲───────────┘
│ Function Call
│ Negotiation
▼
┌──────────────────────┐
│ MCP Client │
│ mcp_client.py │
└──────────┬───────────┘
│
│ MCP HTTP (Streamable HTTP)
▼
┌──────────────────────┐
│ Data API Builder │
│ SQL MCP Server │
│ localhost:5000/mcp │
└──────────┬───────────┘
│
│ SQL Connection
▼
┌──────────────────────┐
│ SQL Server LocalDB │
│ EmployeeDB │
│ └── dbo.Employee │
└──────────────────────┘Running the Project
Follow these steps to start and run the application:
Step 1: Start Services
Ensure your local SQL Server instance and Ollama are running:
sqllocaldb start MSSQLLocalDB
ollama run qwen3:8bStep 2: Start the DAB MCP Server
Open a terminal, activate your virtual environment, and run the DAB server:
# Navigate to workspace
cd A:\sql-mcp-demo
# Activate environment
.venv\Scripts\activate
# Start DAB MCP Server
C:\Users\kamal\.dotnet\tools\dab.exe start --config .\dab\dab-config.jsonThe server will start listening at http://localhost:5000/mcp.
Step 3: Run the Streamlit Application
Open a second terminal window and launch the frontend dashboard:
# Navigate to workspace
cd A:\sql-mcp-demo
# Activate environment
.venv\Scripts\activate
# Launch Streamlit
streamlit run app.pyThis will open the dashboard in your web browser at http://localhost:8501.
Verification & Tests
Dynamic Schema & Client test
To test the tool negotiation loop directly via the command-line client:
python mcp_client.pyVerification Scripts
test_ollama.py: Verifies connection to Ollama.
test_tools.py: Verifies basic tool selection capability.
scratch/test_all_queries.py: Runs a batch of 7 validation queries testing counts, filters, averages, group-bys, and sort conditions.
Schema Validation Bug Fixed
A critical schema validation issue in Microsoft's Data API Builder v2.0.9 was addressed:
The standard DAB schema validator contains a bug where defining
"mcp"at the entity level fortabletypes incorrectly triggers a stored-procedure constraint (requiringsource.typeto bestored-procedure).This was resolved by removing the redundant entity-level
"mcp"block since MCP capability is already configured globally at the runtime level.
This server cannot be deployed
Maintenance
Related MCP Connectors
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
Read public AT Protocol profiles, records, threads, backlinks and lexicons. No API key required.
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
Read-only finance and operations controls for AI agents with evidence and safe next actions.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables Language Models to interact with Microsoft SQL Server databases by inspecting table schemas, executing SQL queries, and reading table data through a standardized Model Context Protocol interface.27-
- AlicenseAqualityCmaintenanceRead-only Model Context Protocol server for Microsoft SQL Server, enabling safe schema discovery, profiling, and querying with zero risk of data modification.14351 npm9MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that exposes SQL Server metadata and read-only query execution as a structured HTTP API, with safety validation and allowlist policy enforcement.1-
- FlicenseNot gradedqualityDmaintenanceEnables read-only exploration and querying of Microsoft SQL Server databases through a standardized interface.2-