MCP Vertica
A server for managing and querying Vertica databases, including connection, schema, and security management.
MCP Vertica
🏆 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
--sslor--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
-
execute_query- Execute SQL queries
- Support for all SQL operations
-
stream_query- Stream large query results in batches
- Configurable batch size
-
copy_data- Bulk data loading using COPY command
- Efficient for large datasets
Schema Management
-
get_table_structure- Get detailed table structure
- Column information
- Constraints
-
list_indexes- List all indexes for a table
- Index type and uniqueness
- Column information
-
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
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.
Servidores relacionados
Synechron Text2SQL MCP Server
Provides natural language access to relational databases using advanced language models, supporting multiple database types.
PostgreSQL MCP Server by CData
A read-only MCP server for PostgreSQL, enabling LLMs to query live data from PostgreSQL databases.
CData Salesforce MCP Server
A read-only MCP server by CData that allows LLMs to query live Salesforce data. Requires the CData JDBC Driver for Salesforce.
Qdrant
Implement semantic memory layer on top of the Qdrant vector search engine
Metabase MCP Server
Interact with Metabase, the open-source business intelligence platform, using Large Language Models.
Snow Leopard BigQuery MCP
Interact with Google BigQuery databases using natural language queries and schema exploration.
MCP Database Server
Connects to and interacts with various database systems like SQLite, PostgreSQL, SQL Server, and MongoDB.
Postgres MCP Pro
An MCP server for PostgreSQL providing index tuning, explain plans, health checks, and safe SQL execution.
Adobe Commerce MCP Server by CData
A read-only MCP server for Adobe Commerce, enabling LLMs to query live data using the CData JDBC driver.
Azure TableStore
An MCP server for interacting with Azure Table Storage, requiring an Azure Storage connection string.
