Skip to main content
공개 노트

datasette-mcp 0.2, AI가 SQL 결과를 더 쉽게 다루게 됐다

Views 17약 3분생성형 AI 활용
Summary

datasette-mcp 0.2: AI의 Datasette 조회 결과가 더 명확해졌다

datasette-mcp는 Datasette 인스턴스에 MCP 서버를 추가해 AI 클라이언트가 데이터베이스를 조회할 수 있게 하는 플러그인이다. MCP는 AI 클라이언트가 외부 데이터와 기능을 일관된 방식으로 호출하기 위한 규격이다.

첫 비알파 릴리스인 0.2의 핵심 변화는 execute_sql의 결과 형식이다. 버전 번호는 작지만, 기존 연동 코드의 호환성에 직접 영향을 주는 변경이다.1

Datasette에 읽기 전용 MCP 서버 추가하기

Datasette와 동일한 환경에서 다음 명령으로 플러그인을 설치할 수 있다.

datasette install datasette-mcp

설치하면 Datasette 인스턴스에 Streamable HTTP 방식의 /-/mcp 엔드포인트가 추가된다. 로컬 기본 접속 예시는 http://localhost:8001/-/mcp다.2

기본 MCP 서버는 세 가지 읽기 전용 도구를 제공한다.

  • list_databases: 현재 Datasette 액터가 볼 수 있는 데이터베이스를 나열한다.

  • get_database_schema: 테이블·인덱스·뷰·트리거를 포함한 전체 SQL 스키마를 반환한다.

  • execute_sql: 읽기 전용 SQL 문 하나를 실행한다.2

따라서 AI 클라이언트는 사용 가능한 데이터베이스를 확인하고, 스키마를 파악한 뒤, 필요한 SQL을 실행하는 순서로 데이터를 탐색할 수 있다.

rows가 객체 배열로 변경된 이유

0.2부터 execute_sql의 rows는 배열의 배열이 아니라 객체 배열로 반환된다.1 각 값이 열 이름과 직접 연결되므로, 클라이언트가 별도의 열 목록과 배열 위치를 대조하는 작업이 줄어든다.

반면 이전 응답 형식을 기준으로 작성한 파서는 수정해야 한다. 특히 다음과 같은 코드가 영향을 받을 수 있다.

  • 행의 값을 숫자 인덱스로 읽는 코드

  • 별도의 열 목록과 각 행의 위치를 조합하는 코드

  • rows가 중첩 배열이라고 가정한 검증 로직

execute_sql 응답에는 구조화된 열 정보와 결과가 잘렸는지를 나타내는 표시도 포함된다.2 Datasette는 기본적으로 한 번에 최대 1,000행을 반환하므로, 클라이언트는 잘림 여부를 확인해 일부 결과를 전체 데이터로 오해하지 않아야 한다.3

업그레이드 전 확인할 사항

datasette-mcp 0.2를 적용할 때는 다음 항목을 점검하는 것이 좋다.

  1. mcp 2.1.1 이상을 사용하고 있는지 확인한다.1

  2. 기존 execute_sql 코드가 rows를 중첩 배열로 처리하는지 확인한다.

  3. 객체 배열 형식에 맞게 파싱과 검증 로직을 수정한다.

  4. Datasette의 execute-sql 권한과 데이터베이스 공개 범위를 점검한다.

  5. 결과 잘림 표시와 반환 행 제한을 처리한다.

datasette-mcp 0.2의 의미는 새로운 도구의 추가보다 응답 구조의 개선에 있다. 열과 값의 관계가 명확해지면서 AI 클라이언트가 SQL 결과를 처리하기 쉬워졌지만, 기존 사용자는 rows 형식 변경에 맞춰 연동 코드를 업데이트해야 한다.

1datasette-mcp 0.2

2GitHub - datasette/datasette-mcp

3Settings - Datasette documentation

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기