MCP Vertica

MCP Vertica

A Model-Context-Protocol server that provides SQL query execution and database management capabilities for Vertica databases, featuring connection pooling, schema management, and security controls.

Category
Visit Server

README

MCP Vertica

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:

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

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

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

uvx mcp-vertica

License

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

Running in Docker Environment

When running Vertica with Docker Compose, you can run the MCP server as follows:

1. Run with Direct Parameters

uvx mcp-vertica \
  --host localhost \
  --db-port 5433 \
  --database VMart \
  --user dbadmin \
  --password "" \
  --connection-limit 10

2. Run with Environment Variables

Create a .env file with the following content:

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

Then run with .env

uvx mcp-vertica \
  --env-file .env

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

volumes:
  vertica_data:
    driver: local

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured