Skip to main content
Glama
uniquery

uniquery

by yashdhingra0

UniQuery

Stellen Sie Ihre Datenbankfragen in einfachem Englisch – von jedem MCP-Client oder über die Web-UI.

UniQuery verbindet sich im Nur-Lese-Modus mit einer Postgres- oder MongoDB-Datenbank und stellt sie als Agent für natürliche Sprachabfragen bereit. Es bietet zwei Zugänge zu derselben Engine: einen MCP-Server, der in Claude Desktop, Claude Code, Cursor oder jeden anderen MCP-Client integriert werden kann, und eine Next.js-Web-App zum Erkunden von Ergebnissen mit Diagrammen.

Der interessante Teil ist nicht der Schritt von natürlicher Sprache zu SQL – viele Tools können das. Es ist das, was darum herum passiert: PII-Maskierung, bevor Zeilen das Modell erreichen, harte Begrenzungen für Zeilenanzahl und Query-Timeouts, Durchsetzung des Nur-Lese-Modus am Connector und ein semantischer Schema-Speicher, damit der Agent mit der Zeit besser mit Ihrem Schema arbeitet.

Architektur

apps/
  web/                 Next.js 16 + React 19 + Recharts UI
packages/
  core/                The engine — connectors, agent loop, guardrails, viz
    connectors/        Postgres (Neon serverless / pg) and MongoDB, read-only
    agent/             Tool-calling loop over Vercel AI Gateway / Google Gemini
    guardrails/        PII masking + row/timeout clamps
    semantic/          Schema knowledge store with SQL migrations
    viz/               Result-shape classifier that picks a chart type
  mcp-server/          MCP server exposing core over @modelcontextprotocol/sdk

Related MCP server: Company Data MCP Server

Schutzmechanismen

Das ist der Grund, warum dies mehr als eine Demo ist:

Schutzmechanismus

Verhalten

Nur-Lese-Zugriff

Connectors führen niemals Schreibvorgänge aus, unabhängig davon, was das Modell generiert

PII-Maskierung

Spalten, die auf email, ssn, phone, dob, credit_card, cvv, passport, api_key, password und ähnliche Namen passen, werden innerhalb der Agent-Tools geschwärzt – maskierte Werte erreichen niemals den LLM-Kontext. Zusätzliche Spalten können manuell markiert werden

Zeilenlimit-Begrenzung

Jede Anfrage wird auf [1, 1000] Zeilen begrenzt, egal was der Agent oder MCP-Client verlangt

Timeout-Begrenzung

Jede Abfrage wird auf [1s, 30s] begrenzt

Zod-validierte Tools

MCP-Tool-Eingaben werden schema-geprüft, bevor sie einen Connector berühren

MCP-Server

Der MCP-Server registriert drei Tools:

  • connectDatabase – registrieren Sie eine Postgres- oder MongoDB-Verbindung unter einer von Ihnen gewählten connectionId

  • askQuestion – stellen Sie eine Frage in natürlicher Sprache an eine registrierte Verbindung; gibt eine Markdown-Tabelle plus eine vorgeschlagene Visualisierung zurück

  • plus ein Tool zur Auflistung von Verbindungen, um zu sehen, was registriert ist

Ergebnisse werden als Markdown-Tabellen (auf 50 Zeilen für die Anzeige begrenzt) mit einem angehängten Diagrammvorschlag – bar, line, table oder none – zurückgegeben, der aus der Form des Ergebnisses abgeleitet wird und nicht vom Modell geraten wird.

Konfiguration in einem MCP-Client

{
  "mcpServers": {
    "uniquery": {
      "command": "node",
      "args": ["/path/to/uniquery/packages/mcp-server/dist/index.js"]
    }
  }
}

Dann, im Client:

Verbinden Sie sich mit meiner Postgres unter postgres://… als analytics, und sagen Sie mir dann, welche fünf Kunden im letzten Quartal den meisten Umsatz erzielt haben.

Erste Schritte

Erfordert Node.js >= 20 und pnpm 11.

pnpm install
pnpm build

# web app
pnpm dev

# MCP server
node packages/mcp-server/dist/index.js

Kopieren Sie .env.example in .env.local und füllen Sie Ihre Datenbank-URL und einen LLM-Schlüssel aus – entweder einen Vercel AI Gateway-Schlüssel (Standard) oder einen Google Gemini-Schlüssel mit provider: "google".

Technologie-Stack

TypeScript · pnpm workspaces · Model Context Protocol SDK · Vercel AI SDK 6 · Google Gemini · Neon serverless Postgres · MongoDB · Zod · Next.js 16 · Recharts · Vitest

Status

Funktionierender Prototyp. Die Engine, die Schutzmechanismen und der MCP-Server sind funktionsfähig; die Web-App deckt den Kernablauf von Abfrage und Diagramm ab.

Lizenz

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables read-only exploration and querying of PostgreSQL or MySQL databases via MCP, with schema discovery, safe SQL validation, natural language to SQL conversion, and CSV export.
    11
    1
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables read-only access to company data across PostgreSQL, MongoDB Atlas, and flat files through MCP tools, allowing AI assistants to query and retrieve information via natural language.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that enables natural-language SQL queries across multiple databases (ClickHouse, Teradata, PostgreSQL, MySQL, SQL Server, DB2, Oracle, MongoDB) with dialect-correct SQL generation, PII masking, and security-by-construction controls.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides read-only, guarded access to business databases via MCP. Enables natural language querying with built-in security barriers like table allowlists, PII masking, and audit logging.
    MIT