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
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 服务器:
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: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