MCP 문서 관리

메뉴

문서 정보

최종 수정일:
2025-05-12 15:12

SQLite MCP 서버

SQLite MCP 서버

SQLite MCP 서버는 SQLite를 통해 데이터베이스 상호 작용 및 비즈니스 인텔리전스 기능을 제공하는 Model Context Protocol(MCP) 서버 구현입니다. 이 서버를 통해 SQL 쿼리 실행, 비즈니스 데이터 분석, 비즈니스 인사이트 메모 자동 생성 등이 가능합니다.

주요 기능

SQL 쿼리 실행

  • SELECT 쿼리를 통한 데이터 읽기
  • INSERT, UPDATE, DELETE 쿼리를 통한 데이터 수정
  • 데이터베이스 테이블 생성 및 관리

스키마 관리

  • 데이터베이스의 모든 테이블 목록 조회
  • 특정 테이블의 스키마 정보 확인
  • 열 이름 및 데이터 유형 포함한 상세 정보

비즈니스 인텔리전스

  • 데이터 분석을 통한 비즈니스 인사이트 발견
  • 발견된 인사이트를 자동으로 메모에 추가
  • 지속적으로 업데이트되는 비즈니스 인사이트 메모

리소스

이 서버는 단일 동적 리소스를 제공합니다:

memo://insights

  • 분석 중에 발견된 인사이트를 집계하는 지속적으로 업데이트되는 비즈니스 인사이트 메모
  • append-insight 도구를 통해 새로운 인사이트가 발견되면 자동으로 업데이트됨

프롬프트

서버는 다음과 같은 데모 프롬프트를 제공합니다:

mcp-demo

데이터베이스 작업을 안내하는 대화형 프롬프트

필수 인자: - topic: 분석할 비즈니스 도메인

이 프롬프트는 다음과 같은 기능을 제공합니다: - 적절한 데이터베이스 스키마 및 샘플 데이터 생성 - 분석 및 인사이트 생성을 통한 사용자 안내 - 비즈니스 인사이트 메모와 통합

도구

서버는 다음과 같은 6가지 핵심 도구를 제공합니다:

쿼리 도구

read_query

데이터베이스에서 데이터를 읽기 위해 SELECT 쿼리를 실행합니다.

입력 매개변수: - query (string): 실행할 SELECT SQL 쿼리

반환 값: 객체 배열로 쿼리 결과 반환

write_query

INSERT, UPDATE 또는 DELETE 쿼리를 실행합니다.

입력 매개변수: - query (string): 실행할 SQL 수정 쿼리

반환 값: { affected_rows: number }

create_table

데이터베이스에 새 테이블을 생성합니다.

입력 매개변수: - query (string): CREATE TABLE SQL 문

반환 값: 테이블 생성 확인

스키마 도구

list_tables

데이터베이스의 모든 테이블 목록을 가져옵니다.

입력 매개변수: 없음

반환 값: 테이블 이름 배열

describe-table

특정 테이블의 스키마 정보를 확인합니다.

입력 매개변수: - table_name (string): 설명할 테이블 이름

반환 값: 이름과, 유형을 포함한 열 정의 배열

분석 도구

append_insight

메모 리소스에 새 비즈니스 인사이트를 추가합니다.

입력 매개변수: - insight (string): 데이터 분석에서 발견된 비즈니스 인사이트

반환 값: 인사이트 추가 확인

특징: memo://insights 리소스 업데이트를 트리거함

구성 방법

Claude Desktop에서 사용하기

uv 사용

{
  "mcpServers": {
    "sqlite": {
      "command": "uv",
      "args": [
        "--directory",
        "parent_of_servers_repo/servers/src/sqlite",
        "run",
        "mcp-server-sqlite",
        "--db-path",
        "~/test.db"
      ]
    }
  }
}

Docker 사용

{
  "mcpServers": {
    "sqlite": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-v",
        "mcp-test:/mcp",
        "mcp/sqlite",
        "--db-path",
        "/mcp/test.db"
      ]
    }
  }
}

VS Code에서 사용하기

VS Code의 사용자 설정(JSON) 파일에 다음을 추가하세요:

uv 사용

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "db_path",
        "description": "SQLite Database Path",
        "default": "${workspaceFolder}/db.sqlite"
      }
    ],
    "servers": {
      "sqlite": {
        "command": "uvx",
        "args": [
          "mcp-server-sqlite",
          "--db-path",
          "${input:db_path}"
        ]
      }
    }
  }
}

Docker 사용

{
  "mcp": {
    "inputs": [
      {
        "type": "promptString",
        "id": "db_path",
        "description": "SQLite Database Path (within container)",
        "default": "/mcp/db.sqlite"
      }
    ],
    "servers": {
      "sqlite": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-v",
          "mcp-sqlite:/mcp",
          "mcp/sqlite",
          "--db-path",
          "${input:db_path}"
        ]
      }
    }
  }
}

사용 사례

  • 데이터 분석: SQL 쿼리를 통한 데이터 탐색 및 분석
  • 비즈니스 인텔리전스: 데이터에서 유용한 비즈니스 인사이트 추출
  • 보고서 생성: 데이터 기반 보고서 및 인사이트 메모 자동 생성
  • 데이터베이스 관리: 경량 데이터베이스 테이블 생성 및 관리
  • 프로토타이핑: 비즈니스 분석 솔루션의 빠른 프로토타이핑

빌드 방법

Docker:

docker build -t mcp/sqlite .

MCP 인스펙터로 테스트:

uv add "mcp[cli]"
mcp dev src/mcp_server_sqlite/server.py:wrapper

라이센스

이 MCP 서버는 MIT 라이센스에 따라 라이센스가 부여됩니다. 이는 MIT 라이센스의 이용 약관에 따라 소프트웨어를 자유롭게 사용, 수정 및 배포할 수 있음을 의미합니다.

관련 링크