Skip to main content
Glama

📘 DataGate — Secure AI-Ready Data Gate

Build Release License

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 select tipizzato — con JSON, esecuzione read-only con righe JSON**, * policy, audit, errori sanitizzati; il transport MCP rest los step successivo.

  • MCP search tipizzato — ricerca semantica con ILIKE su clutte colone consentute**, query parametrizzate, policy/rite-limit/address.

  • MCP aggregate tipizzatocounte, sum, avg, min, `max su colone ammise, con filtri parmatr.

  • API MCP versionatadescriptor stabile per API ** e tool.

  • Transport MCP stdiohandshake, discovery e **chiamate select, search e aggregate sulle percorso.

  • Filtri avanzati**supporto a pattern (LIKE/ILIKE), range (BETWEEN) e fulltext** (to_t</module0

  • Catalogo schema controllatointrospezioni policy-filtre di tabelle, viste, idcice, vincol (PK/FK/UNIQUE/CHECK/EXCLUSION), trigger, funzioni, procedure e sequence, con DDL* solo sicure.

  • Rate limitingp rotezione contro loop del modello e query tro pesanti.

  • Limitidi outputrisposte semple contente, sicure e stru simetriche.

  • Errori deteministinone di schema, no SQL e, no stacktrace.

  • Errori strutturatienvelop stabile con codice, messaggio generic o e indicazione retryable.

  • Configurazine esternafile TOML per policy, liniti e profili nominati (dev/staging/prod).

  • Harding input MCPvalidazione request_id, limiti su payload, e x.

  • Policiza dinamicala 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 (default 5432), DB_USER, DB_PASSWORT, DB_NAME* opzioni PG: DB_OPTIONS, nel formato key=value&key=value* pool: DB_MAX_CONNECTIONS e DB_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 (default 3300), 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**: precedene postgres -> 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:

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 audit JSONL* [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

Apache License 2.0

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
4Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides a read-only PostgreSQL SQL surface for LLM agents via MCP, with defense-in-depth security layers for safe database queries.
    3
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides read-only access to databases for MCP-compatible AI tools, allowing schema exploration and SELECT queries without exposing credentials or risking data changes.
    92
    3
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides 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
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides governed, read-only PostgreSQL access for AI agents via MCP. Enforces schema/table allowlists, query limits, and audit events.
    MIT

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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