Skip to main content
Glama
hechtcarmel

Vertica MCP Server

by hechtcarmel

Vertica MCP Server

A Model Context Protocol (MCP) server for Vertica databases. Enables AI assistants to query and explore Vertica databases through natural language.

Safety-first design: Readonly mode by default. Write operations require explicit configuration.

Features

  • 6 MCP Tools: Query execution, streaming, schema discovery

  • Readonly Protection: Only SELECT/SHOW/DESCRIBE/EXPLAIN/WITH queries by default

  • Large Dataset Streaming: Efficient batch processing (up to 1M rows)

  • Vertica-Optimized: Projection awareness, columnar query support

  • Production Ready: Connection pooling, SSL support, timeout configuration

  • Parameter Binding: SQL injection protection

Quick Start

Claude Code

claude mcp add vertica --scope user -- npx -y @hechtcarmel/vertica-mcp@latest --env-file /path/to/your/.env

Create your .env file with connection details:

VERTICA_HOST=your-vertica-host.com VERTICA_PORT=5433 VERTICA_DATABASE=your_database VERTICA_USER=your_username VERTICA_PASSWORD=your_password

Cursor

  1. Create environment file ~/.cursor/vertica.env:

VERTICA_HOST=your-vertica-host.com VERTICA_PORT=5433 VERTICA_DATABASE=your_database VERTICA_USER=your_username VERTICA_PASSWORD=your_password
  1. Configure ~/.cursor/mcp.json:

{ "mcpServers": { "vertica-mcp": { "command": "npx", "args": [ "@hechtcarmel/vertica-mcp", "--env-file", "/Users/yourusername/.cursor/vertica.env" ] } } }
  1. Restart Cursor

Claude Desktop

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json

{ "mcpServers": { "vertica-mcp": { "command": "npx", "args": [ "@hechtcarmel/vertica-mcp", "--env-file", "/path/to/your/.env" ] } } }

Configuration

Required Variables

VERTICA_HOST # Database hostname VERTICA_DATABASE # Database name VERTICA_USER # Username

Optional Variables

VERTICA_PORT=5433 # Default: 5433 VERTICA_PASSWORD # Password (optional) VERTICA_READONLY_MODE=true # Default: true VERTICA_CONNECTION_LIMIT=10 # Default: 10 (max: 100) VERTICA_QUERY_TIMEOUT=60000 # Default: 60000ms VERTICA_SSL=false # Default: false VERTICA_SSL_REJECT_UNAUTHORIZED=true # Default: true VERTICA_DEFAULT_SCHEMA=public # Default: public

Enabling Write Operations

To allow INSERT/UPDATE/DELETE/CREATE/DROP operations:

VERTICA_READONLY_MODE=false

Warning: Only disable readonly mode if you understand the implications.

Available Tools

Query Execution

  • execute_query: Execute SQL with optional parameters

  • stream_query: Handle large datasets with configurable batching

Schema Discovery

  • get_table_structure: Table columns, types, constraints

  • list_tables: All tables in schema with metadata

  • list_views: All views with definitions

  • list_indexes: Vertica projections for optimization

Usage Examples

Query Data

SELECT customer_state, COUNT(*) as count FROM customer_dimension GROUP BY customer_state ORDER BY count DESC LIMIT 10;

Explore Schema

SHOW TABLES; DESCRIBE customer_dimension;

Analyze Performance

EXPLAIN SELECT * FROM store_sales_fact WHERE sale_date_key > '2023-01-01';

Stream Large Results

When querying large datasets, use the stream_query tool:

  • Default batch size: 1000 rows

  • Configurable batch size: 1-10,000 rows

  • Maximum rows: 1,000,000

Troubleshooting

Connection Failed

# Test connectivity directly vsql -h localhost -p 5433 -d VMart -U dbadmin

Verify:

  • Host and port are reachable

  • Database credentials are correct

  • User has required permissions

Permission Errors

  • User needs SELECT permissions on tables

  • User needs access to system catalogs (v_catalog.*)

Query Timeouts

Increase timeout for complex queries:

VERTICA_QUERY_TIMEOUT=300000 # 5 minutes

Large Result Sets

Use stream_query instead of execute_query for queries returning >10,000 rows.

Requirements

  • Node.js >= 18.0.0

  • Vertica database (any recent version)

  • Network access to Vertica server

Support

License

MIT License - see LICENSE file.

Acknowledgments

This project's architecture and tool design are based on mcp-vertica by @nolleh.


Current Version: 1.3.5

-
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/hechtcarmel/vertica-mcp'

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