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: Alibaba Cloud DMS 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
Available Tools
14 toolsalter_tableC
Modify existing table schema (add columns, rename tables, etc.)
Inputs: connectionId (required), query (required).
append_insightA
Add a business insight or analysis note to the memo
Inputs: insight (required), connection, tags.
create_tableC
Create new tables in the database
Inputs: connectionId (required), query (required).
drop_tableA
Remove a table from the database with safety confirmation
Inputs: confirm (required), connectionId (required), tableName (required).
execute_queryA
Execute a SQL query on a specific DBeaver connection (read-only queries)
Inputs: connectionId (required), query (required), maxRows.
export_dataC
Export query results to various formats (CSV, JSON, etc.)
Inputs: connectionId (required), query (required), format, includeHeaders, +1 more.
get_connection_infoC
Get detailed information about a specific DBeaver connection
Inputs: connectionId (required).
get_database_statsC
Get statistics and information about a database
Inputs: connectionId (required).
get_table_schemaB
Get schema information for a specific table
Inputs: connectionId (required), tableName (required), includeIndexes.
list_connectionsB
List all available DBeaver database connections
Inputs: includeDetails.
list_insightsA
List all stored business insights and analysis notes
Inputs: connection, tags.
list_tablesC
List all tables in a database
Inputs: connectionId (required), includeViews, schema.
test_connectionC
Test connectivity to a DBeaver connection
Inputs: connectionId (required).
write_queryA
Execute INSERT, UPDATE, or DELETE queries on a specific DBeaver connection
Inputs: connectionId (required), query (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 14 tools
Most tools have distinct purposes, but 'execute_query' and 'write_query' could cause confusion as both execute SQL queries, with the distinction being read-only vs. write operations. Other tools like 'create_table', 'alter_table', and 'drop_table' are clearly differentiated for table management.
All tools follow a consistent verb_noun naming pattern (e.g., 'create_table', 'list_connections', 'execute_query'), with no mixing of conventions like camelCase or snake_case variations. This predictability makes the tool set easy to navigate and understand.
With 14 tools, the count is well-scoped for a database management server, covering core operations like connection handling, query execution, table management, and data export. Each tool serves a specific function without redundancy, fitting the domain appropriately.
The tool set provides comprehensive coverage for database operations, including CRUD for tables, connection management, and query execution. A minor gap exists in data manipulation beyond basic queries, such as bulk operations or transaction handling, but core workflows are well-supported.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Draxlr's remote MCP server connects AI assistants to your SQL databases and dashboards. Explore schemas, run read-only queries, manage saved queries and dashboards, and export results, all with row-level security so each user sees only their own data.
Hosted SQL Server MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Related MCP Servers
FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables Large Language Models to access and interact with database connections, including viewing schemas and performing CRUD operations on connected databases.-- AlicenseAqualityCmaintenanceA Model Context Protocol server that enables large language models to access database metadata and perform cross-engine data querying across diverse database ecosystems.1654Apache 2.0
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides AI assistants with comprehensive access to SQL databases, enabling schema inspection, query execution, and database operations with enterprise-grade security.55 npm9MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that provides real-time database schema information to AI assistants, supporting both low-code system schema queries and traditional database metadata queries.4MIT