nlqdb — analytical memory for AI agents について
nlqdb は、Postgres などの実データベースを自然言語で照会できる、AI エージェント向けの分析メモリです。MCP 経由で接続でき、実行 SQL と信頼度を表示しますが、初期段階のため回答が誤る場合があります。
主な機能
- 01自然言語によるデータベース照会
- 02結果と実行 SQL の表示
- 03回答の信頼度表示
- 04ホスト型とローカル MCP サーバー
- 05TypeScript SDK と nlq CLI
活用シーン
- 01エージェントによる業務データの要約
- 02自然言語でのデータ分類や集計
- 03MCP 経由で分析クエリをエージェントに接続
MCP 対応
nlqdb はホスト型およびローカル stdio の MCP サーバーを提供し、エージェントが自然言語でデータベースを照会して、グループ化、結合、集計を行えます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.nlqdb.com/mcpclaude mcp add --transport http com-nlqdb-nlqdb https://mcp.nlqdb.com/mcp{"mcpServers":{"com-nlqdb-nlqdb":{"type":"http","url":"https://mcp.nlqdb.com/mcp"}}}Cursor で開く{"servers":{"com-nlqdb-nlqdb":{"type":"http","url":"https://mcp.nlqdb.com/mcp"}}}VS Code で開く{"mcpServers":{"com-nlqdb-nlqdb":{"type":"http","url":"https://mcp.nlqdb.com/mcp"}}}{"mcpServers":{"com-nlqdb-nlqdb":{"serverUrl":"https://mcp.nlqdb.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
nlqdb — あなたの自律型 DBA です。
nlqdb は、お使いの Postgres または Cloudflare D1 データベースに接続し、必要な変更を提案します。承認した変更を適用して効果を測定し、性能が低下したものは元に戻します。
nlqdb が存在する理由:ミッション — すべての企業が適切なデータベースインフラストラクチャを実現するまでにたどる試行錯誤の道のりを、カプセル化します。
目指す姿(docs/END_GOAL.md):接続文字列を貼り付けるだけで、nlqdb.com、CLI、SDK、または MCP 経由のコーディングエージェントから、数分以内に最初の提案が届きます。各提案には、期待される効果、コスト、変更を元に戻す方法が含まれます。適用はワンクリックです。nlqdb は同じクエリの p95 を測定し、変更を維持するか元に戻します。アプリのリクエスト処理経路には影響しません。このループは現在開発中です(ロードマップ)。現在利用できるのは、以下のホステッド製品です。
バックエンドの構築は不要です。 HTML を書き、各コンポーネントが必要なデータを平易な英語で要求するだけです。nlqdb がスキーマを推測し、SQL を記述して実行し、結果を表示します。構築するバックエンドはありません。
アクションは 2 つ。これが製品のすべてです。
- データベースを作成する — 必要なのは名前(または目標)だけです。
- データベースに話しかける — 平易な英語で。
<script src="https://elements.nlqdb.com/v1.js" type="module"></script>
<nlq-data
goal="the 5 newest orders, with customer and item"
api-key="pk_live_xxx"
template="table"
refresh="10s"
></nlq-data>
これだけで、注文一覧を表示するバックエンドが完成します。API の記述も、スキーマの定義も、JSON の解析も不要です。エンジンの選択(Postgres / Mongo / Redis / DuckDB / pgvector / …)、スキーマの推測、インデックス作成、バックアップ、実際のワークロードに基づくエンジン間の自動移行は、意識する必要のないバックグラウンド処理です。
ステータス — 初期段階、オープン
nlqdb は初期段階で、オープンに開発されていますが、全面公開されています。利用制限も招待コードもありません。マーケティングサイト、/v1/ask パイプライン、<nlq-data> /
<nlq-action> 要素、チャットアプリ、TypeScript SDK、ホステッド MCP サーバー、nlq CLI は、いずれも何らかの形で利用できます(以下のサーフェステーブルを参照)。自然言語から SQL への変換精度は、公開基準(無料モデルチェーンで BIRD ≥ 0.65、Spider 2.0 ≥ 0.75)に向けて向上中のため、回答が間違っている場合があります。すべての応答には、信頼度の指標と実行した SQL が含まれます。
使ってみる
MCP 経由でエージェントを接続しますか?Claude Code では、マーケットプレイスから追加するだけで、ホステッドサーバーと 2 つのメモリスキルをまとめて設定できます。
/plugin marketplace add nlqdb/nlqdb
/plugin install nlqdb-memory@nlqdb
それ以外の MCP ホストでは、ブラウザーで OAuth を 1 回承認するだけでエージェントを接続できます。ヘッドレスホストでは、ブラウザーの代わりに npx -y @nlqdb/mcp と sk_mcp_* MCP キーを使います(MCP の設定)。@nlqdb/sdk と @nlqdb/mcp はどちらも npm で公開されており、インポートして利用できます。
プレーンな HTML、CLI、10 種類のフレームワーク用ラッパーを紹介する 60 秒のガイドは、docs.nlqdb.com にあります。HTML チュートリアルまたはCLI チュートリアルから始めてください。
API キーを別途生成する必要はありません。nlqdb.com でデータベースについて説明すると、キーがあらかじめ埋め込まれた <nlq-data> スニペットがチャットに表示されます。
例
examples/ — プレーンな HTML、Next.js、
Nuxt、SvelteKit、Astro の最小構成のスキャフォールドと、CLI のみを使う手順です。それぞれ、1 つの <nlq-data> 要素または 1 回の CLI セッションを使った、最小限の有効な連携例です。
他との違い
すべてのリリースで改善し、どれも後退させない4つの要素
(GLOBAL-025):
- エンジンの品質 — 自然言語から SQL への変換精度(BIRD + Spider 2.0 + 内部評価で継続的に測定)に加え、ワークロードに適したエンジンへデータを移動するマルチエンジン層です。
- オンボーディング — ランディングから1分以内に最初の回答を得られます。カードも設定も不要です。
- UX — 書き込み前に差分を確認でき、すべての回答の背後にある SQL を確認できます。確信度が低い場合は、ワンクリックで確認を求められます。ガイド付きのやり取りで、行き詰まることも、黙って推測することもありません。
- パフォーマンス — キャッシュ時は400ミリ秒未満、コールド時は1.5秒未満です。
目指すのは、無料のオープンモデルでこれを実現し、最先端モデルではさらに良くすることです。基盤の仕組みは、その下で使われるモデルにかかわらず積み重なっていきます。
モデルとプラン
- 組み込みのオープンモデルチェーンを使えば、クエリ、埋め込み、エレメントを永久に無料で利用できます。カードは不要です。
- どのティアでも独自の LLM キーを持ち込めます(Anthropic / OpenAI / Gemini / Grok / OpenRouter)。上乗せ料金はありません。
- キーを自分で管理したくない場合は、有料プランでホスト型プレミアムモデルを利用できます。
- ソースをセルフホストできます。エンジン、CLI、MCP サーバー、SDK は FSL-1.1-ALv2 の下でソースを利用できます。競合しない用途であれば無料でセルフホストでき、独自の LLM キーを持ち込めます。呼び出しごとの料金もありません。各リリースの2年後に、ライセンスは Apache 2.0 に自動的に切り替わります。
ホスト型プレミアムモデルの提供は2026-08-14に開始しました。モデル戦略の全容は
GLOBAL-026をご覧ください。
各提供形態の概要
| 提供形態 | ステータス | 場所 |
|---|---|---|
HTTP API(POST /v1/ask、POST /v1/run、POST /v1/insert) | ✓ 提供中 | apps/api/src/ask/** |
<nlq-data> + <nlq-action> エレメント | ✓ 提供中(v0.1) | packages/elements/** |
@nlqdb/sdk(TypeScript) | ✓ 提供中(runSql + テナント間の許可設定 + パックインポート用ランナーの動詞を含む)— npm からインストール可能。insert() と runSql の params は 0.5.0 で公開予定 | packages/sdk/** |
| フレームワークラッパー(React / Next / Vue / Nuxt / Svelte / SvelteKit / Astro / Solid + Swift) | ~ 構築済み + CI テスト済み。npm / SPM での公開は保留中 | packages/{react,next,…}/** |
チャットアプリ nlqdb.com/app | ✓ 提供中 | apps/web/** |
ホスト型 MCP サーバー mcp.nlqdb.com/mcp | ✓ 提供中(ホストの自動検出は保留中) | apps/mcp/**、packages/mcp/** |
ローカル stdio MCP サーバー @nlqdb/mcp | ✓ 提供中 — sk_mcp_* キーで npx -y @nlqdb/mcp を実行 | packages/mcp/** |
| 配置可能なエージェント成果物(AGENTS.md · Claude Code のスキル + プラグイン · Cursor ルール · Codex 設定) | ✓ 提供中 — /plugin marketplace add nlqdb/nlqdb を実行すると、サーバーとスキルを一度にインストール | apps/web/public/agent-artifacts/** |
nlq CLI(Go) | ✓ 提供中(中核となる動詞。デバイスログインは保留中) | cli/** |
統合の全マトリクスは docs/progress.md をご覧ください。
npm のパッケージ
ビルドの来歴情報とともに、公開 npm レジストリに公開されています
(SK-CIPERM-003)。バージョンバッジは npm から取得しています。表は
scripts/sync-readme-packages.mjs によってワークスペースから生成されるため、
ゲートが解除された("private" が削除された)パッケージのみが正確に記載され、それ以外は含まれません。
| パッケージ | バージョン | 内容 | ソース |
|---|---|---|---|
@nlqdb/cli | ホストプラットフォーム用の nlq CLI バイナリをインストールするシムです。 | packages/cli-shim | |
@nlqdb/mcp | nlqdb 用の分析メモリ MCP サーバーです。単なる想起にとどまらず、AI エージェントが自然言語で GROUP BY、JOIN、集計を実行できる実データベースです。 | packages/mcp | |
@nlqdb/sdk | nlqdb /v1 API 用の型付き HTTP クライアントです。ブラウザー、Node、Bun、Workers で動作します。 | packages/sdk |
ロードマップ
以下のセクションは現在の重点項目です。その後に続く番号付きフェーズは、GLOBAL-043 の削除シリーズまで維持される、ホスト型製品のロードマップです。正式な計画と終了条件:
docs/phase-plan.md。凡例:
✓ リリース済み · ~ 進行中 · ◯ 計画済み。
このロードマップは皆さんが形作るものです。 追加、優先順位の変更、削除を希望する項目はありますか? このセクションを編集する PR を作成してください(エンジンに関わる場合は
docs/phase-plan.mdも編集してください)。または、まず issue を作成して提案してください。今それを行う理由、つまり4つの北極星となる柱(エンジン品質、オンボーディング、UX、パフォーマンス)のうち、どれを前進させるのかを説明してください。コードベースを初めて使う場合は、コーディングエージェントにこのリポジトリを指定して、次の内容を貼り付けてください:README.md と docs/phase-plan.md を読み、ロードマップの変更を提案してください: "<あなたのアイデア>" を適切なセクションに1行で追加/変更し、 前進させる北極星の柱を明記した「今それを行う理由」も添えてください。 その編集だけを含む PR を作成してください。コード変更は不要です。セットアップ、ブランチの命名、CLA については CONTRIBUTING.md を参照してください。
今 — すでに運用中のデータベースに接続する(GLOBAL-043)
Postgres(Supabase、Neon、RDS)または Cloudflare D1 上で、観察 → 提案 → 適用 → 検証 → 元に戻す、という1つのループを実行します。計画、KPI、終了条件:
GLOBAL-043。
- ~
/app/dbaの変更台帳 — 変更ごとに逆操作を記録し、新しいものから表示 (読み取り専用 v0) - ~ 合成データベース上の接続プロダクト — observer、
create_indexの提案、適用 → 検証 → 自動ロールバック、4つの接続方法(API 経由、POST /v1/attach/client.attach()とclient.applyProposal()/rejectProposal()が利用可能)、CI でテスト済み - ◯ Postgres のスパイク — 実トラフィックのあるデータベースで、1つのインデックスを提案、適用し、計測(適用前後の p95)
- ◯ 実際の rateme12 への D1 接続 — ドッグフーディング
- ◯ 運用ガイド — 未使用インデックスの削除、肥大化、型の変更、パーティショニング、保持期間、配置
Phase 0 — 基盤 ✓
Worker の骨格 · KV + D1 + R2 バインディング · Neon アダプター + OTel · LLM ルーター
(無料チェーン)· Better Auth(GitHub + Google + マジックリンク)· /v1/ask
のエンドツーエンド対応 · イベントキュー + 排出処理 · Stripe Webhook · CI/CD + PR プレビュー
環境。
フェーズ 1 — 導入
初めて訪れたユーザーが nlqdb.com にアクセスし、平易な英語で DB を作成して埋め込み、リンクを共有します。60 秒以内で完了し、カードも設定も不要です。
- ✓ マーケティングサイト(Astro、
nlqdb.comで公開中) - ✓
<nlq-data>+<nlq-action>要素(v0.1) - ✓ サインイン — マジックリンク + GitHub + Google
- ✓ チャット画面 — 3 部構成のレスポンスをストリーミング(回答/データ/トレース)、匿名モード
- ✓ 匿名モード — 72 時間有効なトークンで、サインイン時にアカウントへ引き継がれます
- ✓ ホスト型 db.create パイプライン(pgvector 部分の対応待ちのため、テーブルカードの埋め込みはスタブです)
- ✓ API キーのダッシュボード(
/app/keys) - ◯ Hello-world チュートリアルの仕上げ
フェーズ 1.5 — 信頼性 + テレメトリー
- ✓ 書き込み時の差分プレビュー + すべてのレスポンスで SQL トレースを表示
- ✓ 「まだ対応していない」すべての経路で需要シグナルのテレメトリーを収集
- ◯ 信頼度の下限(信頼度が低い場合に確認する機能 — 行き止まりではなく、ガイド付きのやり取り)— quality-eval とともに導入
フェーズ 2 — 配布(エージェント + 開発者向け機能)
- ✓ ホスト型 MCP サーバー(
mcp.nlqdb.com/mcp)— ホストの自動検出は未対応です。ローカル stdio の@nlqdb/mcpは npm で公開済みのため、sk_mcp_*キーを使うnpx -y @nlqdb/mcpは、ブラウザーでの同意手順を必要としないヘッドレス接続経路です(/agentsには掲載済みですが、ホストごとのインストールパネルは OAuth のみです)。Claude Code では、/plugin marketplace add nlqdb/nlqdbにより、サーバーと 2 つのメモリスキルを一度にインストールできます - ✓ CLI
nlq(Go)— 基本的な動詞 + 生 SQL のエスケープハッチ。デバイスログイン + チャット REPL は未対応です - ✓
@nlqdb/sdk— 基本メソッド +runSql+ テナント間の権限付与 + パックインポートの実行用動詞。公開済みで、レジストリからインポートできます。insert()とrunSqlのparamsは0.5.0で公開されます - ~ フレームワーク用ラッパー + ネイティブ Swift パッケージ — ビルド済み、CI テスト済み。npm / SPM での公開は未対応です
- ✓ 品質評価ハーネス(BIRD + Spider 2.0)— NL→SQL インターフェースの CI 回帰アラームであり、KPI ではありません
- ~ 独自 LLM のディスパッチ — HTTP 経路は利用可能で、残りの機能は開発中です
- ◯ チャットでの CSV アップロード
- ~ ドキュメントサイトのリファレンス充実 — SDK + フレームワークラッパーのガイド、列挙可能なエラーコードのリファレンス、エージェント向けのビルド時
/llms.txtは公開済みです。チュートリアルの仕上げは未対応です - ◯ 埋め込み用のカスタムドメイン
フェーズ 3 — マルチエンジン化(競争優位性)
- ◯ ワークロードアナライザー → 移行オーケストレーター
- ◯ 追加エンジンとして ClickHouse / DuckDB / Redis に対応
- ◯ デュアルリード検証
- ✓ ホスト型プレミアムモデル経路(需要に応じて有効化)— 2026-08-14 に稼働開始(
PREMIUM_METER_LIVEを切り替え)
フェーズ 4 — v1 の先へ
- ~ 独自の Postgres / ClickHouse — 接続経路はエンドツーエンドで利用可能です(
POST /v1/db/connect+ Web UI、CLI、SDK、クエリのディスパッチ)。本番環境での利用はBYO_SECRET_KEKシークレットにより制限されています。Supabase では読み取り専用の Management-API を介したワンクリックの OAuth 接続が可能です(貼り付ける DSN は不要)。本番環境での利用はSUPABASE_OAUTH_CLIENT_ID/_SECRETシークレットにより制限されており、未設定の場合は貼り付けによる接続にスムーズに切り替わります - ◯ SSO(SAML / OIDC)、監査ログのエクスポート、組織ごとのクォータ
- ◯ EU データレジデンシー、VPC ピアリング、SOC 2
ローカルで開発する
git clone [email protected]:nlqdb/nlqdb.git && cd nlqdb
scripts/bootstrap-dev.sh # installs everything, pulls Ollama models, seeds .envrc
scripts/login-cloud.sh # signs you into cloud providers that have a CLI flow
bootstrap-dev.sh を実行すると、ツールチェーン全体を一度にセットアップできます。Bun、Node
20 以上、Go 1.25 以上、uv、Biome / gofumpt / golangci-lint / ruff、lefthook の Git
フック、クラウド CLI(wrangler、flyctl、stripe、gh)、LLM ルーターをオフラインで動作させるローカルの Ollama、自動生成された開発用シークレットを含む .envrc が含まれます。
詳細は
docs/history/infrastructure-setup.md §8 を参照してください。
日常的な作業:
bun run fix # biome format + lint --write (most issues)
bun run check:all # biome + golangci-lint + ruff (what CI runs)
bun run hooks:run # run pre-commit hooks against staged files
エンドツーエンドテスト(手動トリガー)
E2E のカバレッジはペルソナ主導で手動トリガーされるため、コストを
無料枠内に収められます。サーフェスごとに workflow_dispatch ワークフローを
1 つ用意しています。
gh workflow run e2e-opencheck.yml # web — live LLM, Neon branch, Workers preview
gh workflow run e2e-cli.yml # Go testscript, hermetic
gh workflow run e2e-sdk.yml # vitest + cassettes, hermetic
gh workflow run e2e-mcp.yml # InMemoryTransport protocol tests, hermetic
gh workflow run e2e-examples.yml # Playwright across HTML/Next/Astro/Nuxt/SvelteKit
gh workflow run e2e-examples.yml -f live=true # + staging for the curl + CLI shell smokes
GitHub を使わずに、隔離されたサーフェスをローカルで実行します。
( cd tests/e2e/cli && go test ./... )
( cd tests/e2e/sdk && bun install && bun run test )
( cd tests/e2e/mcp && bun install && bun run test )
( cd tests/e2e/examples && bun install && bun run install:browsers && bun run test )
手動なのは実行だけです。tests/e2e/{sdk,mcp,examples} はルート
ワークスペースの外にあるため、CI の typecheck-e2e ジョブがすべての PR で
それらを tsc します。これは、現在はコンパイルできても次のディスパッチまでに
劣化してしまうテストスイートを防ぐ、無料のセーフティネットです。
規約、ペルソナの対応付け、カセットの管理については、
docs/features/e2e-coverage/FEATURE.mdを
参照してください。
ドキュメントとリファレンス
docs/architecture.md— システム設計(認証、 料金体系、$0 のスタック、モデル選択、ホスト型 db.create、hello-world)。docs/phase-plan.md— 正式なフェーズ計画と 完了基準。docs/decisions.md— 分野横断的なGLOBAL-NNNの決定事項。機能ごとの記録はdocs/features/にあります。docs/performance.md— SLO、レイテンシ予算、 スパン/メトリクスのカタログ。docs/competitors.md— 競合状況。
コミュニティと法的事項
- CONTRIBUTING.md — 開発環境のセットアップ、ブランチの命名、コミット、CLA の手続き。
- CODE_OF_CONDUCT.md — Contributor Covenant 2.1。報告先は
[email protected]です。 - SECURITY.md — 脆弱性の開示(
[email protected])。修正目標は90日以内です。 - SUPPORT.md — 質問先と、まだ提供していないサポートについて。
- CLA.md — コントリビューターライセンス契約。最初の PR でボットを通じて一度署名します。
- TRADEMARKS.md — nlqdb の名前とロゴについて、許可される使用方法と禁止される使用方法。
- SUBPROCESSORS.md — 当社に代わって個人データを処理する可能性のあるサードパーティサービス。
- IMPRESSUM.md — スイスの UWG に基づく運営者情報の開示。
- プライバシーポリシーと利用規約:nlqdb.com/privacy · nlqdb.com/terms。
ライセンス
FSL-1.1-ALv2 — Functional Source License、将来的に Apache 2.0 ライセンスとなります。競合しない用途であればソースを利用できます。各リリースから 2年後に自動的に Apache 2.0 に移行します。(Sentry、Convex などが採用している 方式です。)
nlqdb™ はプロジェクトのライセンサーが保有する未登録商標です。使用ガイドラインについては
TRADEMARKS.mdを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。