Skip to content

[External Plugin]: schemagate #6006

Closed
Closed

Description

@ashishsinha1602

Plugin name

schemagate

Short description

Ask a SQL database questions through a local, read-only MCP server that hands the model only the tables and columns the caller may read. Includes a skill for the select-schema, write-SQL, run-query workflow.

GitHub repository

ashishsinha1602/schemagate

Plugin path inside the repository

copilot-plugin

Ref to review

No response

Commit SHA to review

b30a9714c43a784a29d7f3c43f1e196412d5eb47

Version

1.15.1

License identifier

Apache-2.0

Author name

Ashish Sinha

Author URL

https://github.com/ashishsinha1602

Homepage URL

No response

Keywords

sql
database
text-to-sql
schema
access-control
mcp
postgres
mysql
sqlite

Additional notes for reviewers

schemagate is an Apache-2.0 Python library and MCP server (PyPI schemagate, in the official MCP Registry as io.github.ashishsinha1602/schemagate). This plugin bundles a local stdio MCP declaration and one skill.

  • What the model cannot do on its own: know which tables a given user is allowed to see. The server holds that policy (a JSON file, or the database's own grants) and returns DDL for only the permitted tables and columns; run_query refuses writes, multiple statements, and any object outside the caller's scope. On large schemas this also shrinks the prompt: on the Spider 2.0-lite BigQuery and Snowflake databases with 50+ tables, the median per-database saving in schema tokens is 91.1% (BENCHMARKS.md in the repo; on BIRD's small schemas it is 8.8%).
  • The MCP server is pinned (uvx --from "schemagate[mcp]==1.15.1" schemagate-mcp) and points at demo, a bundled sample schema, so installing it connects to nothing and ships no credentials. The README shows how to configure a real database in the user's own MCP config, with the URL in env.
  • Every tool is read-only and annotated so. Over stdio the server trusts the principal and roles the client sends: it limits what the model sees, it is not authentication. The skill and README say this.
  • No paid service. answer, semantic_query and deep_answer use a model only if the user configures one on the server; in this plugin they are off.
  • Install: copilot plugin install ashishsinha1602/schemagate:copilot-plugin

Submission checklist

  • The plugin lives in a public GitHub repository.
  • The ref and/or sha I provided is immutable (release tag and/or full 40-character commit SHA), not a branch.
  • This submission follows this repository's contribution, security, and responsible AI policies.
  • This plugin is not already listed in the Awesome Copilot marketplace.

Activity

  1. github-actions commented on Oct 31, 2026

    @github-actions
    Contributor

    🔴 Contributor Reputation Check: HIGH risk

    Check Risk
    Profile HIGH
    Credential audit NONE

    Maintainers: please review this contributor before merging.
    See the workflow run for full details.
    Automated check powered by AGT.

  2. added
    needs-review:HIGHContributor reputation check flagged HIGH risk
    ready-for-reviewSubmission passed intake validation and is ready for maintainer review
    and removed
    awaiting-reviewSubmission is waiting for automated intake validation
    on Oct 31, 2026
  3. github-actions commented on Oct 31, 2026

    @github-actions
    Contributor

    ✅ External plugin intake passed

    This submission passed automated intake validation and quality checks and is ready for maintainer review.

    View workflow run · Download full quality gate logs

    Reviewer signals

    These are non-blocking heuristics for maintainer review; they are not evidence of misconduct or low quality.

    Signal Result
    Repository age 54 day(s)
    Repository activity no configured signal
    Repository counts 179 stars · 1 watchers · 2 forks · 2 open issues/PRs

    Quality gate summary

    Legend: ✅ pass · ⚠️ warning · 🛑 fail

    Gate Status
    spec compliance ✅ pass
    vally lint ✅ pass
    install smoke test ✅ pass
    version match ✅ pass
    ref/sha consistency ⚪ not_run
    canvas structure ⚪ not_run
    • spec compliance: pass
    • vally lint: pass
    • install smoke test: pass
    • version match: pass
    • ref/sha consistency: not_run
    • canvas structure: not_run
    • overall: pass
    spec compliance output (✅ pass)
    Agent Plugins v1.0.0 manifest checks passed for plugin.json.
    
    vally lint output (✅ pass)
    ✅ schemagate-sql (2/2 checks passed)
        ✓ [spec-compliance] All 1 skill(s) are spec-compliant.
            ✓ spec-compliance: All spec checks passed.
        ✓ [valid-refs] All file references across 1 skill(s) are valid.
            ✓ valid-refs: All file references resolve to existing files within the skill directory.
    
    1 skill(s) linted, 1 passed
    
    install smoke test output (✅ pass)
    Install smoke test succeeded. Verified /tmp/external-plugin-quality-wBfdC2/copilot-home/.copilot/installed-plugins/external-plugin-intake/schemagate/plugin.json.
    
    Version match output
    - b30a9714c43a784a29d7f3c43f1e196412d5eb47: matched version "1.15.1" at "copilot-plugin/plugin.json".
    
    Ref/SHA consistency output
    Ref/SHA consistency gate skipped because one of source.ref or source.sha was not provided.
    
    Canvas structure output
    Canvas structure gate skipped because plugin is not tagged with "canvas".
    

    Canonical external.json payload

    {
      "name": "schemagate",
      "description": "Ask a SQL database questions through a local, read-only MCP server that hands the model only the tables and columns the caller may read. Includes a skill for the select-schema, write-SQL, run-query workflow.",
      "version": "1.15.1",
      "author": {
        "name": "Ashish Sinha",
        "url": "https://github.com/ashishsinha1602"
      },
      "repository": "https://github.com/ashishsinha1602/schemagate",
      "license": "Apache-2.0",
      "keywords": [
        "sql",
        "database",
        "text-to-sql",
        "schema",
        "access-control",
        "mcp",
        "postgres",
        "mysql",
        "sqlite"
      ],
      "source": {
        "source": "github",
        "repo": "ashishsinha1602/schemagate",
        "path": "copilot-plugin",
        "sha": "b30a9714c43a784a29d7f3c43f1e196412d5eb47"
      }
    }
  4. aaronpowell commented on Nov 1, 2026

    @aaronpowell
    Contributor

    /reject While I can see how this is a generally useful tool, the fact is that there are lots of existing MCP servers out there for databases such as PostgreSQL, MySQL, MSSQL, etc., as well as tools like Data API builder that abstract databases away, and these have an arguably larger community.

    So as useful as this might be, it's not suited for this marketplace at this time.

  5. added
    rejectedSubmission was rejected by a maintainer
    and removed
    ready-for-reviewSubmission passed intake validation and is ready for maintainer review
    on Nov 1, 2026
  6. github-actions commented on Nov 1, 2026

    @github-actions
    Contributor

    ❌ External plugin rejected

    A maintainer rejected schemagate, and the submission issue has been closed.

    Reason

    While I can see how this is a generally useful tool, the fact is that there are lots of existing MCP servers out there for databases such as PostgreSQL, MySQL, MSSQL, etc., as well as tools like Data API builder that abstract databases away, and these have an arguably larger community.

    So as useful as this might be, it's not suited for this marketplace at this time.

    This issue is now closed and /rerun-intake will no longer reopen it. If you address the feedback, please open a new external plugin submission issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    external-pluginPublic external plugin submissionneeds-review:HIGHContributor reputation check flagged HIGH riskrejectedSubmission was rejected by a maintainer

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions