mcpField
D
DBHub Analytics

DBHub Analytics

ローカル
github.com/amansingh63データベース030 週間前に更新

DBHub Analytics について

DBHub Analytics は、AI アシスタントをクラウドデータウェアハウスやリレーショナルデータベースに接続するオープンソースの MCP サーバーです。スキーマ探索と SQL ツールに加え、読み取り専用、行数制限、タイムアウトによる保護機能を備えます。

主な機能

  1. 017 種類のデータベースに接続
  2. 02TOML から複数データベースに接続
  3. 03カタログ、スキーマ、テーブルの探索
  4. 04読み取り専用と行数制限付き SQL 実行
  5. 05再利用可能なパラメーター付き SQL ツールの定義
  6. 06SSH トンネルと SSL/TLS の利用

活用シーン

  1. 01分析のため Databricks や BigQuery を検索
  2. 02スキーマ探索とデータベース問題の診断
  3. 03本番の読み取りレプリカを安全に検索
  4. 04複数データベースの分析結果を比較

MCP 対応

MCP クライアントに SQL 実行、データベースオブジェクト検索、設定可能なカスタムツールを提供します。DSN または複数データベース用 TOML 設定で対応データベースに接続します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"amansingh63-dbhub-analytics": {
"command": "npx",
"args": [
"-y",
"dbhub-analytics"
],
"env": {
"DSN": "<DSN>",
"DB_TYPE": "<DB_TYPE>",
"DB_HOST": "<DB_HOST>",
"DB_PORT": "<DB_PORT>",
"DB_USER": "<DB_USER>",
"DB_PASSWORD": "<DB_PASSWORD>",
"DB_NAME": "<DB_NAME>",
"TRANSPORT": "<TRANSPORT>",
"PORT": "<PORT>",
"ID": "<ID>",
"SSH_HOST": "<SSH_HOST>",
"SSH_PORT": "<SSH_PORT>",
"SSH_USER": "<SSH_USER>",
"SSH_PASSWORD": "<SSH_PASSWORD>",
"SSH_KEY": "<SSH_KEY>",
"SSH_PASSPHRASE": "<SSH_PASSPHRASE>"
}
}
}
}
起動コマンドnpx -y dbhub-analytics
設定が必要な環境変数
DSNシークレットDatabase connection string (e.g., postgres://user:pass@host:5432/db)
DB_TYPEDatabase type: postgres, mysql, mariadb, sqlserver, sqlite, databricks, bigquery
DB_HOSTDatabase hostname
DB_PORTDatabase port
DB_USERDatabase username
DB_PASSWORDシークレットDatabase password
DB_NAMEDatabase name or SQLite file path
TRANSPORTTransport mode: stdio or http
PORTHTTP server port (default: 8080)
IDInstance identifier for tool names
SSH_HOSTSSH server hostname
SSH_PORTSSH server port (default: 22)
SSH_USERSSH username
SSH_PASSWORDシークレットSSH password
SSH_KEYシークレットPath to SSH private key
SSH_PASSPHRASEシークレットSSH key passphrase

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmdbhub-analytics0.2.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

DBHub Analytics

Databricks、Google BigQuery、PostgreSQL、MySQL、SQL Server、SQLite、MariaDB に対応したユニバーサルなデータベース MCP サーバー

npm version License: MIT

Bytebase による DBHub をベースに構築されています。

DBHub Analytics とは?

DBHub Analytics は、Claude Desktop、Claude Code、Cursor、VS Code Copilot などの AI アシスタントや、その他の MCP 互換クライアントをデータベースに接続する、オープンソースの MCP(Model Context Protocol) サーバーです。Databricks SQL ウェアハウス、Google BigQuery データセット、PostgreSQL、MySQL などに、統一された単一のインターフェースからクエリを実行できます。

            +------------------+    +--------------+    +------------------+
            |                  |    |              |    |                  |
            |  Claude Desktop  +--->+              +--->+    PostgreSQL    |
            |                  |    |              |    |                  |
            |  Claude Code     +--->+              +--->+    SQL Server    |
            |                  |    |    DBHub     |    |                  |
            |  Cursor          +--->+   Analytics  +--->+    SQLite        |
            |                  |    |              |    |                  |
            |  VS Code         +--->+              +--->+    MySQL         |
            |                  |    |              |    |                  |
            |  Copilot CLI     +--->+              +--->+    MariaDB       |
            |                  |    |              |    |                  |
            |                  |    |              +--->+    Databricks    |
            |                  |    |              |    |                  |
            |                  |    |              +--->+    BigQuery      |
            |                  |    |              |    |                  |
            +------------------+    +--------------+    +------------------+
                 MCP Clients           MCP Server             Databases

主な機能

  • クラウドデータウェアハウス:分析ワークロード向けに Databricks SQL と Google BigQuery に接続できます
  • 従来型データベース:PostgreSQL、MySQL、MariaDB、SQL Server、SQLite を完全にサポートします
  • マルチデータベース:単一の TOML 設定ファイルで複数のデータベースに同時接続できます
  • スキーマエクスプローラー:段階的に情報を表示し、カタログ、データセット、スキーマ、テーブル、カラムを参照できます
  • 安全対策:読み取り専用モード、行数制限、クエリータイムアウトにより、制御不能な操作を防ぎます
  • セキュアなアクセス:SSH トンネリング、SSL/TLS 暗号化、サービスアカウント認証に対応します
  • 設定不要:DSN を指定するだけで利用できます。ドライバーのインストールや複雑な設定は不要です

対応データベース

データベースDSN プロトコルステータス
PostgreSQLpostgres://安定版
MySQLmysql://安定版
MariaDBmariadb://安定版
SQL Serversqlserver://安定版
SQLitesqlite:///安定版
Databricks SQLdatabricks://安定版
Google BigQuerybigquery://安定版

MCP ツール

ツール説明
execute_sql読み取り専用の強制と行数制限を適用して SQL クエリーを実行します
search_objectsカタログ、スキーマ、テーブル、カラム、インデックス、ルーチンを参照します
カスタムツールdbhub.toml で再利用可能なパラメーター付き SQL クエリーを定義します

クイックスタート

NPM(推奨)
npx dbhub-analytics --dsn "postgres://user:password@localhost:5432/dbname"
Databricks SQL
npx dbhub-analytics --dsn "databricks://token:[email protected]/sql/2.0/warehouses/your_warehouse_id"
Google BigQuery
npx dbhub-analytics --dsn "bigquery://your-gcp-project/your_dataset?keyFile=/path/to/service-account.json&location=US"
Docker
docker run --rm --init \
   --name dbhub-analytics \
   --publish 8080:8080 \
   amansingh63/dbhub-analytics \
   --transport http \
   --port 8080 \
   --dsn "postgres://user:password@localhost:5432/dbname"
デモモード
npx dbhub-analytics --demo

AI アシスタントに接続する

Claude Desktop / Claude Code

claude_desktop_config.json または .mcp.json に追加します:

{
  "mcpServers": {
    "dbhub-analytics": {
      "command": "npx",
      "args": ["-y", "dbhub-analytics", "--dsn", "bigquery://your-project/your_dataset?keyFile=/path/to/sa.json&location=US"]
    }
  }
}
GitHub Copilot(VS Code)

.vscode/mcp.json に追加します:

{
  "servers": {
    "dbhub-analytics": {
      "command": "npx",
      "args": ["-y", "dbhub-analytics", "--dsn", "postgres://user:pass@localhost:5432/dbname"]
    }
  }
}
Cursor

Cursor の MCP 設定(~/.cursor/mcp.json)に追加します:

{
  "mcpServers": {
    "dbhub-analytics": {
      "command": "npx",
      "args": ["-y", "dbhub-analytics", "--dsn", "databricks://token:YOUR_TOKEN@host/sql/2.0/warehouses/ID"]
    }
  }
}
Windsurf

Windsurf の MCP 設定(~/.codeium/windsurf/mcp_config.json)に追加します:

{
  "mcpServers": {
    "dbhub-analytics": {
      "command": "npx",
      "args": ["-y", "dbhub-analytics", "--dsn", "mysql://user:pass@localhost:3306/dbname"]
    }
  }
}
TOML 設定によるマルチデータベース接続

複数のデータベースに接続するには、上記のいずれかのクライアントで TOML 設定ファイルを使用します:

{
  "mcpServers": {
    "dbhub-analytics": {
      "command": "npx",
      "args": ["-y", "dbhub-analytics", "--config", "/path/to/dbhub.toml"]
    }
  }
}

設定

DSN 接続文字列
データベース形式
PostgreSQLpostgres://user:pass@host:5432/dbname?sslmode=require
MySQLmysql://user:pass@host:3306/dbname
MariaDBmariadb://user:pass@host:3306/dbname
SQL Serversqlserver://user:pass@host:1433/dbname
SQLitesqlite:///path/to/file.db または sqlite:///:memory:
Databricksdatabricks://token:TOKEN@host/sql/2.0/warehouses/ID?catalog=CAT&schema=SCH
BigQuerybigquery://PROJECT_ID/DATASET?keyFile=/path/to/key.json&location=US
マルチデータベースの設定(TOML)

複数のデータベースに同時接続できます。dbhub.toml ファイルを作成します:

[[sources]]
id = "databricks_prod"
type = "databricks"
host = "adb-xxx.azuredatabricks.net"
password = "dapi..."
path = "/sql/2.0/warehouses/abc123"

[[sources]]
id = "bigquery_analytics"
type = "bigquery"
project = "my-gcp-project"
database = "analytics_dataset"
location = "US"

[[sources]]
id = "postgres_prod"
type = "postgres"
host = "localhost"
port = 5432
database = "production"
user = "dbuser"
password = "secret"

次に、以下を実行します:

npx dbhub-analytics --config dbhub.toml

詳しくは、マルチデータベースの設定 とコマンドラインオプションをご覧ください。

ユースケース

  • データアナリスト:Claude に自然言語で Databricks または BigQuery のデータウェアハウスをクエリするよう依頼できます
  • バックエンドエンジニア:データベースのスキーマを調べ、診断用クエリを実行し、AI を使って問題をデバッグできます
  • DevOps/SRE:読み取り専用モードと行数制限を使って、本番環境のリードレプリカに安全に接続できます
  • データサイエンティスト:複数のデータベースに同時にクエリを実行し、PostgreSQL と BigQuery のインサイトを結合できます

開発

# Install dependencies
pnpm install

# Run in development mode
pnpm dev

# Build for production
pnpm build

# Run tests
pnpm test

クレジット

オープンソースのデータベース DevSecOps プラットフォームである Bytebase の DBHub を基盤として構築されています。MIT ライセンスのもとで提供されています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。