Skip to content
Discussion options

You must be logged in to vote

This was a deliberate design decision — the MCP was built to avoid tool proliferation by providing execute_sql as a universal escape hatch.

The core philosophy: RLS policies, triggers, and functions are all queryable through standard PostgreSQL system catalogs, so adding dedicated MCP tools would create 20+ specialized tools that each do one thing. The team chose depth (SQL power) over breadth (tool per operation).

How to access each via execute_sql today:

RLS policies:

SELECT schemaname, tablename, policyname, permissive, roles, cmd, qual, with_check
FROM pg_policies
WHERE schemaname = 'public'
ORDER BY tablename, policyname;

Triggers:

SELECT trigger_name, event_manipulation, event_objec…

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by hasithasandunlakshan
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants