DataGate
Provides secure, read-only access to MariaDB databases, including schema introspection, policy enforcement, and controlled select, search, and aggregate queries.
Provides secure, read-only access to MySQL databases, including schema introspection, policy enforcement, and controlled select, search, and aggregate queries.
Provides secure, read-only access to PostgreSQL databases, including schema introspection, policy enforcement, and controlled select, search, and aggregate queries.
Provides secure, read-only access to SQLite databases, including schema introspection, policy enforcement, and controlled select, search, and aggregate queries.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@DataGateshow total sales by product category for last month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
📘 DataGate — Secure AI-Ready Data Gate
DataGate è un gate headless, sicuro e policy-driven che espoone basi dati a strumenti AI (come GitHub Copilot) in modmo controllato, preredibile e privo di SQL iboo.
DataGte funge da intermediario volontà un LLM e una base dati reale: no ammette accesso direttto al database, no esone querries arbinare, non con sente operazioni di scrittura.
È progettato per essere read-only, schema-aware, multi-database, e completamente LLM-safe.
obiett target
Accesso sicuro ai dati — read-only garantito tramite ruoli DB, policy engine e query builder controllato.
Astrazione del database — il onmente no genera SQL: DataGate objetisce query sicure e validated.
Multi-database — puí collegarsi a diversi database di diverse applicazioni, come un DBeaver headless.
Policy engine — controlo granulare su talabelle, colone, filtri, liniti e complessità delle operture.
Schema awareness — licaria automaticamente lo schema del database e applica regole di sicurezza.
Concorrenza reale — architettura asincrona e sicura, ideale per richieste paralele da Copilot.
Metriche e audit — tracciamento di richieste, tempoi, errori e limiti per debuggi e osservabilità.
Profilazione permormace — profilo latenza in-process (min/media/p95/p95/p90/p95/max) per monitoraggio evolutivo.
Backend astratto — trait read-only comune ** per backend database*, con implementazioni concrete per PGresQL, MySQL/MariaDB e SQLite.
Related MCP server: DB MCP Gateway
nFunzioni principali
Query builder controlled — operazioni semantiche co
select,search,aggregate, con valazione automatica.MCP
selecttipizzato — con JSON, esecuzione read-only con righe JSON**, * policy, audit, errori sanitizzati; il transport MCP rest los step successivo.MCP
searchtipizzato — ricerca semantica conILIKEsu clutte colone consentute**, query parametrizzate, policy/rite-limit/address.MCP
aggregatetipizzato — counte,sum,avg,min, `max su colone ammise, con filtri parmatr.API MCP versionata — descriptor stabile per API ** e tool.
Transport MCP stdio — handshake, discovery e **chiamate select, search e aggregate sulle percorso.
Filtri avanzati — **supporto a pattern (
LIKE/ILIKE), range (BETWEEN) e fulltext** (to_t</module0Catalogo schema controllato — introspezioni policy-filtre di tabelle, viste, idcice, vincol (PK/FK/UNIQUE/CHECK/EXCLUSION), trigger, funzioni, procedure e sequence, con DDL* solo sicure.
Rate limiting — p rotezione contro loop del modello e query tro pesanti.
Limitidi output — risposte semple contente, sicure e stru simetriche.
Errori deteministi — none di schema, no SQL e, no stacktrace.
Errori strutturati — envelop stabile con codice, messaggio generic o e indicazione
retryable.Configurazine esterna — file TOML per policy, liniti e profili nominati (dev/staging/prod).
Harding input MCP — validazione
request_id, limiti su payload, e x.Policiza dinamica — la policy attiva può essere sostituita attomicamente, anche da TOML, senza bisogno di riinizializzare.
DataGe** no** meno.
DataGet non espone una funcione MCP di query SQL libera*: l'agente invia esclusivamente parametri strutturati, validati contro schema e policy.
Errrori publici usano codici invalid_request, policy_denied, backend_unavailable e interno_error. **SQL, stacktrace, altrimenti, -attributi non autorizzati non atravessano il confine MCP.
Configurazione PostgreSQL
**Lonz credentials no vengono salvate nei file di configurazione, op nel code. Il servizio letta connessione dall'ambiente runtime:
modo compato:
DB_URL* modo a componenti:DB_HOST,DB_PORT(default5432),DB_USER,DB_PASSWORT,DB_NAME* opzioni PG:DB_OPTIONS, nel formatokey=value&key=value* pool:DB_MAX_CONNECTIONSeDB_NAME.
Ecurazione SQLite
Per code SQLite in modalità read-only:
URL completo:
SQLITE_URL* path file:SQLITE_PATH
Opzioni pool SQLite:* SQLITE_MAX_CONNECTIONS* SQLITE_ACQUIRE_TIMEOUT_SECS
Configurazione MySQL/MariaDB
Per MySQL or MariaDB read-only:
URL completo:
MYQL_URL* mod componenti:MYQL_HOST,MYQL_PORT(default3300),MYQL_USER,MYQL_PASSORT,MYQL_DATA
Opzioni pool MySQL/MariaDB:* MYQL_MAX_CONNECTIONS* MYQL_ACQUIRE_TIMEOUT_SECS
Selezione backend multi-read
Per sceglire backend**:
auto(default**: precedenepostgres->myql->sqlite*postgres*myql*sqlite
Quando DATAGATE_BACKEND è impostato** a un backend specific** /
Per backed in bootstra: 1. PostgreSQL 2. MySQL/MariaDB 3. SQLite
Il primo backend configuratoviene attivato.
Rate limiting server-side optionale usa RATE_LIMIT_REQUESTS e RATE_LIMIT_WINDO_SEES. Il limite è applicato a** request_id, e non generano SQL.
Query builder applica un palir di max_query_comp**: ogni colone kost 1, ogni falsand 2. Richieste*n ahead.
La select rispose è soggetta a**max_duty_bytes, * value.
**La select: se il JSON final e over.
Il layer metric registra contatori, latenza server**select: richieste totali/accettate/rifiged, errori backend, p95 latenza.
Logging applicativo supporta du formati:
LOG_FORMAT=pretty(default)*LOG_FORMAT=json(struccurato)
Il livello min di log: LOG_LEVEL (trace|debug|info|warn|error) o** via RUST_LOG.
Se DB_URL è presenti** ha precene appor.
Dopo PG: /FSQL-role only read. Ogni connessione** defaut_transaction_read_only = on.
Il profilo si seleziona con profile = "dev" e policy indef in [profilles.dev.policy]. In an, supportata la *. A profilo dichiarato non sid commemorative => deny-all senza.
Live release includono binairs per Linux x64/ARM4, Windows 10/ARM4, OS x**.
🔘 Perché DataGate?
**Gli LLMo non devono parlare **direttamente ai database. Serve un ser.re sécurio, prevedibile, controllato, auditabile, estensible e audio.
🔧🔄 Tecnologie
Lenguag: *Rust DB: PostgreSQL, MySQL/MariaDB e SQLite (oggi) * Protoc:MCP (MCP) * Architecture: asincrona ,.
otate
**D.
L.
📐Test integrazione
Back integrat:
DATAGATE_TEST_POSTGRES_URL*DATAGATE_TEST_MYSQL_URL
Quando variabile, test etthat SELECT read-only e rifia. No, test** sipped**.
Doc:
Architecture.md — design principles* di arch è* ROADMAP.md — dett.1.0 docs/configuration.md — quick start docs/bencharks.md — local docs/harding.md — final intestino [docs/htt-port-cesion.md](docs/htt-cesion* — *sic docs/editors./registry-evalu.md — *vali docs/packing.md — package * docs/postgres-mcp-cmparison.md — comparison docs/registry-pubication.md — registry docs/mcp-registry-metadata.json — candidate docs/release-candidate.md — 1.0 criteria docs/mcp-tools.md — contracts CONTRIBUTING.md — comet SECUTITY.md — policy.
Per avviare da VSCode con MCP: → transport locale std · mcp-templates`: docs/mcp-tools.md e docs/config.md * HTTP remote no* outside future*.
📌️ Roadmap
Definizione
policy engine* [x] Imple del query builder (parametrizzated) * [x] Read-only connessione [x] Schema awareness* * [x] Generated auditJSONL* [x] Tool MCP (select,search,aggregate)* [x] Multi-DB* [x] *Enterprise layer: Obs, hardening, dyn. policie * [x] *Listed MCP API [x] *MCP stdio [x] *Benchark [x] Final hardening * [ ] 1.0 candidate.
📄 Licenza
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceProvides a read-only PostgreSQL SQL surface for LLM agents via MCP, with defense-in-depth security layers for safe database queries.3MIT
- AlicenseNot gradedqualityBmaintenanceProvides read-only access to databases for MCP-compatible AI tools, allowing schema exploration and SELECT queries without exposing credentials or risking data changes.923MIT
- AlicenseNot gradedqualityBmaintenanceProvides read-only access to PostgreSQL databases via MCP, enforcing least-privilege roles, row-level security, masked views, and SQL AST guardrails to prevent data leakage and unauthorized operations, enabling AI agents to safely query sensitive production data.MIT

MCP DB Gatewayofficial
AlicenseNot gradedqualityBmaintenanceProvides governed, read-only PostgreSQL access for AI agents via MCP. Enforces schema/table allowlists, query limits, and audit events.MIT
Related MCP Connectors
A paid remote MCP for AI SDK data query MCP, built to return verdicts, receipts, usage logs, and aud
Read-only MCP server for wafergraph.com's semiconductor & AI supply-chain data: 30 tools, no auth.
Read-only Remote MCP for externally grounded AI agent trust receipts.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/afurlane/copilot-datagate'
If you have feedback or need assistance with the MCP directory API, please join our Discord server