다음을 통해 공유


빠른 시작: 로컬에서 Visual Studio Code SQL MCP Server 사용

Visual Studio Code에 연결된 로컬 SQL MCP 서버를 보여주는 다이어그램입니다.

중요합니다

MCP(SQL 모델 컨텍스트 프로토콜) 서버는 Data API Builder 버전 1.7 이상에서 사용할 수 있습니다.

이 빠른 시작에서는 Data API Builder CLI를 사용하여 Aspire 없이 MCP(SQL Model Context Protocol) 서버를 로컬로 실행합니다. 데이터베이스를 만들고, 구성 파일을 구성하고, SQL MCP Server를 시작하고, 사용자 지정 도구를 사용하여 VS Code(Visual Studio 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

Data API Builder CLI 설치

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

비고

SQL MCP Server 기능은 Data API Builder 버전 1.7 이상에서 사용할 수 있습니다.

1단계: 샘플 데이터베이스 만들기

이 단계에서는 이름이 지정된 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 (컨테이너가 포트 1433을 localhost에 매핑하는 것으로 가정).

데이터 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 Server는 두 가지 전송 모드를 지원합니다. 워크플로에 맞는 것을 선택합니다.

옵션 A: HTTP 전송(서버가 별도로 실행됨)

HTTP 모드에서는 터미널에서 장기 실행 프로세스로 DAB를 시작하고 VS Code는 로컬 HTTP 엔드포인트를 통해 DAB에 연결합니다.

VS Code에서 연결하기 전에 별도의 터미널에서 SQL MCP 서버를 시작합니다.

터미널을 열고 실행

dab start --config dab-config.json

이 명령은 SQL MCP 서버를 시작합니다. 시작 후 터미널 출력은 수신 대기 URL을 표시합니다. 이 빠른 시작에서는 MCP 엔드포인트가 http://localhost:5000/mcp라고 가정합니다. 이 터미널을 계속 실행합니다. Visual Studio Code 이 HTTP 엔드포인트에 연결됩니다.

비고

에서 런타임 설정을 dab-config.json 구성하거나 다음과 같은 ASPNETCORE_URLS환경 변수를 설정하여 포트를 사용자 지정할 수 있습니다.

옵션 B: stdio 전송(VS Code에서 프로세스를 관리)

VS Code에서 직접 관리하는 자식 프로세스로 stdio 모드에서 DAB가 시작됩니다. 터미널에서 실행할 필요가 dab start. VS Code는 작업 영역을 열 때 DAB를 자동으로 시작하고 중지합니다.

이 모드는 로컬 개발에 권장됩니다. 관리할 HTTP 포트가 없고 계속 실행할 터미널 프로세스가 없습니다.

비고

전송에는 dab-config.jsonruntime 섹션에 "mcp": { "enabled": true }이 필요합니다. 자세한 내용은 SQL MCP Server에 대한 전송을 참조stdio하세요.

선택한 전송에 대한 VS Code MCP 서버 정의를 구성하려면 4단계 로 건너뜁니다.

4단계: VS Code에서 연결

중요합니다

작업 영역은 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 합니다. 역할 및 전송 옵션에 대한 자세한 내용은 SQL MCP Server에 대한 전송을 참조stdio하세요.