Skip to content
Agentmart
Submit a tool

Schemagate

Identity-scoped schema selection for text-to-SQL.

Connector by ashishsinha1602 · GitHub account verified by the MCP Registry

IndexedApache-2.0Local (stdio)★ 132
Write a review

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.

We use your email only for this newsletter. Privacy

About

Identity-scoped schema selection for text-to-SQL. Returns only the tables the caller may read.

Use cases: database-access, identity-access

No 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.

  • answer
  • describe_object
  • health
  • list_objects
  • run_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_catalog
  • semantic_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+…].

  • answer

    Question 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_object

    Full DDL for one object, if the caller may see it.

  • health

    Liveness and readiness in one call, for people and load balancers.

  • list_objects

    Every 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_catalog

    Re-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_query

    Run 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_schema

    Pick 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_query

    Run 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
    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)