Installing the MCP server RPM

Install and configure the Vertica MCP server as a standalone RPM on a host that does not have Vertica installed.

The Vertica MCP server RPM cannot be installed on a host that has Vertica installed, whether Vertica is running or not. Install the MCP server on a dedicated host outside the Vertica cluster. An existing Vertica database cluster is not required at RPM installation time, but you must specify the required connection information before the MCP server can connect to the database.

Upgrading from a bundled MCP server to a standalone MCP server

Vertica version 26.2 and earlier bundle the MCP server with the database. To upgrade to the 26.3 standalone MCP server from an earlier release:

  1. Upgrade the Vertica cluster to version 26.2.0-1.
  2. On a host that does not have Vertica installed, install the MCP server RPM by following the steps described here.

Installing the MCP server

  1. As root or with sudo, install the vertica-mcp-server RPM:

    MCP_OWNER_USER=mcpuser rpm -Uvh --replacepkgs --ignoresize mcp_server_rpm
    

    where mcp_server_rpm is the RPM path and filename, for example /tmp/vertica-mcp-server-26.3.0-0.x86_64.rpm.

    MCP_OWNER_USER sets the operating system user that owns the MCP server installation. The default value is mcpuser. Use --owner-user to specify a different user.

    On success, you should see the following output:

    Installed MCP binary to /opt/vertica/bin/vertica_mcp_server
    Ensured log directory exists at /opt/vertica/log
    Set ownership to mcpuser:mcpuser
    

    The installation process runs a compatibility check with the Vertica cluster. The check is skipped if the cluster is not reachable or the cluster URL is not provided at installation time.

  2. Confirm the installed RPM version:

    rpm -qa vertica-mcp-server
    

    The output shows the installed version, for example:

    vertica-mcp-server-26.3.0-0.x86_64
    
  3. Switch to the MCP user:

    su - mcpuser
    
  4. View the contents of the MCP server configuration file:

    cat /opt/vertica/config/mcp_server.yaml
    

    The file contains default values after a fresh installation, for example:

    # MCP Server Configuration File
    # This file was auto-generated with default values
    #
    # Configuration priority (highest to lowest):
    # 1. Environment variables (MCP_*)
    # 2. This YAML file
    # 3. Built-in defaults
    #
    # For environment variable overrides, use:
    # MCP_SERVER_ADDR, MCP_LOG_DIR, MCP_SSL_BASE_PATH, etc.
    #
    
    server_addr: :8667
    read_timeout: 15s
    write_timeout: 1m40s
    idle_timeout: 1m0s
    shutdown_timeout: 30s
    max_header_bytes: 1048576
    ssl_base_path: /opt/vertica/config/mcp_server
    ssl_cert_path: /opt/vertica/config/mcp_server/server.pem
    ssl_key_path: /opt/vertica/config/mcp_server/server.key
    ca_cert_path: /opt/vertica/config/mcp_server/ca.pem
    ca_key_path: /opt/vertica/config/mcp_server/ca.key
    use_pg_client: false
    vertica_host: vnode1
    vertica_port: "5433"
    vertica_dbname: ""
    vertica_sslmode: require
    query_timeout: 20s
    max_query_rows: 10000
    storage_type: leveldb
    storage_path: /opt/mcp_storage/userdb
    vcluster_enabled: true
    vcluster_server_url: https://vnode1:8665
    vcluster_cert_path: /opt/vertica/config/vcluster_server/admin.pem
    vcluster_key_path: /opt/vertica/config/vcluster_server/admin.key
    vcluster_ca_cert_path: /opt/vertica/config/vcluster_server/ca.pem
    vcluster_skip_tls_verify: true
    vcluster_nodes_cache_ttl: 5m0s
    log_dir: /opt/vertica/log
    max_active_jobs: 5
    max_running_jobs: 3
    max_finished_jobs: 50
    finished_job_retention: 240h0m0s
    query_tree_retention: 8760h0m0s
    external_url: ""
    node_host_overrides:
        192.168.1.101: vnode1
        192.168.1.102: vnode2
        192.168.1.103: vnode3
        192.168.1.104: vnode4
    job_queue_path: /opt/mcp_storage/job_queue
    
  5. Edit the following fields in mcp_server.yaml:

    vi /opt/vertica/config/mcp_server.yaml
    
    • vertica_host: The hostname or IP address of the Vertica database server.
    • vertica_dbname: The name of the Vertica database to connect to.
    • vcluster_server_url: The URL of the VCluster Web Service, for example https://<vcluster_server_node>:8665.
  6. Copy the VCluster server SSL certificate files to the MCP server host.

    scp -r <vcluster-server-node>:/opt/vertica/config/vcluster_server/admin.pem <mcp-server-node>:/opt/vertica/config/vcluster_server/
    scp -r <vcluster-server-node>:/opt/vertica/config/vcluster_server/admin.key <mcp-server-node>:/opt/vertica/config/vcluster_server/
    scp -r <vcluster-server-node>:/opt/vertica/config/vcluster_server/ca.pem <mcp-server-node>:/opt/vertica/config/vcluster_server/
    
  7. Start the MCP server:

    /opt/vertica/bin/manage_mcp_server.sh start mcp_server
    

    On success, you should see output similar to the following:

    Doing action start
    Starting MCP server
    Started MCP server with PID 874791
    MCP server startup verified successfully
    

    Verify that the MCP server binary exists at /opt/vertica/bin/vertica_mcp_server and certificate files exist at /opt/vertica/config/mcp_server.

  8. Generate a JWT token for the MCP server. For more information about JWT token generation options, see MCP server.

    /opt/vertica/bin/vertica_mcp_server --generate-token --userid user_id --dbpass password
    
  9. Copy the JWT token string from the output of the previous command.

  10. Update your AI agent configuration with the JWT token and the MCP server URL. The steps required depend on the type of agent you are using.

    For an example using Claude Desktop, see Claude Desktop example.

    The MCP server URL has the following format: https://<mcp_server_node>:8667/mcp

The AI agent can now connect to the database and query data.

Starting and stopping the MCP server

Switch to the MCP user and run the following command to start the MCP server:

/opt/vertica/bin/manage_mcp_server.sh start mcp_server

To stop the MCP server:

/opt/vertica/bin/manage_mcp_server.sh stop mcp_server

Uninstalling the MCP server

To uninstall the MCP server:

rpm -e vertica-mcp-server

To verify uninstallation:

rpm -qa | grep -i vertica-mcp-server

After uninstallation, the MCP server binary is removed from /opt/vertica/bin. The configuration .yaml file and log files are preserved.