Install gp-mcp-server on docker / minikube
search cancel

Install gp-mcp-server on docker / minikube

book

Article ID: 443250

calendar_today

Updated On:

Products

VMware Tanzu Greenplum

Issue/Introduction

VMware Tanzu Greenplum MCP server is an Enterprise AI Gateway and Model Context Protocol (MCP) server that connects Enterprise AI Clients and large language models (LLMs) directly to your Greenplum database cluster. Greenplum MCP server enables AI gateways and applications to query, analyze, and diagnose your Greenplum environment securely using natural language, acting as a governed middleware layer between AI and your data. 

VMware Tanzu Greenplum MCP server support windows, linux, mac (intel / silicon). It also support install through docker / kubernetes (minikube).

Environment

 Greenplum MCP server 1.0.1

Resolution

Before the actual installation of  Greenplum MCP server, it requires the kubernetes or minikube installed and started.  The installation of k8s and docker can be found from it's official document. This article focus on the gp mcp server related setup.

1.Download the gp-mcp-server binary based on each host platform. Here it's using the linux version.  (gp-mcp-server-1.0.1-linux-x64). First copy it to a new file called gp-mcp-server.

cp gp-mcp-server-1.0.1-linux-x64 gp-mcp-server

2. Build the container image inside minikube. From the same directory of the gp-mcp-server file, generate a Dockfile. Add below content :

FROM ubuntu:22.04
RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/*
COPY gp-mcp-server /usr/local/bin/
RUN useradd -r -s /bin/false gp-mcp
USER gp-mcp
EXPOSE 8080
ENTRYPOINT ["/usr/local/bin/gp-mcp-server", "streamable-http"]

For those has the GFW issue, you may pull the ubuntu image from a mirror site first.

# 1. Pull the Ubuntu base image using a working domestic proxy registry (e.g., Daocloud or 1ms)
docker pull docker.m.daocloud.io/library/ubuntu:22.04

# 2. Retag it so Docker recognizes it locally as standard "ubuntu:22.04"
docker tag docker.m.daocloud.io/library/ubuntu:22.04 ubuntu:22.04

3. Build the tanzu-gp-mcp image. (you can choose different name).

docker build -t tanzu-gp-mcp:1.0 .

4. Run the MCP container

docker run -d \
  --name gp-mcp-service \
  -p 8080:8080 \
  -e GPDB_HOST="$GPDB_HOST_IP" \
  -e GPDB_PORT="your_database_port" \
  -e GPDB_DATABASE="<your-database-name>" \
  -e GPDB_USERNAME="gpadmin" \
  -e GPDB_PASSWORD="<your-gpdb-password>" \
  tanzu-gp-mcp:1.0

 5. Verify the container status :

docker ps | grep gp

If no result returned, checked the logs:

docker logs gp-mcp-service
docker inspect gp-mcp-service

If it works, the logs may look as below:

docker logs gp-mcp-service
time="2026-06-09T02:56:50Z" level=info msg="Created default config file: /home/gp-mcp/.gp_mcp/config.yaml"
time="2026-06-09T02:56:50Z" level=info msg="Created default policy file: /home/gp-mcp/.gp_mcp/policy.yaml"
time="2026-06-09T02:56:50Z" level=info msg="Initialized connection pool with max connections: 10"
time="2026-06-09T02:56:50Z" level=info msg="Verifying database connection for user: gpadmin (host: 1.2.3.4 port: 5435, dbname: postgres)"
time="2026-06-09T02:56:50Z" level=info msg="Connected to Greenplum 6 (gp_server_version_num=60000)"
time="2026-06-09T02:56:50Z" level=info msg="Loaded 37 built-in GPDB tools"
time="2026-06-09T02:56:50Z" level=info msg="Loaded 3 default prompts from markdown files"
time="2026-06-09T02:56:50Z" level=info msg="Loaded 3 built-in prompts"
time="2026-06-09T02:56:50Z" level=info msg="Loaded 2 built-in GPDB resources"