Skip to main content
Glama
yashdhingra0

uniquery

by yashdhingra0

UniQuery

Задавайте вопросы к вашей базе данных на простом английском — из любого MCP-клиента или из веб-интерфейса.

UniQuery подключается к базе данных Postgres или MongoDB в режиме только для чтения и предоставляет её как агента для запросов на естественном языке. У него два входа в один и тот же движок: MCP-сервер, который подключается к Claude Desktop, Claude Code, Cursor или любому другому MCP-клиенту, и веб-приложение Next.js для изучения результатов с графиками.

Интересная часть — не сам шаг преобразования естественного языка в SQL (таких инструментов много). А то, что вокруг: маскирование PII до того, как строки попадут в модель, жёсткие ограничения на количество строк и таймауты запросов, принудительный режим только для чтения на уровне коннектора, а также хранилище семантической схемы, чтобы агент со временем лучше понимал вашу схему.

Архитектура

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: Vela MCP Server

Защитные механизмы

Именно они делают это чем-то большим, чем демо:

Защитный механизм

Поведение

Только чтение

Коннекторы никогда не выполняют запись, независимо от того, что генерирует модель

Маскирование PII

Столбцы, соответствующие email, ssn, phone, dob, credit_card, cvv, passport, api_key, password и подобным, редактируются внутри инструментов агента — замаскированные значения никогда не попадают в контекст LLM. Дополнительные столбцы можно пометить вручную

Ограничение строк

Каждый запрос ограничивается диапазоном [1, 1000] строк, независимо от того, что запрашивает агент или MCP-клиент

Ограничение таймаута

Каждый запрос ограничивается диапазоном [1s, 30s]

Инструменты с валидацией Zod

Входные данные MCP-инструментов проверяются по схеме до того, как они коснутся коннектора

MCP-сервер

MCP-сервер регистрирует три инструмента:

  • connectDatabase — регистрация подключения к Postgres или MongoDB под выбранным вами connectionId

  • askQuestion — задать вопрос на естественном языке к зарегистрированному подключению; возвращает таблицу в формате markdown и предложенную визуализацию

  • плюс инструмент для вывода списка подключений, чтобы узнать, что зарегистрировано

Результаты возвращаются в виде таблиц markdown (не более 50 строк для отображения) с приложенной рекомендацией по графику — bar, line, table или none — которая определяется по форме результата, а не угадывается моделью.

Настройка в MCP-клиенте

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

Затем в клиенте:

Подключись к моему Postgres по адресу postgres://… как analytics, затем скажи, какие пять клиентов принесли наибольшую выручку за последний квартал.

Начало работы

Требуется Node.js >= 20 и pnpm 11.

pnpm install
pnpm build

# web app
pnpm dev

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

Скопируйте .env.example в .env.local и заполните URL вашей базы данных и ключ LLM — либо ключ Vercel AI Gateway (по умолчанию), либо ключ Google Gemini с provider: "google".

Стек

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

Статус

Рабочий прототип. Движок, защитные механизмы и MCP-сервер функциональны; веб-приложение покрывает основной поток запросов и построения графиков.

Лицензия

MIT

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (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

  • F
    license
    A
    quality
    C
    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
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables governed, agent-agnostic data exploration by allowing users to ask natural language questions through MCP-compatible agents, executing safe, permission-scoped queries against data sources and returning interactive charts.
    48
    Apache 2.0
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables natural language querying of SQL databases and REST APIs through the MCP protocol, grounded in a semantic layer.
    2,309
    1
    AGPL 3.0
  • F
    license
    Not graded
    quality
    C
    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.

View all related MCP servers

Related MCP Connectors

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/yashdhingra0/uniquery'

If you have feedback or need assistance with the MCP directory API, please join our Discord server