MCP ヴェルティカ
Vertica MCP(モデル・コンテキスト・プロトコル)サーバー
例: MCP サーバー設定
次の内容で、mcp クライアント構成ファイルを作成または編集します。
{
"mcpServers": {
"vertica": {
"command": "uvx",
"args": [
"mcp-vertica",
"--host=localhost",
"--db-port=5433",
"--database=VMart",
"--user=dbadmin",
"--password=",
"--connection-limit=10"
]
}
}
}
[!注記]
--ssl
や--ssl-reject-unauthorized
などのブールフラグの場合、有効にするにはフラグ (例: "--ssl"
) を追加するだけで、無効にするには省略できます。- 空のパスワードの場合は、上記のように空の文字列を使用します。
特徴
データベース接続管理
- 設定可能な制限を備えた接続プール
- SSL/TLS サポート
- 自動接続クリーンアップ
- 接続タイムアウト処理
クエリ操作
- SQLクエリを実行する
- 大規模なクエリ結果をバッチでストリーミングする
- データコピー操作
- トランザクション管理
スキーマ管理
- テーブル構造の検査
- インデックス管理
- ビュー管理
- 制約情報
- 列の詳細
セキュリティ機能
- 操作レベルの権限(INSERT、UPDATE、DELETE、DDL)
- スキーマ固有の権限
- SSL/TLS サポート
- ログ内のパスワードマスキング
ツール
データベース操作
execute_query
- SQLクエリを実行する
- すべてのSQL操作のサポート
stream_query
- 大規模なクエリ結果をバッチでストリーミングする
- 設定可能なバッチサイズ
copy_data
- COPYコマンドを使用した一括データロード
- 大規模なデータセットに効率的
スキーマ管理
get_table_structure
list_indexes
- テーブルのすべてのインデックスを一覧表示する
- インデックスの種類と一意性
- 列情報
list_views
- スキーマ内のすべてのビューを一覧表示する
- 定義を表示
構成
環境変数
VERTICA_HOST=localhost
VERTICA_PORT=5433
VERTICA_DATABASE=VMart
VERTICA_USER=newdbadmin
VERTICA_PASSWORD=vertica
VERTICA_CONNECTION_LIMIT=10
VERTICA_SSL=false
VERTICA_SSL_REJECT_UNAUTHORIZED=true
操作権限
ALLOW_INSERT_OPERATION=false
ALLOW_UPDATE_OPERATION=false
ALLOW_DELETE_OPERATION=false
ALLOW_DDL_OPERATION=false
スキーマ権限
SCHEMA_INSERT_PERMISSIONS=schema1:true,schema2:false
SCHEMA_UPDATE_PERMISSIONS=schema1:true,schema2:false
SCHEMA_DELETE_PERMISSIONS=schema1:true,schema2:false
SCHEMA_DDL_PERMISSIONS=schema1:true,schema2:false
インストール
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。
Docker環境で実行
Docker Compose を使用して Vertica を実行する場合、次のように MCP サーバーを実行できます。
uvx mcp-vertica \
--host localhost \
--db-port 5433 \
--database VMart \
--user dbadmin \
--password "" \
--connection-limit 10
2. 環境変数を使って実行する
次の内容の.env
ファイルを作成します。
VERTICA_HOST=localhost
VERTICA_PORT=5433
VERTICA_DATABASE=test_db
VERTICA_USER=test_user
VERTICA_PASSWORD=test_password
VERTICA_CONNECTION_LIMIT=10
VERTICA_SSL=false
VERTICA_SSL_REJECT_UNAUTHORIZED=true
次に.envで実行します
uvx mcp-vertica \
--env-file .env
テスト用、VerticaDB Docker Compose の例
version: "3.8"
services:
vertica:
# image: vertica/vertica-ce:11.1.0-0
image: vertica/vertica-ce:latest
platform: linux/amd64
container_name: vertica-ce
environment:
VERTICA_MEMDEBUG: 2
ports:
- "5433:5433"
- "5444:5444"
volumes:
- vertica_data:/home/dbadmin/VMart
healthcheck:
test:
[
"CMD",
"/opt/vertica/bin/vsql",
"-h",
"localhost",
"-d",
"VMart",
"-U",
"dbadmin",
"-c",
"SELECT 1",
]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
restart: unless-stopped
volumes:
vertica_data:
driver: local