Claude 에이전트에게 DROP 권한 없이 실시간 데이터베이스 접근 권한을 부여하는 오픈소스 MCP 서버
Plugging Claude agents into a real database without giving them DROP rights — open source MCP server
핵심 요약
Claude 에이전트가 안전하게 프로덕션 데이터베이스를 쿼리할 수 있도록 돕는 보안 레이어인 QueryShield를 소개합니다.
- 보안 레이어 — Claude 에이전트의 SQL 접근을 제어하고 AST 수준에서 쿼리를 검증함
- MCP 서버 — stdio 및 HTTP를 지원하며 PyPI를 통해 배포되는 오픈소스 도구임
- 데이터 보호 — 행 단위 보안 및 감사 로그를 제공하며 연결 문자열을 암호화함
- LangGraph 통합 — MultiServerMCPClient를 사용하여 한 줄의 코드로 간편하게 연동 가능함
혹시 저처럼 LangChain이나 LangGraph 에이전트로 프로덕션 데이터를 쿼리하려다 에이전트가 전체 SQL 접근 권한을 갖게 되는 문제로 고민하시는 분들을 위해 공유합니다.
QueryShield는 제가 만든 보안 레이어입니다. MCP 서버(stdio + HTTP)이며 MIT 라이선스를 따르고, PyPI에 queryshield-mcp로 등록되어 있습니다. 에이전트가 호출하는 세 가지 도구를 제공하며, 내부적으로는 Claude를 통한 NL→SQL 변환, AST 수준의 검증(키워드 필터링이 아닌 sqlglot 사용), 에이전트별 행 단위 보안, 그리고 감사 로그 기능을 수행합니다. 연결 문자열은 볼트(vault) 내에 암호화된 상태로 유지됩니다.
LangGraph 통합은 MultiServerMCPClient 설정이 되어 있다면 한 줄이면 충분합니다. X-API-Key 인증을 사용하여 스트리밍 가능한 HTTP 엔드포인트를 지정하기만 하면 됩니다.
queryshield.dev에서 호스팅 서비스를 제공하며(스타터 플랜 월 500달러: DB 3개, 쿼리 100만 건; 프로/엔터프라이즈는 규모에 따라 확장), 저장소는 https://github.com/bch1212/queryshield 입니다. 직접 인프라에 연결하고 싶다면 MCP 서버를 무료로 셀프 호스팅할 수 있습니다.


