Skip to main content
Glama
MCP Vertica
by nolleh

MCP Vertica

PyPI version License: MIT Downloads MCP Community

🏆 First implementation of Vertica MCP Server • Learn more

âś… Listed in Model Context Protocol Official Registry

A Vertica MCP(model-context-protocol) Server

Example: MCP Server Setting

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

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

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

[!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

Related MCP server: MSSQL MCP Server

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

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

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

Schema Permissions

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:

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:

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

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

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.

Available Tools

6 tools
copy_dataC

Copy data into a Vertica table using COPY command.

Args:
    ctx: FastMCP context for progress reporting and logging
    schema: vertica schema to execute the copy against
    table: Target table name
    data: List of rows to insert

Returns:
    Status message indicating success or failure

Inputs: schema (required), table (required), data (required).

execute_queryC

Execute a SQL query and return the results.

Args:
    ctx: FastMCP context for progress reporting and logging
    query: SQL query to execute
    database: Optional database name to execute the query against

Returns:
    Query results as a string

Inputs: query (required).

get_table_structureB

Get the structure of a table including columns, data types, and constraints.

Args:
    ctx: FastMCP context for progress reporting and logging
    table_name: Name of the table to inspect
    schema: Schema name (default: public)

Returns:
    Table structure information as a string

Inputs: table_name (required), schema.

list_indexesB

List all indexes for a specific table.

Args:
    ctx: FastMCP context for progress reporting and logging
    table_name: Name of the table to inspect
    schema: Schema name (default: public)

Returns:
    Index information as a string

Inputs: table_name (required), schema.

list_viewsB

List all views in a schema.

Args:
    ctx: FastMCP context for progress reporting and logging
    schema: Schema name (default: public)

Returns:
    View information as a string

Inputs: schema.

stream_queryC

Execute a SQL query and return the results in batches as a single string.

Args:
    ctx: FastMCP context for progress reporting and logging
    query: SQL query to execute
    batch_size: Number of rows to fetch at once

Returns:
    Query results as a concatenated string

Inputs: query (required), batch_size.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 6 tools

    Disambiguation3/5

    Most tools are distinct, but 'execute_query' and 'stream_query' both execute SQL queries with only a difference in batch handling, leading to potential confusion for an agent.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern with underscores (e.g., copy_data, list_indexes, get_table_structure), making the naming predictable.

    Tool Count4/5

    6 tools is a reasonable size for a focused database server, though it leans slightly low.

    Completeness2/5

    The set covers query execution and data copying but lacks essential operations like table creation, modification, and deletion, leaving significant gaps for typical database management.

    Maintenance

    ActivityInactive
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that enables SQL query execution, database management, and business intelligence capabilities through MySQL connections.
      1,462 npm
      MIT
    • A
      license
      B
      quality
      D
      maintenance
      A Model Context Protocol server that enables executing SQL queries and managing connections with Microsoft SQL Server databases.
      1
      2,310 npm
      6
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that provides AI assistants with comprehensive access to SQL databases, enabling schema inspection, query execution, and database operations with enterprise-grade security.
      55 npm
      9
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that enables AI assistants to interact with Vertica databases through SQL queries, schema inspection, database documentation, and data export capabilities.
      1
      -