MCP

SQLite MCP: 먼저 테스트 DB를 읽기 전용으로 살핀 뒤 쓸지 결정하기

로컬 SQLite에서 조회하거나 insight memo를 쓰려는 사람에게 맞다. 첫 시도는 버릴 수 있는 --db-path로 읽기 전용 탐색만 하고 write_query를 먼저 호출하지 마라.

Official source · modelcontextprotocol/server-sqlite

Install

uv --directory parent_of_servers_repo/servers/src/sqlite run mcp-server-sqlite --db-path ~/test.db

누구에게 맞나

로컬 SQLite 파일에서 SQL을 돌리고 업무 데이터를 보며 insight memo를 남기려는 사람에게 맞다. 증거는 다음을 명시한다: 이 MCP는 SQLite로 데이터베이스 상호작용과 비즈니스 인텔리전스를 제공하며 SQL 실행, 업무 데이터 분석, 상업 통찰 memo 자동 생성이 가능하다.

--db-path가 가리키는 SQLite 파일을 제공할 수 있어야 하며, 프로세스가 그 파일을 읽고 심지어 바꿀 수 있음을 받아들여야 한다. 공식 예는 ~/test.db다. 프로덕션 DB를 첫 시도에 쓰지 마라.

페이지는 servers-archived에 있다. 증거는 유지보수 상태나 클라이언트 목록을 따로 쓰지 않으며, 범위는 그 디렉터리에서 uv로 mcp-server-sqlite를 실행할 수 있는 경우까지다.

3분 만에 첫 시도 마치기

uv 주 경로를 쓰고 Docker를 주 설치로 쓰지 마라. 클라이언트에서 설정한다:

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

--directory는 이 기기의 실제 경로로, --db-path는 버릴 수 있는 테스트 DB로 바꾼다.

전제 조건: uv가 설치되어 있다. 테스트 DB를 만들거나 열 권한이 있다. 이것은 로컬 파일에 접근한다. 로컬 읽기가 없는 샌드박스가 아니다.

설정 위치: 클라이언트 MCP의 command / args.

저위험 첫 호출: 먼저 테이블을 바꾸지 않는 탐색을 한다. 신원 설명의 「SQL 질의 실행 / 업무 데이터 분석」으로 테스트 DB의 기존 내용을 보거나, 리소스 memo://insights만 읽는다. 증거는 핵심 도구가 여섯 개라고 하지만 그 locator는 읽기 전용 도구 이름과 매개변수를 나열하지 않는다. 완전히 펼쳐진 write_query를 먼저 호출하지 마라. INSERT, UPDATE 또는 DELETE를 실행하고 { affected_rows: number }를 반환한다. memo를 바꾸는 append-insight도 먼저 돌리지 마라.

성공 신호: 서버가 뜬 뒤 테스트 DB에서 질의 결과를 얻거나 memo://insights의 현재 내용을 읽는다. 프로세스가 안 뜨면 먼저 uv와 디렉터리를 확인하고 Docker로 바꾸지 마라.

사용 사례

사례 1: 테스트 DB에서 업무 데이터를 한 번 본다. 신원 증거에 따라 SQL 질의 또는 분석을 실행한다. 여섯 도구의 읽기 전용 서명은 locator에서 펼쳐지지 않았으므로 「--db-path가 가리키는 DB를 질의/분석할 수 있다」는 층까지 하고, 도구 이름이나 필터 매개변수를 지어내지 마라.

사례 2: insight memo를 읽고 추가할지 결정한다. 리소스 memo://insights는 분석 중 발견한 insights를 계속 모으고 append-insight가 돌 때 자동 갱신된다. 먼저 그 리소스를 읽는다. 추가는 memo를 바꾼다. 증거에 undo가 없고 매개변수도 없다. memo가 고쳐지는 것을 받아들이고 확인 지점을 지난 뒤에만 호출한다. write_query가 바꾸는 것은 테이블 데이터로 memo와는 다른 부작용이다. 이 사례에서는 쓰지 마라.

사용 경계

주 경로는 uv run mcp-server-sqlite --db-path <file>다. Docker 예는 docker run --rm -i -v mcp-test:/mcp mcp/sqlite --db-path /mcp/test.db이며 주 경로로 쓰지 마라. write_query는 행을 바꾸고 공식 되돌리기가 없다. append-insight는 memo://insights를 갱신한다. 여섯 도구 중 write_query와 append-insight를 제외하면 이름과 매개변수가 대부분 locator에서 펼쳐지지 않았다. 로컬 파일 접근과 DB 쓰기는 제로 위험이 아니다. 증거는 백업, 트랜잭션 롤백, 보관 후 대체를 쓰지 않는다.