关于 MCP Vertica
MCP Vertica 将 MCP 客户端连接到 Vertica 数据库,以执行查询和管理架构。它支持结果流式传输、批量加载、连接控制,以及按操作和架构配置权限。
主要功能
- 01执行 SQL 查询
- 02分批流式传输查询结果
- 03使用 COPY 批量加载数据
- 04检查表、索引和视图
- 05管理事务与连接
- 06配置操作和架构权限
适用场景
- 01对 Vertica 数据库执行 SQL
- 02分批处理大型查询结果
- 03使用 COPY 加载大型数据集
- 04按操作和架构限制写入或 DDL 权限
MCP 相关
向 MCP 客户端提供 Vertica 查询、数据加载和架构管理工具。可通过 uvx 或 Docker 配置供客户端使用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Vertica
🏆 首个 Vertica MCP 服务实现 • 了解更多
✅ 已列入 Model Context Protocol 官方注册表
Vertica MCP(model-context-protocol)服务
示例:MCP 服务设置
创建或编辑 MCP 客户端配置文件,并填入以下内容:
UVX
{
"mcpServers": {
"vertica": {
"command": "uvx",
"args": ["mcp-vertica"],
"env": {
"VERTICA_HOST": "localhost",
"VERTICA_PORT": 5433,
"VERTICA_DATABASE": "VMart",
"VERTICA_USER": "dbadmin",
"VERTICA_PASSWORD": "test_password",
"VERTICA_CONNECTION_LIMIT": 10,
"VERTICA_SSL": false,
"VERTICA_SSL_REJECT_UNAUTHORIZED": true
}
}
}
}
或者使用 args
{
"mcpServers": {
"vertica": {
"command": "uvx",
"args": [
"mcp-vertica",
"--host=localhost",
"--db-port=5433",
"--database=VMart",
"--user=dbadmin",
"--password=test_password",
"--connection-limit=10"
]
}
}
}
Docker
{
"mcpServers": {
"vertica": {
"command": "docker",
"args": ["run", "-i", "--rm", "nolleh/mcp-vertica"],
"env": {
"VERTICA_HOST": "localhost",
"VERTICA_PORT": 5433,
"VERTICA_DATABASE": "VMart",
"VERTICA_USER": "dbadmin",
"VERTICA_PASSWORD": "test_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
- 在日志中屏蔽密码
工具
数据库操作
-
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
安装
通过 Smithery 安装
通过 Smithery 自动为 Claude Desktop 安装 Vertica 数据库连接器:
npx -y @smithery/cli install @nolleh/mcp-vertica --client claude
手动安装
打开你常用的 MCP 客户端配置文件,然后配置 uvx mcp-vertica
开发
调试模式
使用 Docker 运行时,可通过设置 DEBUG 环境变量来启用调试日志:
# Run with maximum verbosity (-vvv)
docker run -e DEBUG=3 -e VERTICA_HOST=localhost ... nolleh/mcp-vertica:latest
# Run with medium verbosity (-vv)
docker run -e DEBUG=2 -e VERTICA_HOST=localhost ... nolleh/mcp-vertica:latest
# Pass additional arguments
docker run -e EXTRA_ARGS="--connection-limit=20" -e VERTICA_HOST=localhost ... nolleh/mcp-vertica:latest
在 docker-compose.yml 中:
environment:
DEBUG: 3 # 0=none, 1=-v, 2=-vv, 3=-vvv
EXTRA_ARGS: "--connection-limit=20" # Optional additional arguments
附录:用于测试的 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
mcp-vertica:
image: nolleh/mcp-vertica:latest
container_name: mcp-vertica
ports:
- "8081:8081"
environment:
# Transport mode
TRANSPORT: http
PORT: 8081
# Debug settings (0=none, 1=-v, 2=-vv, 3=-vvv)
DEBUG: 3 # Set to 3 for maximum verbosity
# Extra command line arguments (optional)
# EXTRA_ARGS: "--some-flag"
# Vertica connection settings
VERTICA_HOST: vertica
VERTICA_PORT: 5433
VERTICA_DATABASE: VMart
VERTICA_USER: dbadmin
VERTICA_PASSWORD: ""
VERTICA_CONNECTION_LIMIT: 10
VERTICA_SSL: "false"
depends_on:
vertica:
condition: service_healthy
volumes:
vertica_data:
driver: local
然后按照示例:Mcp 服务设置中的说明运行服务, 接着检查一切是否正常运行
许可证
本项目采用 MIT 许可证授权,详情请参阅 LICENSE 文件。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
