共用方式為


快速入門:在本地使用 SQL MCP Server 搭配 Visual Studio Code

顯示連接至 Visual Studio Code 的本地 SQL MCP 伺服器的圖示。

這很重要

SQL 模型情境協定(MCP)伺服器可在資料 API 建構器 1.7 版及更新版本中提供。

此快速入門使用資料 API 建構者 CLI,在本地執行 SQL 模型情境協定(MCP)伺服器,無需 Aspire。 你建立資料庫、設定設定檔、啟動 SQL MCP Server,並用自訂工具從 Visual Studio Code(VS Code)連接。 這條路是探索 SQL MCP Server 最簡單的方式,無需容器或主機框架。

先決條件

在開始之前先安裝這些工具。

.NET 9+

你可能已經安裝了這個工具。 執行 dotnet --version 並確認它顯示的是 9.0 或更新版本。 如果 .NET 已經存在,重新安裝是安全的,只會刷新執行時間。

SQL Server 2016+

你需要存取 SQL Server 資料庫。 以下任一項工作:

  • SQL Server(開發者或 Express)
  • LocalDB(基於檔案的 SQL Server)
  • Docker 中的 SQL Server

安裝資料 API 產生器 CLI

dotnet new tool-manifest
dotnet tool install microsoft.dataapibuilder
dotnet tool restore

備註

SQL MCP Server 功能可在 Data API 建構器 1.7 版及更新版本中提供。

步驟一:建立您的樣本資料庫

在此步驟中,你建立一個名為 ProductsDb 的資料庫,並以一個名為 Products的單一資料表做種子。

使用 SQLCMD、SQL Server Management Studio 或任何偏好的工具連接到你的 SQL 實例,然後執行:

CREATE DATABASE ProductsDb;
GO

USE ProductsDb;
GO

CREATE TABLE dbo.Products (
    Id INT PRIMARY KEY,
    Name NVARCHAR(100) NOT NULL,
    Inventory INT NOT NULL,
    Price DECIMAL(10,2) NOT NULL,
    Cost DECIMAL(10,2) NOT NULL
);

INSERT INTO dbo.Products (Id, Name, Inventory, Price, Cost)
VALUES
    (1, 'Action Figure', 40, 14.99, 5.00),
    (2, 'Building Blocks', 25, 29.99, 10.00),
    (3, 'Puzzle 500 pcs', 30, 12.49, 4.00),
    (4, 'Toy Car', 50, 7.99, 2.50),
    (5, 'Board Game', 20, 34.99, 12.50),
    (6, 'Doll House', 10, 79.99, 30.00),
    (7, 'Stuffed Bear', 45, 15.99, 6.00),
    (8, 'Water Blaster', 35, 19.99, 7.00),
    (9, 'Art Kit', 28, 24.99, 8.00),
    (10,'RC Helicopter', 12, 59.99, 22.00);

你的樣本資料庫已經準備好了。

步驟 2:設定 SQL MCP 伺服器

在你想建立 dab-config.json 檔案的資料夾裡執行所有指令。

建立你的環境檔案

在你的工作目錄中建立一個名為 .env 的檔案,並新增以下一行(可依SQL Server資訊自訂):

MSSQL_CONNECTION_STRING=Server=localhost;Database=ProductsDb;Trusted_Connection=True;TrustServerCertificate=True

備註

整合驗證(Trusted_Connection=True)在Windows上有效。 如果是 SQL 認證(Docker 或跨平台常見),請改用 Server=localhost,1433;Database=ProductsDb;User Id=sa;Password=<YourPassword>;TrustServerCertificate=True (假設你的容器將 port 1433 映射到 localhost)。

Data API 建構器可以從工作目錄中的本地檔案 .env 讀取變數。 如果你的環境不支援 .env 檔案,請先在終端機工作階段中將環境變數設 MSSQL_CONNECTION_STRING 為,然後再執行以下指令。

初始化並設定伺服器

執行以下命令:

dab init --database-type mssql --connection-string "@env('MSSQL_CONNECTION_STRING')" --host-mode Development --config dab-config.json

dab add Products --source dbo.Products --permissions "anonymous:read" --description "Toy store products with inventory, price, and cost."

可選擇性地加入欄位描述

dab update Products --fields.name Id --fields.primary-key true --fields.description "Product Id"
dab update Products --fields.name Name --fields.description "Product name"
dab update Products --fields.name Inventory --fields.description "Units in stock"
dab update Products --fields.name Price --fields.description "Retail price"
dab update Products --fields.name Cost --fields.description "Store cost"

你的 SQL MCP 伺服器已經完全設定好了。

步驟 3:啟動 SQL MCP 伺服器

SQL MCP 伺服器支援兩種傳輸模式。 選擇最適合你工作流程的那個。

選項 A:HTTP 傳輸(伺服器獨立運行)

在 HTTP 模式下,你在終端機中啟動 DAB 作為一個長時間執行的程序,VS Code 透過本地端點 HTTP 連接到它。

在從 VS Code 連接前,先在獨立終端機啟動 SQL MCP 伺服器。

打開終端機並執行

dab start --config dab-config.json

此指令啟動 SQL MCP 伺服器。 啟動後,終端機輸出會顯示監聽網址。 此快速入門假設 MCP 端點為 http://localhost:5000/mcp。 保持這個終端機運作——Visual Studio Code 會連接到這個 HTTP 端點。

備註

你可以透過配置您的 dab-config.json 的執行階段設定,或設定環境變數(例如 ASPNETCORE_URLS)來自訂端口。

選項B: stdio 運輸(VS Code 負責管理流程)

stdio 模式下,DAB 會以子程序啟動,直接由 VS Code 管理。 你 不需要 在終端機執行 dab start,當你開啟工作區時,VS Code 會自動啟動和停止 DAB。

此模式建議用於地方開發。 沒有 HTTP 埠需要管理,也沒有終端機程序需要持續執行。

備註

你的dab-config.jsonruntime部分需要"mcp": { "enabled": true }來進行stdio運輸。 完整細節請參見 stdio SQL MCP Server 的傳輸

跳到 步驟 4 以設定你所選傳輸的 VS Code MCP 伺服器定義。

步驟 4:從 VS Code 連接

這很重要

Workspace 是 VS Code 視為你專案的根目錄。 設定和 MCP 伺服器定義只適用於該資料夾內。 如果你只開啟一個檔案,你就不在工作區裡。 你必須打開一個資料夾。

打開你的專案資料夾

  1. 選擇「 檔案>開啟資料夾」。
  2. 打開包含你 dab-config.json 檔案的資料夾。

建立你的 MCP 伺服器定義

建立一個名為 .vscode/mcp.json 檔案的檔案,並加入你選擇的交通工具內容。

stdio 模式下,VS Code 會以子程序啟動 DAB。 你不需要運行終端機——VS Code 會管理程序生命週期。

{
  "servers": {
    "sql-mcp-server": {
      "type": "stdio",
      "command": "dab",
      "args": [
        "start",
        "--mcp-stdio",
        "role:anonymous",
        "--loglevel",
        "none",
        "--config",
        "${workspaceFolder}/dab-config.json"
      ]
    }
  }
}

要安裝這個精確設定,請使用以下按鈕。

顯示新增 MCP 伺服器的截圖。

備註

如果你想限制或擴展存取權限,可以用實體權限中定義的角色來取代 role:anonymous 。 欲了解更多角色與傳輸選項,請參閱 stdio SQL MCP Server 的傳輸