Skip to main content
Glama
uniquery

uniquery

by yashdhingra0

UniQuery

データベースの質問を平易な英語で — 任意のMCPクライアントから、またはWeb UIから。

UniQueryはPostgresまたはMongoDBデータベースに読み取り専用モードで接続し、自然言語クエリエージェントとして公開します。同じエンジンへの2つのフロントドアを備えています: Claude Desktop、Claude Code、Cursor、その他のMCPクライアントに接続するMCPサーバーと、チャートで結果を探索するためのNext.js Webアプリです。

興味深いのは自然言語から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: Company Data MCP Server

ガードレール

これらが、これが単なるデモではない理由です:

ガードレール

動作

読み取り専用アクセス

コネクタはモデルが何を生成しても書き込みを発行しません

PIIマスキング

email、ssn、phone、dob、credit_card、cvv、passport、api_key、passwordなどに一致する列はエージェントツール内で編集されます — マスクされた値はLLMコンテキストに到達しません。追加の列は手動でタグ付けできます

行数上限のクランプ

すべてのリクエストは、エージェントやMCPクライアントが何を要求しても[1, 1000]行にクランプされます

タイムアウトのクランプ

すべてのクエリは[1s, 30s]にクランプされます

Zod検証済みツール

MCPツールの入力は、コネクタに触れる前にスキーマチェックされます

MCPサーバー

MCPサーバーは3つのツールを登録します:

  • connectDatabase — 選択したconnectionIdの下にPostgresまたはMongoDB接続を登録します

  • askQuestion — 登録された接続に対して自然言語の質問をします。マークダウンテーブルと推奨ビジュアライゼーションを返します

  • さらに、登録済みの接続を発見するための接続一覧ツール

結果はマークダウンテーブル(表示用に50行に制限)として返され、結果の形状からモデルが推測するのではなく導出されたチャート提案 — bar、line、table、またはnone — が付属します。

MCPクライアントでの設定

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

次に、クライアントで:

postgres://… のPostgresに analytics として接続し、先四半期に最も収益を生み出した5人の顧客を教えてください。

はじめに

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キー(デフォルト)または provider: "google" を指定したGoogle Geminiキーのいずれかです。

スタック

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

ステータス

動作するプロトタイプです。エンジン、ガードレール、MCPサーバーは機能しており、Webアプリはコアのクエリとチャートのフローをカバーしています。

ライセンス

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