Schemagate
Identity-scoped schema selection for text-to-SQL.
Connector by ashishsinha1602 · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/ashishsinha1602-schemagate
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: database-access, identity-access
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 5 read · 1 write · 0 delete · 2 not yet classified
- Secrets
- 1 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Python package
Tools by what they do 8
Read from the source code; the running server may list different tools.
Read 5 · Look things up without changing anything.
answerdescribe_objecthealthlist_objectsrun_query
Write 1 · Create, change, send or run things.
select_schema
Not yet classified 2 · We could not tell from the name and description.
refresh_catalogsemantic_query
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
SCHEMAGATE_DATABASE_URL
Other settings (environment variables or headers).
SCHEMAGATE_CATALOG_CONFIG
Tools (8)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
answerQuestion in, rows out -- selection, SQL and execution in one call. Only useful when this server has its own model configured (`SCHEMAGATE_MCP_PROVIDER` and `SCHEMAGATE_MCP_MODEL`, key from the usual environment variable). Most MCP clients should not want it: the client *is* a model, and it will write better SQL from `select_schema` than a second one bolted on here. It exists for the agent that has no model of its own. With nothing configured this does not fail -- it returns the selection and says to write the SQL and call `run_query`, which is the same loop with one fewer model in it.
describe_objectFull DDL for one object, if the caller may see it.
healthLiveness and readiness in one call, for people and load balancers.
list_objectsEvery object the caller may see, with kind and column count. Useful for an agent that wants to know what exists before asking. Restricted objects are absent for callers without the role.
refresh_catalogRe-reflect the database and swap the index in, atomically. If the database is unreachable the previous index stays in service and the failure is reported here and in ``health`` -- the server never drops its last good catalog for a bad one.
run_queryRun one read-only SELECT and return the rows. This is the half that was missing. `select_schema` hands back the DDL and the client's own model writes the SQL -- and then there was nothing to execute it with, so the answer stopped at "here is the query you could run". No API key is involved: the model that wrote the SQL is the one already talking to you. Three things are checked before the database sees it. It must be a single statement; it must be a read (`check_read_only`, which refuses writes and anything hiding a second statement in a comment or a literal); and every table it names must b…
select_schemaPick the tables and views a question needs, scoped to the caller. Returns the compact DDL to put in the SQL-writing prompt, the object names, and a per-object explanation. Objects the caller may not read are absent -- not hidden, absent -- so the model cannot write SQL against them.
semantic_queryRun a query, then ask the server's model about a text column of its rows. For questions SQL cannot answer from structure alone -- "which complaints are about a refund" when no column says so. Give exactly one of ``criterion`` (keep the rows whose text meets it) or ``extract`` (add a short answer per row). The query goes through `run_query` first, scope check included, so the model only ever sees rows this caller may read. Off unless the server runs with ``SCHEMAGATE_MCP_SEMANTIC=1``: it sends the text of those rows to the model provider.
Compare and alternatives
Featured in
Signals
- Stars
- 132
- Forks
- 2
- Open issues
- 0
- Weekly downloads
- 1,238
- Last commit
- Oct 24, 2026 (4 days ago)
- Last release
- Oct 24, 2026 (4 days ago)
- Last package publish
- Oct 20, 2026 (8 days ago)
From GitHub (fetched Oct 24, 2026) and the package registry.
Details
- Registry name
io.github.ashishsinha1602/schemagate- Version
- 1.11.1
- Auth
- API key
- Packages
- pypi schemagate
- License
- Apache-2.0
- Repository
- github.com/ashishsinha1602/schemagate
- First seen
- Oct 24, 2026
- Last checked
- Oct 25, 2026
Cite this page
Schemagate MCP server. Agent Mart. https://agentmart.dev/connectors/ashishsinha1602-schemagate (last updated 2026-10-25)