Skip to content

Red Hat OKP MCP Server

The Red Hat Offline Knowledge Portal (OKP) MCP server bridges LLM tool calls to a Solr index containing ~583K Red Hat knowledge base documents. AI models can search RHEL documentation, CVEs, errata, solutions, and technical articles via natural language.

Architecture

graph LR
  AI["AI Model / GenAI Studio"] -->|"MCP protocol"| MCP["OKP MCP Server\n(port 8000)"]
  MCP -->|"HTTP /solr/portal/select"| Solr["OKP Solr\n(port 8983)"]
  Solr -->|"~583K docs"| Data["RHEL Docs, CVEs,\nErrata, Solutions"]

Two containers work together:

  • OKP Solr -- The indexed Red Hat knowledge base (registry.redhat.io/offline-knowledge-portal/rhokp-rhel9), containing documentation, CVEs, errata, solutions, and articles in a Solr core
  • OKP MCP Server -- A Python FastMCP application (quay.io/redhat-user-workloads/rhel-lightspeed-tenant/okp-mcp) that exposes search tools over the MCP protocol

What Gets Deployed

Component Resource Description
rhokp-solr Deployment + PVC (10Gi) OKP Solr index with ~583K RHEL documents
rhokp-mcp Deployment MCP server exposing search tools on port 8000
rhokp-solr Service In-cluster access to Solr on port 8983
rhokp-mcp Service + Route In-cluster service and external TLS route for MCP
okp-access-secret Secret OKP access key for the Solr image
rhokp-sa ServiceAccount Dedicated service account

MCP Tools

The OKP MCP server exposes 6 search tools:

Tool Description
search_documentation Search RHEL documentation with product/version boosting and deprecation detection
search_solutions Search troubleshooting content, error messages, and known issues
search_cves Search CVE security advisories with optional severity filter
search_errata Search errata (security, bug fix, enhancement) with type/severity filters
search_articles Search general technical articles and best practices
get_document Fetch full document content by ID with BM25-scored passage extraction

Prerequisites

Requirement Why
RHOAI platform (DSC Ready) Namespace and dashboard integration
registry.redhat.io pull access OKP Solr image requires Red Hat registry authentication
OKP access key Required by the Solr image (OKP_ACCESS_KEY)
dashboard-config instance Enables GenAI Studio in the RHOAI dashboard
mcp-servers instance Registers OKP as an MCP server in the dashboard

Secrets required

The included okp-access-secret.yaml contains a placeholder value (OKP_ACCESS_KEY: CHANGE_ME). Update usecases/services/rhokp/manifests/server/okp-access-secret.yaml with your OKP access key before deploying. For production, use SealedSecrets or ExternalSecrets.

Pull secret for registry.redhat.io

The OKP Solr image is pulled from registry.redhat.io. OpenShift clusters typically have a global pull secret configured for Red Hat registries. If not, create a pull secret in the rhokp namespace with your Red Hat registry credentials.

Deploy

OKP is auto-deployed by the cluster-services ApplicationSet when using the tier1-minimal profile.

After bootstrapping the cluster, the service-rhokp Application is created automatically. The instance-mcp-servers Application (auto-discovered by the cluster-instances AppSet) registers it in the RHOAI dashboard.

# 1. Update the OKP access key secret
#    Edit usecases/services/rhokp/manifests/server/okp-access-secret.yaml

# 2. Deploy OKP (Solr + MCP server)
oc apply -k usecases/services/rhokp/profiles/tier1-minimal/

# 3. Wait for Solr to be ready (index loading takes a few minutes)
oc wait --for=condition=Available deployment/rhokp-solr \
  -n rhokp --timeout=600s

# 4. Wait for MCP server to be ready
oc wait --for=condition=Available deployment/rhokp-mcp \
  -n rhokp --timeout=300s

# 5. Register as MCP server in the RHOAI dashboard
oc apply -k components/instances/dashboard-config/
oc apply -k components/instances/mcp-servers/

Verify

# Check pods are running
oc get pods -n rhokp

# Check the route
oc get route rhokp-mcp -n rhokp

# Test the MCP endpoint
curl -s "https://$(oc get route rhokp-mcp -n rhokp -o jsonpath='{.spec.host}')/mcp" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'

Sync Wave Ordering

Wave Resources Purpose
0 (default) Namespace, ServiceAccount, Secret, PVC, Solr Deployment, Solr Service Solr infrastructure ready first
1 MCP Deployment, MCP Service MCP server starts after Solr is available
2 Route External access created after MCP service exists

Customization

The OKP MCP server connects to Solr via the SOLR_URL environment variable. To point at a different Solr instance, update the SOLR_URL and MCP_SOLR_URL values in usecases/services/rhokp/manifests/server/mcp-deployment.yaml.

The Solr PVC defaults to 10Gi. Increase this if the OKP index grows beyond the default allocation by editing usecases/services/rhokp/manifests/server/solr-pvc.yaml.