DBHubは、モデルコンテキストプロトコル(MCP)サーバーインターフェースを実装した汎用データベースゲートウェイです。このゲートウェイにより、MCP対応クライアントは様々なデータベースに接続し、情報を参照することができます。
デモ SSE エンドポイント
https://demo.dbhub.ai/sse はサンプルの従業員データベースに接続します。Cursor または MCP Inspector でデータベースを指定して、実際の動作を確認できます。
サポートされているマトリックス
データベースリソース
リソース名 | URI形式 | PostgreSQL | MySQL | マリアDB | SQL サーバー | SQLite | オラクル |
---|---|---|---|---|---|---|---|
スキーマ | db://schemas | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
スキーマ内のテーブル | db://schemas/{schemaName}/tables | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
スキーマ内のテーブル構造 | db://schemas/{schemaName}/tables/{tableName} | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
テーブル内のインデックス | db://schemas/{schemaName}/tables/{tableName}/indexes | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
スキーマ内の手順 | db://schemas/{schemaName}/procedures | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
スキーマ内の手順の詳細 | db://schemas/{schemaName}/procedures/{procedureName} | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
データベースツール
道具 | コマンド名 | PostgreSQL | MySQL | マリアDB | SQL サーバー | SQLite | オラクル |
---|---|---|---|---|---|---|---|
SQLを実行する | execute_sql | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
リストコネクタ | list_connectors | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
プロンプト機能
プロンプト | コマンド名 | PostgreSQL | MySQL | マリアDB | SQL サーバー | SQLite | オラクル |
---|---|---|---|---|---|---|---|
SQLを生成する | generate_sql | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
DB要素を説明する | explain_db | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
インストール
ドッカー
国立博物館
注: デモ モードには、従業員、部門、給与などのテーブルを含むバンドルされた SQLite サンプル「従業員」データベースが含まれています。
クロードデスクトップ
- Claude Desktop は
stdio
トランスポートのみをサポートしていますhttps://github.com/orgs/modelcontextprotocol/discussions/16
カーソル
- カーソルは
stdio
とsse
の両方をサポートします。 - カーソル MCP ガイドに従い、必ずエージェントモードを使用してください。
使用法
SSL接続
DSN 文字列のsslmode
パラメータを使用して SSL モードを指定できます。
データベース | sslmode=disable | sslmode=require | デフォルトのSSL動作 |
---|---|---|---|
PostgreSQL | ✅ | ✅ | 証明書の検証 |
MySQL | ✅ | ✅ | 証明書の検証 |
マリアDB | ✅ | ✅ | 証明書の検証 |
SQL サーバー | ✅ | ✅ | 証明書の検証 |
オラクル | ✅ | ✅ | 該当なし(Oracle クライアント構成を使用) |
SQLite | ❌ | ❌ | N/A (ファイルベース) |
SSL モード オプション:
sslmode=disable
: すべてのSSL/TLS暗号化が無効になります。データはプレーンテキストで送信されます。sslmode=require
: 接続は暗号化されますが、サーバーの証明書は検証されません。パケットスニッフィングに対する保護は提供されますが、中間者攻撃に対する保護は提供されません。信頼できる自己署名CAの場合に使用できます。
sslmode
を指定しないと、ほとんどのデータベースはデフォルトで証明書検証を実行し、最高レベルのセキュリティを実現します。
使用例:
読み取り専用モード
DBHub を読み取り専用モードで実行できます。これにより、SQL クエリの実行が読み取り専用操作に制限されます。
読み取り専用モードでは、読み取り専用の SQL 操作のみが許可されます。
これにより、実稼働データベースに接続するときにセキュリティがさらに強化されます。
データベース接続を構成する
テスト用にサンプル従業員データベースを使用して、DBHub をデモ モードで使用できます。
実際のデータベースでは、データベースソース名(DSN)が必要です。これはいくつかの方法で指定できます。
- コマンドライン引数(最高優先度):
- 環境変数(第2優先度):
- 環境ファイル(優先度3):
- 開発の場合: DSNで
.env.local
を作成します - 本番環境の場合: DSN GXP14 で
.env
を作成します。
- 開発の場合: DSNで
[!警告] Dockerで実行する場合、ホストマシンで実行されているデータベースに接続するには、
localhost
ではなくhost.docker.internal
を使用してください。例:mysql://user:password@host.docker.internal:3306/dbname
DBHub は次のデータベース接続文字列形式をサポートしています。
データベース | DSNフォーマット | 例 |
---|---|---|
MySQL | mysql://[user]:[password]@[host]:[port]/[database] | mysql://user:password@localhost:3306/dbname?sslmode=disable |
マリアDB | mariadb://[user]:[password]@[host]:[port]/[database] | mariadb://user:password@localhost:3306/dbname?sslmode=disable |
PostgreSQL | postgres://[user]:[password]@[host]:[port]/[database] | postgres://user:password@localhost:5432/dbname?sslmode=disable |
SQL サーバー | sqlserver://[user]:[password]@[host]:[port]/[database] | sqlserver://user:password@localhost:1433/dbname?sslmode=disable |
SQLite | sqlite:///[path/to/file] またはsqlite::memory: | sqlite:///path/to/database.db 、 sqlite:C:/Users/YourName/data/database.db (windows) またはsqlite::memory: |
オラクル | oracle://[user]:[password]@[host]:[port]/[service_name] | oracle://username:password@localhost:1521/service_name?sslmode=disable |
オラクル
「NJS-138: このデータベース サーバー バージョンへの接続は、Thin モードの node-oracledb ではサポートされていません」というエラーが表示される場合は、以下に説明するように Thick モードを使用する必要があります。
ドッカー
bytebase bytebase/dbhub
docker イメージの代わりにbytebase/dbhub-oracle-thick
使用します。
npx
- お使いのプラットフォーム用のOracle Instant Clientをダウンロードしてインストールします
ORACLE_LIB_DIR
環境変数を Oracle Instant Client のパスに設定します。
SQL サーバー
追加のクエリパラメータ:
認証
authentication=azure-active-directory-access-token
。Azureから実行する場合にのみ適用されます。DefaultAzureCredential を参照してください。
輸送
- stdio (デフォルト) - Claude Desktop などのツールと直接統合する場合:
- sse - ブラウザおよびネットワーククライアントの場合:
コマンドラインオプション
オプション | 説明 | デフォルト |
---|---|---|
デモ | サンプル従業員データベースを使用してデモモードで実行する | false |
dsn | データベース接続文字列 | デモモードでない場合は必須 |
輸送 | トランスポートモード: stdio またはsse | stdio |
ポート | HTTP サーバー ポート ( --transport=sse を使用する場合にのみ適用されます) | 8080 |
読み取り専用 | SQL 実行を読み取り専用操作に制限する | false |
デモモードでは、従業員、部門、役職、給与、部門従業員、部門マネージャーのテーブルを含むサンプル従業員データベースがロードされたインメモリSQLiteデータベースを使用します。サンプルデータベースには、テーブル作成、データロード、テスト用のSQLスクリプトが含まれています。
発達
- 依存関係をインストールします:
- 開発モードで実行:
- 生産用にビルド:
テスト
このプロジェクトではテストに Vitest を使用します。
- テストを実行:
pnpm test
- ウォッチモードでテストを実行する:
pnpm test:watch
コミット前フック(開発者向け)
プロジェクトには、各コミットの前にテストを自動的に実行するための事前コミットフックが含まれています。
- リポジトリのクローンを作成した後、コミット前のフックを設定します。
- これにより、コミットを作成するたびにテスト スイートが自動的に実行され、テストを中断させるコミットが防止されます。
MCP Inspectorでデバッグする
標準入出力
南南東
DBHubサーバーの/sse
エンドポイントに接続する
寄稿者
スターの歴史
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
MySQL、PostgreSQL、SQLite、DuckDB などに接続するユニバーサル データベース MCP サーバー。
Related Resources
Related MCP Servers
- -securityAlicense-qualityMCP to access any database accessible via JDBC such as Postgres, Oracle, mysql, mariadb, sqlite etc.Last updated -129Apache 2.0
- -securityAlicense-qualityAn MCP server that connects to Supabase PostgreSQL databases, exposing table schemas as resources and providing tools for data analysis through SQL queries.Last updated -JavaScriptMIT License
- -securityAlicense-qualityMCP-Server from your Database optimized for LLMs and AI-Agents. Supports PostgreSQL, MySQL, ClickHouse, Snowflake, MSSQL, BigQuery, Oracle Database, SQLite, ElasticSearch, DuckDBLast updated -402GoApache 2.0
- AsecurityAlicenseAqualityMCP server that allows interaction with PocketBase databases, enabling record operations (fetch, list, create, update), file management, and schema migrations through natural language.Last updated -208TypeScriptMIT License