Vertica Database Connector

数据与存储

by nolleh

通过执行 SQL、管理 schema 信息并高效处理大数据流,实现与 Vertica 数据库的安全交互;支持 SSL/TLS 与细粒度权限控制。

什么是 Vertica Database Connector

通过执行 SQL、管理 schema 信息并高效处理大数据流,实现与 Vertica 数据库的安全交互;支持 SSL/TLS 与细粒度权限控制。

README

MseeP.ai Security Assessment Badge

MCP Vertica

PyPI version License: MIT Downloads smithery badge MCP Community

🏆 First implementation of Vertica MCP ServerLearn more

Listed in Model Context Protocol Official Registry

A Vertica MCP(model-context-protocol) Server

<a href="https://glama.ai/mcp/servers/@nolleh/mcp-vertica"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@nolleh/mcp-vertica/badge" alt="Vertica MCP server" /> </a>

Example: MCP Server Setting

Create or edit the file your mcp client config file with the following content:

UVX

json
{
  "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
      }
    }
  }
}

Or with args

json
{
  "mcpServers": {
    "vertica": {
      "command": "uvx",
      "args": [
        "mcp-vertica",
        "--host=localhost",
        "--db-port=5433",
        "--database=VMart",
        "--user=dbadmin",
        "--password=test_password",
        "--connection-limit=10"
      ]
    }
  }
}

Docker

json
{
  "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
      }
    }
  }
}

[!Note]

  • For boolean flags like --ssl or --ssl-reject-unauthorized, simply add the flag (e.g., "--ssl") to enable it, or omit it to disable.
  • For an empty password, use an empty string as shown above.

Features

Database Connection Management

  • Connection pooling with configurable limits
  • SSL/TLS support
  • Automatic connection cleanup
  • Connection timeout handling

Query Operations

  • Execute SQL queries
  • Stream large query results in batches
  • Copy data operations
  • Transaction management

Schema Management

  • Table structure inspection
  • Index management
  • View management
  • Constraint information
  • Column details

Security Features

  • Operation-level permissions (INSERT, UPDATE, DELETE, DDL)
  • Schema-specific permissions
  • SSL/TLS support
  • Password masking in logs

Tools

Database Operations

  1. execute_query

    • Execute SQL queries
    • Support for all SQL operations
  2. stream_query

    • Stream large query results in batches
    • Configurable batch size
  3. copy_data

    • Bulk data loading using COPY command
    • Efficient for large datasets

Schema Management

  1. get_table_structure

    • Get detailed table structure
    • Column information
    • Constraints
  2. list_indexes

    • List all indexes for a table
    • Index type and uniqueness
    • Column information
  3. list_views

    • List all views in a schema
    • View definitions

Configuration

Environment Variables

env
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

Operation Permissions

env
ALLOW_INSERT_OPERATION=false
ALLOW_UPDATE_OPERATION=false
ALLOW_DELETE_OPERATION=false
ALLOW_DDL_OPERATION=false

Schema Permissions

env
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

Installation

Installing via Smithery

To install Vertica Database Connector for Claude Desktop automatically via Smithery:

bash
npx -y @smithery/cli install @nolleh/mcp-vertica --client claude

Installing Manually

Open your favorite mcp client's config file, then configure with uvx mcp-vertica

Example: Mcp Server Setting

Development

Debug Mode

When running with Docker, you can enable debug logging by setting the DEBUG environment variable:

bash
# 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

In docker-compose.yml:

yaml
environment:
  DEBUG: 3  # 0=none, 1=-v, 2=-vv, 3=-vvv
  EXTRA_ARGS: "--connection-limit=20"  # Optional additional arguments

Appendix: For Testing, VerticaDB Docker Compose Example

yaml
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

Then run server by following instruction Example: Mcp Server Setting, Then see everything works as fine

License

This project is licensed under the MIT License - see the LICENSE file for details.

常见问题

Vertica Database Connector 是什么?

通过执行 SQL、管理 schema 信息并高效处理大数据流,实现与 Vertica 数据库的安全交互;支持 SSL/TLS 与细粒度权限控制。

相关 Skills

迁移架构师

by alirezarezvani

Universal
热门

为数据库、API 与基础设施迁移制定分阶段零停机方案,提前校验兼容性与风险,生成回滚策略、验证关卡和时间线,适合复杂系统平滑切换。

做数据库与存储迁移时,用它统一梳理表结构和数据搬迁流程,架构视角更完整,复杂迁移也更稳。

数据与存储
未扫描9.0k

数据库建模

by alirezarezvani

Universal
热门

把需求梳理成关系型数据库表结构,自动生成迁移脚本、TypeScript/Python 类型、种子数据、RLS 策略和索引方案,适合多租户、审计追踪、软删除等后端建模与 Schema 评审场景。

把数据库结构设计、ER图梳理和SQL建模放到一处,复杂业务也能快速统一数据模式,少走不少返工弯路。

数据与存储
未扫描9.0k

资深数据工程师

by alirezarezvani

Universal
热门

聚焦生产级数据工程,覆盖 ETL/ELT、批处理与流式管道、数据建模、Airflow/dbt/Spark 优化和数据质量治理,适合设计数据架构、搭建现代数据栈与排查性能问题。

复杂数据管道、ETL/ELT 和治理难题交给它,凭 Spark、Airflow、dbt 等现代数据栈经验,能更稳地搭起可扩展的数据基础设施。

数据与存储
未扫描9.0k

相关 MCP Server

by Anthropic

热门

PostgreSQL 是让 Claude 直接查询和管理你的数据库的 MCP 服务器。

这个服务器解决了开发者需要手动编写 SQL 查询的痛点,特别适合数据分析师或后端开发者快速探索数据库结构。不过,由于是参考实现,生产环境使用前务必评估安全风险,别指望它能处理复杂事务。

数据与存储
82.9k

SQLite 数据库

编辑精选

by Anthropic

热门

SQLite 是让 AI 直接查询本地数据库进行数据分析的 MCP 服务器。

这个服务器解决了 AI 无法直接访问 SQLite 数据库的问题,适合需要快速分析本地数据集的开发者。不过,作为参考实现,它可能缺乏生产级的安全特性,建议在受控环境中使用。

数据与存储
82.9k

by Firecrawl

热门

Firecrawl 是让 AI 直接抓取网页并提取结构化数据的 MCP 服务器。

它解决了手动写爬虫的麻烦,让 Claude 能直接访问动态网页内容。最适合需要实时数据的研究者或开发者,比如监控竞品价格或抓取新闻。但要注意,它依赖第三方 API,可能涉及隐私和成本问题。

数据与存储
5.9k

评论