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를 적용할 때는 다음 항목을 점검하는 것이 좋다.
mcp2.1.1 이상을 사용하고 있는지 확인한다.1기존
execute_sql코드가rows를 중첩 배열로 처리하는지 확인한다.객체 배열 형식에 맞게 파싱과 검증 로직을 수정한다.
Datasette의
execute-sql권한과 데이터베이스 공개 범위를 점검한다.결과 잘림 표시와 반환 행 제한을 처리한다.
datasette-mcp 0.2의 의미는 새로운 도구의 추가보다 응답 구조의 개선에 있다. 열과 값의 관계가 명확해지면서 AI 클라이언트가 SQL 결과를 처리하기 쉬워졌지만, 기존 사용자는 rows 형식 변경에 맞춰 연동 코드를 업데이트해야 한다.
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.
