🚀 MCP Vertica
MCP Vertica 是一個 Vertica MCP(模型-上下文-協議)服務器,為數據庫操作提供了便捷的解決方案,支持數據庫連接管理、查詢操作、模式管理等功能。

🚀 快速開始
MCP 服務器設置示例
創建或編輯 MCP 客戶端配置文件,添加以下內容:
{
"mcpServers": {
"vertica": {
"command": "uvx",
"args": [
"mcp-vertica",
"--host=localhost",
"--db-port=5433",
"--database=VMart",
"--user=dbadmin",
"--password=",
"--connection-limit=10"
]
}
}
}
或者使用環境變量配置:
{
"mcpServers": {
"vertica": {
"command": "uvx",
"args": ["mcp-vertica"],
"env": {
"VERTICA_HOST":"localhost",
"VERTICA_PORT":5433,
"VERTICA_DATABASE":"VMart",
"VERTICA_USER":"dbadmin",
"VERTICA_PASSWORD":"",
"VERTICA_CONNECTION_LIMIT":10,
"VERTICA_SSL":false,
"VERTICA_SSL_REJECT_UNAUTHORIZED":true
}
}
}
}
⚠️ 重要提示
- 對於布爾標誌,如
--ssl 或 --ssl-reject-unauthorized,添加該標誌(例如 "--ssl")可啟用,省略則禁用。
- 空密碼使用空字符串,如上述示例所示。
✨ 主要特性
數據庫連接管理
- 支持可配置限制的連接池。
- 支持 SSL/TLS。
- 自動清理連接。
- 處理連接超時。
查詢操作
- 執行 SQL 查詢。
- 批量流式處理大查詢結果。
- 支持數據複製操作。
- 支持事務管理。
模式管理
- 檢查表結構。
- 管理索引。
- 管理視圖。
- 獲取約束信息。
- 查看列詳細信息。
安全特性
- 支持操作級權限(INSERT、UPDATE、DELETE、DDL)。
- 支持模式特定權限。
- 支持 SSL/TLS。
- 在日誌中屏蔽密碼。
💻 使用示例
基礎用法
以下是 MCP 服務器配置的基礎用法示例:
{
"mcpServers": {
"vertica": {
"command": "uvx",
"args": [
"mcp-vertica",
"--host=localhost",
"--db-port=5433",
"--database=VMart",
"--user=dbadmin",
"--password=",
"--connection-limit=10"
]
}
}
}
高級用法
使用環境變量配置 MCP 服務器:
{
"mcpServers": {
"vertica": {
"command": "uvx",
"args": ["mcp-vertica"],
"env": {
"VERTICA_HOST":"localhost",
"VERTICA_PORT":5433,
"VERTICA_DATABASE":"VMart",
"VERTICA_USER":"dbadmin",
"VERTICA_PASSWORD":"",
"VERTICA_CONNECTION_LIMIT":10,
"VERTICA_SSL":false,
"VERTICA_SSL_REJECT_UNAUTHORIZED":true
}
}
}
}
📚 詳細文檔
工具
數據庫操作
execute_query
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
📦 安裝指南
通過 Smithery 安裝
要通過 Smithery 自動安裝 Vertica 數據庫連接器,請執行以下命令:
npx -y @smithery/cli install @nolleh/mcp-vertica --client claude
手動安裝
uvx mcp-vertica
📄 許可證
本項目採用 MIT 許可證 - 詳情請參閱 LICENSE 文件。
🔧 技術細節
在 Docker 環境中運行
使用 Docker Compose 運行 Vertica 時,可以按以下方式運行 MCP 服務器:
1. 使用直接參數運行
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: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