hs-sql-agent는 통제된 SQL 접근을 제공하는 HTTP MCP Server입니다. MCP Client를 PostgreSQL, MySQL, SQL Server, Oracle, SQLite, Firebird에 연결하면서 인증, 접근 Policy, SQL 검증, DML 승인, 데이터베이스 실행은 서버 측에 유지합니다.
모델이 생성한 SQL은 신뢰하지 않는 입력으로 취급합니다. 모델은 SQL을 제안할 수 있지만 권한, 지원되는 의미론, 안전한 실행 여부는 서버가 결정합니다.
세 가지 사용 방식
독립 배포
hs-sql-agent를 독립 서비스로 실행하려면 공식 Docker 이미지 또는 repository의 Compose 구성을 사용합니다. 완전한 공식 제품 구성을 가장 빠르게 시작하는 방식입니다.
완전한 제품 임베드
.NET 애플리케이션에 공식 Docker 이미지와 동일한 표준 공식 구성과 설정 계약을 넣으려면 HsSqlAgent.Hosting을 사용합니다.
맞춤 통합 구성
기존 ASP.NET Core 애플리케이션이 인증, 권한 부여, Middleware 순서, Frontend, Telemetry 또는 승인 Provider 구성을 직접 소유해야 하면 HsSqlAgent.Server를 사용합니다. AddHsSqlAgentCore()에서 시작해 필요한 Capability만 추가합니다.
보안 경계
Query는 Parse, Bind, 권한 확인, Policy 검증, Capability 검증, Provider-specific Compile, 실행을 거칩니다. 지원하지 않는 구문이나 의미론은 fail closed로 거부되며 원시 SQL을 Database Provider에 직접 전달하는 경로로 우회하지 않습니다.
DML은 별도의 고위험 경로입니다. execute_dml_sql은 세미콜론으로 구분한 하나 이상의 지원 DML을 받을 수 있지만, 서버가 소유하는 승인 Evidence, 재검증, 원자적 Transaction 실행을 반드시 거칩니다.
승인 adapter는 Database Connection, Transaction, 검증된 실행 Plan, commit primitive를 받지 않습니다. 실제 실행 권한은 hs-sql-agent에 남습니다.