Summary
Read-only by construction, which is what makes pointing it at production reasonable.
Only SELECT is permitted, so the worst outcome is a slow query rather than a changed row. The relationship and JOIN-suggestion tools do the work that usually costs several failed attempts against an unfamiliar schema, and the environment argument keeps staging and production in the same conversation.
What it is
A PostgreSQL server built on the Kotlin MCP SDK, with read-only query execution, schema and relationship discovery, and HikariCP connection pooling.
What you get
- SELECT queries executed and returned in table format; anything else is refused (postgres_query)
- Every table in the database (postgres_list_tables)
- A table's columns with data types, constraints and relationship indicators (postgres_get_table_schema)
- Primary keys, foreign keys, what references a table, and its unique constraints (postgres_get_relationships)
- JOIN conditions and example queries suggested from those relationships (postgres_suggest_joins)
- Database name, version, driver and connection details (postgres_get_database_info), plus pool status and health metrics (postgres_connection_stats)
- An environment argument on most tools, choosing staging, release or production
Requirements
Java 17 or higher, PostgreSQL, and a database.properties file describing the connections.
