- Home
- MCP servers
- Vertica
Vertica
- python
3
GitHub Stars
python
Language
5 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
The Vertica MCP Server turns your Vertica Analytics Database into an AI-accessible data platform. By implementing the Model Context Protocol, it lets MCP-compatible AI assistants query, explore, and optimize Vertica data through natural language while providing enterprise-ready security, performance, and flexibility across multiple transport methods.
How to use
Connect an MCP-compatible client to the Vertica MCP Server using HTTP for remote access or STDIO for local, editor-integrated workflows. You can ask natural language questions about your Vertica schemas, tables, and performance, and receive AI-assisted results, analyses, and optimization recommendations. Use the HTTP transport to expose a RESTful endpoint on a chosen port, or run in STDIO mode to work directly with a client like Claude Desktop in a self-contained environment. Start with safe defaults and adjust permissions and timeouts as you gain confidence.
How to install
# Prerequisites
- Python 3.11 or higher
- Vertica Database (accessible)
- uv (Python package manager)
- Docker (optional)
- Claude Desktop or another MCP-compatible client
# Method 1: Local Installation (Development Environment)
git clone https://github.com/zaboura/vertica-mcp.git
cd vertica-mcp
# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Setup environment and install dependencies
uv sync
source .venv/bin/activate
# Install in development mode
uv pip install -e .
# Configure database connection
cp .env.example .env
# Edit .env with your Vertica credentials
# Run the server (HTTP transport for remote access)
vertica-mcp --transport http --port 8000 --bind-host 0.0.0.0
# Method 2: PyPI Installation (Production Environment)
pip install vertica-mcp
# Initialize configuration
vertica-mcp --init
# Edit configuration with your credentials
nano .env # or use your preferred editor
# Update VERTICA_HOST, VERTICA_USER, VERTICA_PASSWORD, etc.
# Test the installation (HTTP transport)
vertica-mcp --transport http --port 8000
Configuration notes
# Required Database Connection
VERTICA_HOST=your_vertica_host
VERTICA_PORT=5433
VERTICA_DATABASE=your_database
VERTICA_USER=your_username
VERTICA_PASSWORD=your_password
# Connection Pool Configuration
VERTICA_CONNECTION_LIMIT=10
VERTICA_LAZY_INIT=1
# SSL Configuration (optional but recommended for production)
VERTICA_SSL=false
VERTICA_SSL_REJECT_UNAUTHORIZED=true
# Performance and Resource Management
VERTICA_QUERY_TIMEOUT=600
VERTICA_MAX_RETRIES=3
VERTICA_RETRY_DELAY=0.1
VERTICA_CACHE_TTL=300
VERTICA_MAX_RESULT_MB=100
VERTICA_RATE_LIMIT=60
VERTICA_HEALTH_CHECK_INTERVAL=60
# Security Permissions (defaults to read-only for safety)
ALLOW_INSERT_OPERATION=false
ALLOW_UPDATE_OPERATION=false
ALLOW_DELETE_OPERATION=false
ALLOW_DDL_OPERATION=false
# Schema-specific Permissions (optional for granular control)
SCHEMA_INSERT_PERMISSIONS=staging:true,production:false
SCHEMA_UPDATE_PERMISSIONS=staging:true,production:false
SCHEMA_DELETE_PERMISSIONS=staging:false,production:false
SCHEMA_DDL_PERMISSIONS=staging:false,production:false
Testing with MCP Inspector helps validate your setup and ensure the server responds as expected.
Additional guidance
To connect Claude Desktop in STDIO mode, configure the MCP entry with a direct executable path and an environment file. Example Windows path shows the concrete executable and env file; macOS/Linux follows a similar pattern using the virtual environment path and the absolute env file path.
{
"mcpServers": {
"vertica_mcp_stdio": {
"command": "C:\\path-to-venv\\Scripts\\vertica-mcp.exe",
"args": ["--transport", "stdio", "--env-file", "C:\\path\\to\\.env"]
}
}
}
Security and permissions
The server supports multi-level permissions and SSL/TLS for secure database connections. Use read-only credentials in production, enable SSL, and enforce fine-grained schema-level permissions to minimize risk.
Troubleshooting
If you encounter issues, restart the client, validate configuration syntax, and review server logs with verbose debugging. For Docker deployments, inspect container logs and verify environment variables load correctly.
Notes on transport options
Choose STDIO for local, editor-based workflows or HTTP for remote deployments. Server-Sent Events (SSE) is available for real-time streaming use cases.
Available tools
run_query_safely
Smartly executes queries with large result handling and safety warnings.
execute_query_paginated
Paginates large results efficiently with configurable page sizes.
execute_query_stream
Streams massive results in real time for memory-efficient processing.
get_database_schemas
Lists available schemas and their metadata.
get_schema_tables
Lists tables with metadata such as row counts and storage info.
get_table_structure
Provides detailed column information, types, constraints, and indexes.
get_table_projections
Analyzes projection usage and offers optimization recommendations.
get_schema_views
Lists views in a schema with definitions.
profile_query
Generates execution plans and optimization suggestions for queries.
analyze_system_performance
Monitors real-time resource usage and system health.
database_status
Reports health metrics including storage and connections.
SQL Safety Guard
Prevents unsafe large queries and suggests safer alternatives.
Performance Analyzer
Provides deep analysis and recommendations for query optimization.
SQL Assistant
Generates SQL queries from natural language descriptions.
Health Dashboard
Visualizes key performance indicators for the database.
System Monitor
Tracks real-time performance with alerting capabilities.