schemagate MCP Server
ashishsinha1602/schemagate
[](https://agentrank-ai.com/tool/ashishsinha1602--schemagate/?utm_source=badge&utm_medium=readme&utm_campaign=agentrank_badge) Text-to-SQL access control: schema selection that gives the LLM only the tables the caller is allowed to read. Row-level-security-aware table pruning for LangChain, MCP and any SQL agent. Postgres, Oracle, MySQL, SQL Server. 75% fewer prompt tokens.
claude mcp add agentrank -- npx -y agentrank-mcp-server Overview
ashishsinha1602/schemagate is a Python tool licensed under Apache-2.0. Text-to-SQL access control: schema selection that gives the LLM only the tables the caller is allowed to read. Row-level-security-aware table pruning for LangChain, MCP and any SQL agent. Postgres, Oracle, MySQL, SQL Server. 75% fewer prompt tokens. Topics: llm, mcp, mcp-server, nl2sql, oracle, postgresql, rag, text2sql, ai-agents, data-engineering, database, mysql, python, sql-server, access-control, langchain, rbac, row-level-security, security, text-to-sql.
Ranked #1019 out of 24846 indexed tools.
In the top 5% of all indexed tools.
Ecosystem
Score Breakdown
102 stars → growing community
Last commit 29d ago → recently updated
7/8 issues closed → responsive maintainer
3 contributors → small team
No dependents → no downstream usage
Weights: Freshness 20% · Issue Health 20% · Dependents 22% · Stars 10% · Contributors 8% · How we score →
How to Improve
Matched Queries
From the README
# schemagate — text-to-SQL access control at schema selection Your text-to-SQL agent picks which tables to show the model before anyone checks what the caller is allowed to read. schemagate does the check first: it filters the schema by the caller's grants, so restricted tables are absent from the prompt rather than ranked low. Works with LangChain, MCP, or any SQL agent, on Postgres, Oracle, MySQL, SQL Server and SQLite. If it keeps a table out of a prompt it should never have reached, a ⭐ helps other people building SQL agents find it. With row-level security alone the failure is quiet: the model writes valid SQL against a table the caller cannot read, RLS strips every row, and the user is told "no records found" — indistinguishable from "this data does not exist." [Demo](https://ashishsinha1602.github.io/schemagate/) · [Install](https://ashishsinha1602.github.io/schemagate/install/) · [Benchmarks](https://ashishsinha1602.github.io/schemagate/benchmarks/) · [Local models](https:/Read full README on GitHub →
Get the weekly AgentRank digest
Top movers, new tools, ecosystem insights — straight to your inbox.