Mcp Vertica

Mcp Vertica

🚀 MCP Vertica

MCP Vertica 是一个 Vertica MCP(模型-上下文-协议)服务器,为数据库操作提供了便捷的解决方案,支持数据库连接管理、查询操作、模式管理等功能。

MseeP.ai Security Assessment Badge smithery badge

🚀 快速开始

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
}
}
}
}

📚 详细文档

工具

数据库操作

  1. execute_query
    • 执行 SQL 查询。
    • 支持所有 SQL 操作。
  2. stream_query
    • 批量流式处理大查询结果。
    • 支持可配置的批量大小。
  3. copy_data
    • 使用 COPY 命令批量加载数据。
    • 对大型数据集高效。

模式管理

  1. get_table_structure
    • 获取详细的表结构。
    • 包括列信息和约束。
  2. list_indexes
    • 列出表的所有索引。
    • 包括索引类型和唯一性以及列信息。
  3. 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: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
  • 0 关注
  • 0 收藏,8 浏览
  • system 提出于 2025-09-24 06:00

相似服务问题

相关AI产品