by nolleh
mcp-vertica is a Model Context Protocol (MCP) server designed for seamless integration with Vertica databases, enabling efficient data interaction and management within AI applications.
mcp-vertica is an MCP (Model Context Protocol) server specifically built for interacting with Vertica databases. It acts as a bridge, allowing AI applications and other clients to easily connect, query, and manage data within a Vertica environment.
To use mcp-vertica, you need to configure your MCP client to connect to the server. This can be done by setting up mcpServers
in your client's configuration file, specifying the command and arguments for mcp-vertica
. Alternatively, you can use environment variables for configuration. For installation, you can either use Smithery for automatic installation or install it manually using uvx mcp-vertica
. The server can also be run in a Docker environment, either by passing direct parameters or by using an .env
file.
--ssl
) to enable it, or omit it to disable.ALLOW_INSERT_OPERATION
and SCHEMA_INSERT_PERMISSIONS
..env
file with the necessary environment variables.A Vertica MCP(model-context-protocol) Server
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"
]
}
}
}
Or with env
{
"mcpServers": {
"vertica": {
"command": "uvx",
"args": ["mcp-vertica"],
"env": {
"VERTICA_HOST":"localhost",
"VERTICA_PORT":5433,
"VERTICA_DATABASE":"VMart",
"VERTICA_USER":"dbadmin",
"VERTICA_PASSWORD":"",
"VERTICA_CONNECTION_LIMIT":10,
"VERTICA_SSL":false,
"VERTICA_SSL_REJECT_UNAUTHORIZED":true
}
}
}
}
[!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.
execute_query
stream_query
copy_data
get_table_structure
list_indexes
list_views
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
ALLOW_INSERT_OPERATION=false
ALLOW_UPDATE_OPERATION=false
ALLOW_DELETE_OPERATION=false
ALLOW_DDL_OPERATION=false
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
To install Vertica Database Connector for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @nolleh/mcp-vertica --client claude
uvx mcp-vertica
This project is licensed under the MIT License - see the LICENSE file for details.
When running Vertica with Docker Compose, you can run the MCP server as follows:
uvx mcp-vertica \
--host localhost \
--db-port 5433 \
--database VMart \
--user dbadmin \
--password "" \
--connection-limit 10
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
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
Reviews feature coming soon
Stay tuned for community discussions and feedback