MCP 문서 관리

메뉴

MSSQL

MSSQL

MSSQL MCP 서버는 Microsoft SQL Server 데이터베이스와의 안전하고 구조화된 상호작용을 제공하는 Model Context Protocol(MCP) 서버입니다. 이 서버를 통해 AI 어시스턴트가 데이터베이스 테이블 목록 조회, 데이터 읽기 및 SQL 쿼리 실행과 같은 작업을 수행할 수 있습니다. 여러 구현체가 있으며, 주요 구현체로는 JexinSam의 mssql_mcp_server, RichardHan의 mssql_mcp_server, amornpan의 MSSQL-Python 등이 있습니다.

특징

  • Microsoft SQL Server 데이터베이스에 대한 안전한 접근 제공
  • 구성 가능한 접근 제어 및 스키마 검사 기능
  • 테이블 목록 조회 및 데이터 읽기 기능
  • SQL 쿼리 실행 기능
  • 포괄적인 오류 처리 및 로깅 기능
  • 최소 권한 원칙을 따르는 보안 설계
  • Claude Desktop 및 기타 MCP 클라이언트와 통합 가능

주요 구현체

JexinSam의 mssql_mcp_server

Python으로 구현된 이 서버는 안전한 MSSQL 데이터베이스 접근과 엄격한 권한 적용을 제공합니다.

RichardHan의 mssql_mcp_server

이 구현체는 FreeTDS와 같은 필요한 시스템 종속성을 자동으로 설치하며, 안전한 데이터베이스 상호작용에 중점을 둡니다.

amornpan의 MSSQL-Python

읽기 전용의 Python 구현체로, 강화된 보안 기능, 구성 가능한 접근 제어 및 스키마 검사 기능을 제공합니다. Python 생태계를 통한 안전한 데이터베이스 상호작용에 중점을 둡니다.

daobataotie의 MSSQL-MCP

공식 SQLite MCP를 MSSQL에 맞게 수정한 구현체입니다.

제공 도구

MSSQL MCP 서버는 다음과 같은 도구를 제공합니다:

데이터베이스 쿼리 및 조작

  • execute_query: SQL 쿼리 실행
  • 필수 매개변수: SQL 쿼리 문자열
  • 선택적 매개변수: 쿼리 파라미터
  • 반환: 쿼리 결과

  • list_tables: 데이터베이스의 모든 테이블 목록 조회

  • 필수 매개변수 없음
  • 반환: 테이블 목록

  • describe_table: 특정 테이블의 스키마 설명

  • 필수 매개변수: 테이블 이름
  • 반환: 테이블 스키마 정보

설치 및 구성 방법

JexinSam의 mssql_mcp_server

pip를 사용하여 설치:

pip install mssql-mcp-server

필요한 환경 변수 설정:

MSSQL_DRIVER=mssql_driver
MSSQL_HOST=localhost
MSSQL_USER=your_username
MSSQL_PASSWORD=your_password
MSSQL_DATABASE=your_database

선택적 환경 변수:

TrustServerCertificate=yes
Trusted_Connection=no

RichardHan의 mssql_mcp_server

GitHub에서 클론:

git clone https://github.com/RichardHan/mssql_mcp_server.git
cd mssql_mcp_server

가상 환경 설정:

python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

의존성 설치:

pip install -r requirements.txt

amornpan의 py-mcp-mssql

GitHub에서 클론:

git clone https://github.com/amornpan/py-mcp-mssql.git
cd py-mcp-mssql

의존성 설치:

pip install -r requirements.txt

Claude Desktop 구성

Claude Desktop의 구성 파일에 다음과 같이 추가합니다:

{
  "mcpServers": {
    "mssql": {
      "command": "uv",
      "args": [
        "--directory",
        "path/to/mssql_mcp_server",
        "run",
        "mssql_mcp_server"
      ],
      "env": {
        "MSSQL_DRIVER": "mssql_driver",
        "MSSQL_HOST": "localhost",
        "MSSQL_USER": "your_username",
        "MSSQL_PASSWORD": "your_password",
        "MSSQL_DATABASE": "your_database"
      }
    }
  }
}

또는 amornpan의 구현체를 사용할 경우:

{
  "mcpServers": {
    "mssql": {
      "command": "python",
      "args": [
        "server.py"
      ],
      "env": {
        "MSSQL_SERVER": "your_server",
        "MSSQL_DATABASE": "your_database",
        "MSSQL_USER": "your_username",
        "MSSQL_PASSWORD": "your_password",
        "MSSQL_DRIVER": "{ODBC Driver 17 for SQL Server}"
      }
    }
  }
}

환경 변수 설정

다음 환경 변수를 사용하여 MSSQL 서버를 구성할 수 있습니다:

  • MSSQL_DRIVER / MSSQL_SERVER: MSSQL 드라이버 또는 서버 이름
  • MSSQL_HOST: MSSQL 서버 호스트 (기본값: localhost)
  • MSSQL_USER: 데이터베이스 사용자 이름
  • MSSQL_PASSWORD: 데이터베이스 비밀번호
  • MSSQL_DATABASE: 접근할 데이터베이스 이름

선택적 환경 변수: - TrustServerCertificate: SSL 인증서 검증 여부 (yes/no) - Trusted_Connection: Windows 인증 사용 여부 (yes/no)

보안 고려사항

MSSQL MCP 서버를 안전하게 사용하기 위한 몇 가지 중요한 보안 고려사항은 다음과 같습니다:

  1. 최소 권한 사용자 계정 사용: 최소한의 권한을 가진 전용 MSSQL 사용자를 생성하여 사용합니다.

  2. 루트 자격 증명 금지: 관리자 계정(sa) 또는 완전한 관리 권한이 있는 계정을 사용하지 않습니다.

  3. 필요한 작업으로 데이터베이스 접근 제한: 필요한 테이블과 작업에만 접근 권한을 부여합니다.

  4. 자격 증명 하드코딩 방지: 환경 변수를 사용하여 자격 증명을 관리합니다.

  5. SQL Server 로깅 및 모니터링 활성화: 감사를 위해 로깅과 모니터링을 활성화합니다.

  6. 정기적인 접근 권한 검토: 무단 접근을 방지하기 위해 데이터베이스 접근 권한을 정기적으로 검토합니다.

디버깅

MCP 서버는 stdio를 통해 실행되므로 디버깅이 어려울 수 있습니다. 디버깅을 위해 MCP Inspector를 사용하는 것이 좋습니다.

npx @modelcontextprotocol/inspector python -m mssql_mcp_server

VS Code에서 사용하기

VS Code에서 MSSQL MCP 서버를 사용하려면:

  1. .vscode/mcp.json 파일을 생성하거나 편집합니다.
  2. 다음 구성을 추가합니다:
{
  "servers": {
    "mssql": {
      "type": "stdio",
      "command": "python",
      "args": ["-m", "mssql_mcp_server"],
      "env": {
        "MSSQL_DRIVER": "mssql_driver",
        "MSSQL_HOST": "localhost",
        "MSSQL_USER": "your_username",
        "MSSQL_PASSWORD": "your_password",
        "MSSQL_DATABASE": "your_database"
      }
    }
  }
}
  1. 명령 팔레트(Ctrl+Shift+P 또는 Mac에서 Cmd+Shift+P)를 열고 "MCP: Start Server" 명령을 실행하여 목록에서 "mssql"을 선택합니다.
  2. VS Code에서 에이전트 모드로 전환하여 MSSQL MCP 서버를 사용할 수 있습니다.

라이선스

대부분의 MSSQL MCP 서버 구현체는 MIT 라이선스 하에 제공됩니다.

연결된 구성 요소