DBeaver MCP Server
OmniSQL MCP
ユニバーサルデータベース MCP サーバー — ローカルの DB クライアントワークスペース(DBeaver 互換)に保存済みの接続を使用して、AI アシスタントにデータベースへの読み取り/書き込みアクセス権を付与します。
データベースのサポート
ネイティブサポート(直接ドライバーを使用、高速):
PostgreSQL (via
pg)MySQL / MariaDB (via
mysql2)SQL Server / MSSQL (via
mssql)SQLite (via
sqlite3CLI)
Postgres 互換(自動的に pg ドライバー経由でルーティング):
CockroachDB, TimescaleDB, Amazon Redshift, YugabyteDB, AlloyDB, Supabase, Neon, Citus
その他のデータベース: OMNISQL_CLI_PATH で設定された外部 CLI にフォールバックします。結果は CLI によって異なります。
Related MCP server: MySQL MCP Server
機能
ローカルの DB クライアントワークスペースで既に設定済みの接続を再利用 — 重複した設定は不要
PostgreSQL, MySQL/MariaDB, SQLite, SQL Server 用のネイティブクエリ実行
設定可能なプールサイズとタイムアウトを備えたコネクションプーリング
トランザクションサポート (BEGIN/COMMIT/ROLLBACK)
クエリ実行計画の分析 (EXPLAIN)
マイグレーションスクリプト生成を伴う接続間のスキーマ比較
execute_queryで SELECT のみを強制する読み取り専用モードアクセス可能なデータベースを制限する接続ホワイトリスト
特定の操作を無効にするツールフィルタリング
危険な操作(DROP DATABASE, TRUNCATE, WHERE 句のない DELETE/UPDATE)をブロックするクエリ検証
CSV/JSON へのデータエクスポート
コネクションプールのクリーンアップを伴う正常なシャットダウン
要件
Node.js 18+
少なくとも 1 つの接続が設定されたローカル DB クライアント(DBeaver 互換)
インストール
npm install -g omnisql-mcp設定
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) に追加します:
{
"mcpServers": {
"omnisql": {
"command": "omnisql-mcp"
}
}
}Claude Code
~/.claude/settings.json に追加します:
{
"mcpServers": {
"omnisql": {
"command": "omnisql-mcp"
}
}
}Cursor
Cursor の設定 > MCP Servers に追加します:
{
"mcpServers": {
"omnisql": {
"command": "omnisql-mcp"
}
}
}環境変数
変数 | 説明 | デフォルト |
| 外部 DB クライアント CLI へのパス(非対応ドライバーのフォールバック用) | 未設定 |
| ローカル DB クライアントのワークスペースディレクトリへのパス | OS デフォルト |
| クエリタイムアウト (ms) |
|
| デバッグログの有効化 |
|
| すべての書き込み操作を無効化 |
|
| 接続 ID または名前のカンマ区切りホワイトリスト | すべて |
| 無効にするツールのカンマ区切りリスト | なし |
| プールごとの最小接続数 |
|
| プールごとの最大接続数 |
|
| アイドル接続タイムアウト (ms) |
|
| 接続取得タイムアウト (ms) |
|
読み取り専用モード
すべての書き込み操作をブロックします。execute_query ツールは SELECT, EXPLAIN, SHOW, DESCRIBE 文のみを許可します。トランザクションツールは完全に無効化されます。
{
"mcpServers": {
"omnisql": {
"command": "omnisql-mcp",
"env": {
"OMNISQL_READ_ONLY": "true"
}
}
}
}接続ホワイトリスト
表示するワークスペース接続を制限します。接続 ID または表示名をカンマ区切りで指定します:
{
"mcpServers": {
"omnisql": {
"command": "omnisql-mcp",
"env": {
"OMNISQL_ALLOWED_CONNECTIONS": "dev-postgres,staging-mysql"
}
}
}
}特定のツールの無効化
{
"mcpServers": {
"omnisql": {
"command": "omnisql-mcp",
"env": {
"OMNISQL_DISABLED_TOOLS": "drop_table,alter_table,write_query"
}
}
}
}利用可能なツール
接続管理
list_connections- すべてのデータベース接続を一覧表示get_connection_info- 接続の詳細を取得test_connection- 接続性をテスト
データ操作
execute_query- 読み取り専用クエリを実行 (SELECT, EXPLAIN, SHOW, DESCRIBE のみ)write_query- INSERT/UPDATE/DELETE を実行export_data- CSV/JSON にエクスポート
スキーマ管理
list_tables- テーブルとビューを一覧表示get_table_schema- テーブル構造を取得create_table- テーブルを作成alter_table- テーブルを変更drop_table- テーブルを削除(確認が必要)
トランザクション
begin_transaction- 新しいトランザクションを開始execute_in_transaction- トランザクション内でクエリを実行commit_transaction- トランザクションをコミットrollback_transaction- トランザクションをロールバック
クエリ分析
explain_query- クエリ実行計画を分析compare_schemas- 2 つの接続間でスキーマを比較get_pool_stats- コネクションプールの統計を取得
その他
get_database_stats- データベース統計append_insight- 分析メモを保存list_insights- 保存されたメモを取得
セキュリティ
読み取り専用の強制:
execute_queryは読み取り専用のステートメント (SELECT, EXPLAIN, SHOW, DESCRIBE, PRAGMA) のみを受け付けます。書き込み操作にはwrite_queryを使用する必要があります。クエリ検証: DROP DATABASE, DROP SCHEMA, TRUNCATE, WHERE 句のない DELETE/UPDATE, GRANT, REVOKE, およびユーザー管理ステートメントをブロックします。
接続ホワイトリスト:
OMNISQL_ALLOWED_CONNECTIONSを介して公開される接続を制限します。ツールフィルタリング:
OMNISQL_DISABLED_TOOLSを介して任意のツールを無効化します。入力サニタイズ: 接続 ID と SQL 識別子は、インジェクションを防ぐためにサニタイズされます。
推奨事項: 本番環境で使用する場合は、防御的深層防御のためにデータベースレベルの読み取り専用ユーザーも併用してください。
ワークスペース形式のサポート
DBeaver 互換の DB クライアントによって書き込まれた両方の設定形式をサポートしています:
レガシー:
.metadata/.plugins/org.jkiss.dbeaver.core/内の XML 設定モダン:
General/.dbeaver/内の JSON 設定
認証情報は、ワークスペースの credentials-config.json から自動的に復号化されます。
開発
git clone https://github.com/srthkdev/omnisql-mcp.git
cd omnisql-mcp
npm install
npm run build
npm test
npm run lintライセンス
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/srthkdev/omnisql-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server