Skip to main content
Glama

Vertica MCP Server

Vertica MCP Server

A Model Context Protocol (MCP) server that provides comprehensive Vertica Database integration capabilities for AI assistants and agents.

Features

  • Query Execution: Execute SQL queries with safety controls (SELECT, DESCRIBE, EXPLAIN only)

  • Schema Inspection: Browse database tables, views, and Vertica-specific projections

  • Database Documentation: Generate comprehensive database documentation

  • Query Analysis: Analyze query performance with execution plans

  • Data Export: Export query results in JSON and CSV formats

  • Vertica-Specific: Support for projections, cluster status, and columnar storage features

Related MCP server: MCP Toolkit

Installation

Prerequisites

  • Python 3.11 or higher

  • Access to a Vertica database

  • uv package manager

Install from Source

git clone <repository-url> cd vertica-mcp-server uv sync

Install as Package

uv add vertica-mcp-server

Quick Start

  1. Set up environment variables:

    export DB_CONNECTION_STRING="vertica://username:password@hostname:5433/database"
  2. Start the MCP server:

    vertica-mcp-server
  3. Use with AI assistants that support MCP (like Claude Desktop or VS Code extensions)

Configuration

Connection String Formats

URL Format (recommended):

vertica://username:password@hostname:port/database

Simple Format:

hostname:port/database

When using simple format, set these environment variables:

  • VERTICA_USER: Database username

  • VERTICA_PASSWORD: Database password

Environment Variables

Variable

Description

Default

DB_CONNECTION_STRING

Database connection string

Required

VERTICA_USER

Database username (for simple format)

dbadmin

VERTICA_PASSWORD

Database password (for simple format)

Empty

QUERY_LIMIT_SIZE

Maximum rows returned per query

100

MAX_ROWS_EXPORT

Maximum rows for export operations

10000

DEBUG

Enable debug logging

false

TABLE_WHITE_LIST

Comma-separated list of allowed tables

All tables

COLUMN_WHITE_LIST

Comma-separated list of allowed columns

All columns

Docker Development

A Docker setup is provided for testing with Vertica Community Edition:

cd docker-example docker-compose up -d

See docker-example/README.md for detailed instructions.

Available Tools

The MCP server provides these tools for AI assistants:

  • execute_query: Execute SQL queries (SELECT, DESCRIBE, EXPLAIN only)

  • describe_table: Get detailed table column information

  • list_tables: List all tables with metadata

  • list_views: List all database views

  • list_projections: List Vertica projections (unique to Vertica)

  • explain_query: Get query execution plans

  • generate_sample_queries: Generate example queries for tables

  • export_query_results: Export query results as JSON or CSV

Vertica-Specific Features

This server includes Vertica-specific functionality:

  • Projections: List and inspect Vertica projections

  • Columnar Storage: Handle Vertica's columnar data types

  • Query Optimization: Vertica-specific query execution plans

  • Data Types: Support for Vertica data types (UUID, ARRAY, etc.)

Safety Features

  • Query Restriction: Only SELECT, DESCRIBE, and EXPLAIN statements allowed

  • Row Limiting: Automatic LIMIT clause added to prevent large result sets

  • SQL Injection Protection: Basic protection against malicious queries

  • Whitelisting: Optional table and column whitelisting

Development

Running Tests

# Run all tests uv run pytest # Run unit tests only uv run pytest -m unit # Run integration tests only (requires running Vertica instance) uv run pytest -m integration # Run tests with coverage uv run pytest --cov=src/vertica_mcp_server

Code Quality

# Format code uv run black src/ tests/ # Sort imports uv run isort src/ tests/ # Type checking uv run mypy src/ # Lint code uv run flake8 src/ tests/

Project Structure

vertica-mcp-server/ src/vertica_mcp_server/ __init__.py server.py # Main server implementation py.typed tests/ # Test suite docker-example/ # Docker setup for testing docs/ # Documentation pyproject.toml # Project configuration

Contributing

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Add tests for new functionality

  5. Run the test suite

  6. Submit a pull request

License

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

Changelog

0.1.0

  • Initial release

  • Core MCP server functionality

  • Vertica database integration

  • Query execution and schema inspection

  • Docker development environment

  • Comprehensive test suite

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/smith-nathanh/vertica-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server