whodb について
WhoDB は、MCP ツールまたは CLI でデータベースを操作・分析するためのツールです。データベースのクエリやスキーマ確認に加え、プラットフォームのワークスペース選択と書き込みのプレビュー・確認手順を備えています。
主な機能
- 01SQL クエリの実行と結果確認
- 02スキーマ、テーブル、列の参照
- 03接続の管理と疎通テスト
- 04テーブルやクエリ結果のエクスポート
- 05プラットフォームのワークスペース選択と書き込みプレビュー
活用シーン
- 01新しいデータベースの構造を把握
- 02質問に応じたデータ検索と集計
- 03テーブルや絞り込んだクエリ結果の出力
- 04指定したワークスペースでのプラットフォーム操作
MCP 対応
`whodb mcp serve` はプラットフォームツールを公開し、データベースモジュールを有効にするとデータベースへ直接 MCP 接続できます。MCP ツールでクエリとスキーマ確認ができ、プラットフォームへの書き込みにはプレビューと承認済みの確認が必要です。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ clidey/ whodb --skill whodbインストール後、Claude Code で/whodbを入力して読み込まれたか確認します。
詳細
WhoDB データベースアシスタント
データベース操作には WhoDB を利用できます。これらのツールとコマンドを使って、データベースに関するタスクを支援してください。
Platform MCP(デフォルト)
whodb mcp serve はホストされたプラットフォームツールを公開します。必要なホストごとに
whodb login --host <url> でサインインしてください。まず whodb_platform_hosts で保存済みの
ホストとアカウントを確認し、次に workspace: {host} を指定して
whodb_platform_orgs を、workspace: {host, org} を指定して
whodb_platform_projects を実行します。
whodb_platform_workspace_resolve で対象を特定します。UAT、本番環境、またはプロジェクトをまたいで作業する場合は、以降のツールに
明示的な workspace: {host, org, project} を指定してください。対象は並列呼び出しを含めて各呼び出しに適用され、
保存済みのデフォルトは変更されません。返された scope を確認してください。別のセッションのデフォルトを切り替えるために
whodb use を実行しないでください。対象を省略した場合は、プロセスのオーバーライド、次に保存済みのデフォルトが使用されます。操作とペイロードについては whodb://platform/schema を参照してください。
書き込み操作は、ホスト、アカウント、組織、プロジェクトに紐づいたプレビューを返します。
そのプレビューの内容が承認された後にのみ確定してください。デフォルトを変更しても、保留中の確認先は変更されません。ホストで認証が必要な場合は whodb login --host <url> を実行するよう依頼してください。プロジェクトごとのログインは必要ありません。
ガイド付きセットアップ
このスキルは任意です。WhoDB MCP は独自の手順、ツールスキーマ、セットアップガイダンスを提供します。このスキルと異なる場合は、ライブ MCP ディスカバリーを優先してください。エントリーは 1 つだけにしてください。コマンドは whodb、引数は ["mcp", "serve"] です。
action: "inspect" を指定して whodb_mcp_setup を使用し、設定、対象、選択肢、設定スキーマを確認します。ユーザーの希望を尋ねた後、patch を指定して action: "preview" を実行します。提案された設定を提示し、返された confirmation_token と approved: true を指定して action: "apply" を実行する前に承認を得てください。apply と一緒にパッチを送信しないでください。トークンの有効期限は 5 分です。有効なのは最新のプレビューのみです。設定を変更した後は MCP を再起動し、その後 action: "verify" を実行してください。検証ではアクティブな設定を確認します。省略されたパッチフィールドは保持されます。
このフローにシェルアクセスは必要ありません。ブラウザーでのサインインと認証情報の入力はユーザーが行います。チャットで認証情報を尋ねないでください。セットアップツールが除外されている場合は、ユーザーに whodb setup を実行するよう依頼してください。CLI エージェントは代わりに whodb setup inspect、validate、apply --yes、verify を使用できます。
アクティブなモジュールと制限については whodb://mcp/configuration を確認してください。
プラットフォームの呼び出しでは workspace を、データベースの呼び出しでは connection を対象に指定します。
データベース専用 MCP
whodb setup でデータベースモジュールを有効にしてください。両方のモジュールを同じ whodb mcp serve 接続で実行できます。--database は高度なプロセスオーバーライドとして引き続き使用できます。
これは WhoDB プラットフォームサーバーを介さずにデータベースへ直接接続します。データベースは
リモートに配置することもできます。ターミナル UI は whodb --tui で利用できます。
データベースツール
データベース専用 MCP が設定されている場合は、以下のツールを直接使用します。
whodb_connections
利用可能なすべてのデータベース接続を一覧表示します。
No parameters required.
Returns: List of connection names with type and source (env/saved).
whodb_query
データベースに対して SQL クエリを実行します。
Parameters:
- connection: Connection name (optional if only one connection exists)
- query: SQL query to execute
Example: whodb_query(connection="mydb", query="SELECT * FROM users LIMIT 10")
whodb_schemas
データベース内のすべてのスキーマを一覧表示します。
Parameters:
- connection: Connection name (optional if only one connection exists)
- include_tables: Set true to also return tables within each schema (optional)
Example: whodb_schemas(connection="mydb")
Example: whodb_schemas(connection="mydb", include_tables=true)
whodb_tables
スキーマ内のすべてのテーブルを一覧表示します。
Parameters:
- connection: Connection name (optional if only one connection exists)
- schema: Schema name (optional, uses default if not specified)
- include_columns: Set true to also return column details for every table (optional)
Example: whodb_tables(connection="mydb", schema="public")
Example: whodb_tables(connection="mydb", schema="public", include_columns=true)
whodb_columns
テーブルのカラムについて説明します。
Parameters:
- connection: Connection name (optional if only one connection exists)
- table: Table name (required)
- schema: Schema name (optional)
Example: whodb_columns(connection="mydb", table="users")
CLI コマンド(フォールバック)
MCP ツールを利用できない場合は、Bash 経由で CLI を直接使用します。
クエリの実行
whodb query "SELECT * FROM users LIMIT 10" --connection mydb --format json
スキーマの確認
# List schemas
whodb schemas --connection mydb --format json
# List tables
whodb tables --connection mydb --schema public --format json
# Describe columns
whodb columns --connection mydb --table users --format json
接続の管理
# List connections
whodb connections list --format json
# Test connection
whodb connections test mydb
# Add new connection (interactive)
whodb connections add --name mydb --type Postgres --host localhost --database mydb
データのエクスポート
# Export to CSV
whodb export --connection mydb --table users --output users.csv
# Export query results
whodb export --connection mydb --query "SELECT * FROM orders" --output orders.xlsx
ワークフローの例
新しいデータベースを調べる(効率的な方法)
- 接続を一覧表示します:
whodb_connections - 1 回の呼び出しでカラムとともにテーブルを取得します:
whodb_tables(connection="name", include_columns=true) - サンプルデータを取得します:
whodb_query(connection="name", query="SELECT * FROM users LIMIT 5")
クエリ結果にはカラム名とともに column_types が含まれるため、別途呼び出さなくてもデータ型を確認できます。
新しいデータベースの調査(複数スキーマ)
- 接続を一覧表示します:
whodb_connections - テーブルを含むすべてのスキーマを取得します:
whodb_schemas(connection="name", include_tables=true) - 対象のスキーマの列を取得します:
whodb_tables(connection="name", schema="public", include_columns=true) - クエリを実行します:
whodb_query(connection="name", query="SELECT * FROM users LIMIT 5")
データに関する質問への回答
- まずスキーマを把握します。テーブル構造を確認してください
- 適切なフィルターを使って、目的を絞ったクエリを作成します
- 調査用のクエリでは、必ずLIMITを使用します
- 結果をわかりやすく読みやすい形式で提示します
ベストプラクティス
- クエリを作成する前に、必ずスキーマを調査してください
- 調査用のクエリではLIMITを使用し、出力が多くなりすぎないようにしてください
- *明確さを高めるため、SELECT よりも特定の列を指定してください
- whodb_columnsで外部キーを確認し、関係を把握してください
- 出力をプログラムで解析する場合は、JSON形式(--format json)を使用してください
- 認証情報は絶対に公開しないでください。接続文字列ではなく、接続名を使用してください