Repository navigation
Releases: milad-codes/pg-readonly-mcp
Releases · milad-codes/pg-readonly-mcp
Release list
v0.1.1
Added
npm run demowith a synthetic shop database (examples/): an MCP client walkthrough that CI also runs
Changed
- README rewritten around the problem, scope, layers and their trade-offs, setup, troubleshooting and limitations;
SECURITY.md states that the database role, not this server, is the security boundary; package description no longer
claims "safe" access
Fixed
describe_tablesent three queries to one client at once; node-postgres 8.23 warns about this and version 9 removes
it. The catalog queries now run one after another
Security
- Functions that run SQL passed as text (
ts_stat,ts_rewrite,crosstab,connectby) could read schemas outside
PG_MCP_SCHEMAS; the guard now rejects them like thequery_to_xmlfamily (#7)
v0.1.0
First feature-complete release.
Added
- SQL guard built on PostgreSQL's own parser (libpg-query): exactly one SELECT, no data-modifying CTEs, SELECT INTO, row locks or dangerous functions, allowlisted schemas (#4)
- Read-only executor:
READ ONLYtransactions that are always rolled back,SET LOCALstatement and lock timeouts andsearch_path, cursor row cap, column masking; catalog queries; query-plan summaries with index hints (#5) - MCP server over stdio with
list_tables,describe_table,run_queryandexplain_query, structured output schemas and read-only annotations; container image; client setup docs (#6)
Verified in CI
Lint, typecheck, unit tests, integration tests against PostgreSQL 16, container build, and an MCP stdio smoke test against the image.