Schemagate MCP Server

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.

People who work with nl2sql, oracle and postgresql and want it reachable from Claude, Cursor, VS Code, or another MCP client. The project is written in Python.

VERIFIED ACTIVE

LAST COMMIT 2026-09-26 · ★ 7 · #27 OF 174 MAINTAINED DATABASE · VERIFIED 2026-09-30

Apache-2.0 · Python servers · how we verify → /methodology

01 · Install Schemagate

before you install - you'll need

Set SCHEMAGATE_POSTGRES_URL, SCHEMAGATE_ORACLE_URL, SCHEMAGATE_MSSQL_URL, SCHEMAGATE_MYSQL_URL, SCHEMAGATE_DATABASE_URL before connecting.

Claude Code

claude mcp add ashishsinha1602-schemagate -- uvx schemagate

Claude Desktop / Cursor / VS Code - add to config

{
  "mcpServers": {
    "ashishsinha1602-schemagate": {
      "command": "uvx",
      "args": [
        "schemagate"
      ]
    }
  }
}

Same JSON for Cursor. For VS Code, rename the top-level key from `mcpServers` to `servers`.

Using another client? Same JSON, different key

Claude Desktop · mcpServers

Cursor · mcpServers

VS Code · servers

Windsurf · mcpServers

Zed · context_servers

Cline · mcpServers

Roo Code · mcpServers

Continue · mcpServers

LibreChat · mcpServers

Gemini CLI · mcpServers

Codex CLI · mcp_servers

Full setup guides: every client.

02 · Evidence

Security posture

What to check before giving this server access to your agent - from the registry, GitHub, and our own probes. We don't score safety; we show what's verifiable.

runs as local process (stdio) - runs on your machine with your user's permissions

repo age created 2026-09-06 - young repo, little track record yet

license Apache-2.0 - declared in the repository

pypi package schemagate - check the name against the project README before installing (PyPI has no namespace ownership)

registry namespace io.github.ashishsinha1602 is GitHub-verified and matches the repo owner

03 · What Schemagate can do

Prose above is summarized from the project's README and registry record - no invented capabilities.

Latest releases

v1.0.0 · 2026-09-22

The API is stable. Fifty-eight 0.1.x releases in sixteen days said · "not ready" to exactly the reviewers this library is for, whatever the · tests said. The names the README documents -- Catalog and its methods…

v0.1.58 · 2026-09-19

The roles a caller holds now come from the directory, not from the caller. · restrict_from_grants already read which roles may see an object from the database. The other half, which roles this caller holds, was still…

v0.1.57 · 2026-09-19

A column comment was being indexed three times, and it cost thirteen questions. · _prose_text fed the prose channel and embed_text() fed the body channel and the vectors, so a column comment counted in three of four…

04 · Who maintains Schemagate

schemagate is maintained by ashishsinha1602. It's the only MCP server we track from this author; the repo dates to Sep 2026.

05 · Facts

category
database - ranked #27 of 174 actively-maintained database servers as of 2026-09-30.
release cadence
10+ releases in the last 90 days (latest 2026-09-22)
registry
io.github.ashishsinha1602/schemagate (active, first published 2026-09-19 · 4 versions)
packages
pypi:schemagate

06 · Schemagate FAQ

What is Schemagate?

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.

Is Schemagate still maintained?

Yes - as of 2026-09-30, its last commit was 2026-09-26 and it shipped 10+ releases in the last 90 days. We re-verify nightly.

How do I install Schemagate?

Run `uvx schemagate`. The README documents 5 environment variables (SCHEMAGATE_POSTGRES_URL, SCHEMAGATE_ORACLE_URL, SCHEMAGATE_MSSQL_URL…) to set first. Set SCHEMAGATE_POSTGRES_URL, SCHEMAGATE_ORACLE_URL, SCHEMAGATE_MSSQL_URL, SCHEMAGATE_MYSQL_URL, SCHEMAGATE_DATABASE_URL before connecting. You can also paste the ready-made client config above.

Does Schemagate run locally?

Yes - it's a stdio server: it runs on your machine (via uvx) with your user's permissions. Your data stays local unless the server itself calls external APIs.

07 · Alternatives to Schemagate