{"id":"dgdev91-java-mcp-sql-server","name":"java-mcp-sql-server","af_score":51.0,"security_score":31.8,"reliability_score":23.8,"what_it_does":"Provides an MCP server (Java 21+) that connects to relational databases via JDBC and exposes tools to list schemas/tables, inspect table structure, query table data, and execute custom SQL (optionally restricted to SELECT). Supports stdio (local launch) and HTTP/SSE (remote connection) modes.","best_when":"You control the database credentials, run locally (stdio) or within a trusted network (HTTP/SSE), and mostly need read/inspection SQL capabilities for development or controlled internal use.","avoid_when":"You need internet-exposed remote access, fine-grained per-user permissions, or strong reliability guarantees without additional operational hardening; also avoid when you cannot enforce SELECT-only (or can’t constrain downstream SQL execution).","last_evaluated":"2026-04-04T20:01:08.622440+00:00","has_mcp":true,"has_api":false,"auth_methods":["Environment-variable DB credentials (JMCP_DB_USERNAME, JMCP_DB_PASSWORD) for database login"],"has_free_tier":false,"known_gotchas":["Potentially dangerous capability: execute_query can run non-SELECT statements when JMCP_QUERY_SELECT_ONLY=false; agents may attempt writes if tool usage is not constrained.","HTTP/SSE mode implies remote network access; without documented MCP-layer auth, ensure you run behind a firewall/reverse proxy with access control.","Credential handling is via environment variables; agents or operators must ensure secrets are not leaked through logs or misconfiguration."],"error_quality":0.0}