{"id":"mgorunuch-postgres-mcp-server","name":"postgres-mcp-server","homepage":null,"repo_url":"https://github.com/mgorunuch/postgres-mcp-server","category":"infrastructure","subcategories":[],"tags":["mcp","postgres","database","agent-integration","go","claude","security-safety"],"what_it_does":"PostgreSQL MCP server that enables an MCP client (e.g., Claude Code) to query a PostgreSQL database using the MCP protocol. It can be run directly or configured via a generated JSON MCP config, and it blocks potentially destructive SQL statements by default unless explicitly marked unsafe.","use_cases":["Natural-language querying of PostgreSQL data via an MCP-capable agent","Lightweight SQL assistance for analytics/lookup tasks (SELECTs)","Interactive database exploration in an agent workflow (read-only by default)"],"not_for":["Running untrusted agent workflows without additional safeguards","Production systems requiring fine-grained DB role/permission scoping per agent action (not described)","Handling very large result sets without pagination guidance","Compliance regimes requiring explicit audit logs/traceability (not described)"],"best_when":"You want an MCP integration for a single Postgres connection and primarily read-only query workloads, with the agent constrained from destructive operations by default.","avoid_when":"You cannot provide a secure PostgreSQL connection/credentials (least-privilege), or you need strong guarantees around query approval, auditing, pagination, and operational resilience that are not documented here.","alternatives":["PostgreSQL-native tools via a generic MCP connector (if available)","Direct SQL execution using a database integration with explicit allowlists and parameterization","Other community PostgreSQL MCP servers (if they provide clearer docs and stronger safety features)","Using an API layer (REST/GraphQL) in front of Postgres to enforce query policies"],"af_score":47.5,"security_score":39.8,"reliability_score":21.2,"package_type":"mcp_server","discovery_source":["github"],"priority":"low","status":"evaluated","version_evaluated":null,"last_evaluated":"2026-04-04T21:21:56.818728+00:00","interface":{"has_rest_api":false,"has_graphql":false,"has_grpc":false,"has_mcp_server":true,"mcp_server_url":null,"has_sdk":false,"sdk_languages":[],"openapi_spec_url":null,"webhooks":false},"auth":{"methods":["PostgreSQL connection string provided via --connection-string or POSTGRES_CONNECTION_STRING env var"],"oauth":false,"scopes":false,"notes":"No separate agent-auth mechanism is described; access appears to be controlled by the PostgreSQL credentials embedded in the connection string used by the MCP server process."},"pricing":{"model":null,"free_tier_exists":false,"free_tier_limits":null,"paid_tiers":[],"requires_credit_card":false,"estimated_workload_costs":null,"notes":"Pricing not described (repo metadata indicates MIT license; distribution channel includes Homebrew)."},"requirements":{"requires_signup":false,"requires_credit_card":false,"domain_verification":false,"data_residency":[],"compliance":[],"min_contract":null},"agent_readiness":{"af_score":47.5,"security_score":39.8,"reliability_score":21.2,"mcp_server_quality":62.0,"documentation_accuracy":55.0,"error_message_quality":0.0,"error_message_notes":null,"auth_complexity":90.0,"rate_limit_clarity":0.0,"tls_enforcement":40.0,"auth_strength":45.0,"scope_granularity":20.0,"dependency_hygiene":30.0,"secret_handling":60.0,"security_notes":"Safety feature: potentially destructive SQL statements are blocked by default unless an explicit unsafe: true flag is set when using the pg_query tool. However, the documentation does not describe TLS enforcement requirements, least-privilege DB role guidance, auditing, query logging/redaction, parameterization, or rate limiting. Credentials are provided via connection string/environment variables; ensure they are not logged and that the Postgres user has minimal permissions.","uptime_documented":0.0,"version_stability":35.0,"breaking_changes_history":30.0,"error_recovery":20.0,"idempotency_support":"false","idempotency_notes":"Not documented; operations likely execute queries directly, so idempotency depends on the SQL being run.","pagination_style":"none","retry_guidance_documented":false,"known_agent_gotchas":["Destructive statements (DROP/TRUNCATE/DELETE/UPDATE/ALTER/CREATE/INSERT) are blocked by default; agents may need to avoid or explicitly set unsafe behavior (described as unsafe: true) if they truly require writes.","The safety model depends on the server/pg_query tool behavior and the agent adhering to the documented unsafe flag; otherwise write attempts may fail.","Large result sets may be returned without explicit pagination controls (not described)."]}}