PalenaMCPServer
A PalenaMCPServer stands up a Model Context Protocol server for augmenting LLMs with tool calls. v1alpha1 only supports type: websearch.
It is standalone — it does not reference a PalenaGateway. PalenaUI CRs register it via spec.mcpServerRefs.
Short name: pmcpAPI group: operator.palena.ai/v1alpha1Scope: Namespaced
spec
| Field | Type | Required | Default | Enum | Description |
|---|---|---|---|---|---|
type | string | Yes | — | websearch | MCP server flavor. |
replicas | int32 | Yes | 1 | — | MCP server Deployment replicas. |
image | ImageSpec | No | — | — | Override the MCP server image. |
websearch | WebsearchSpec | When type: websearch | — | — | Websearch-specific config. |
WebsearchSpec
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
searxng | SearXNGSpec | Yes | — | SearXNG configuration. |
scraper | ScraperSpec | No | — | Optional scraper sidecars. |
presidio | PresidioSpec | No | — | Optional PII analysis. |
reranker | RerankerSpec | No | — | Optional result reranker. |
SearXNGSpec
| Field | Type | Default | Description |
|---|---|---|---|
replicas | int32 | 1 | SearXNG replica count. |
engines | []string | duckduckgo, bing, wikipedia | Enabled engines. |
image | ImageSpec | — | Image override. |
ScraperSpec
| Field | Type | Default | Description |
|---|---|---|---|
chromiumEnabled | bool | false | Enable Chromium scraper sidecar. |
chromiumReplicas | int32 | 1 | Chromium replica count when enabled. |
maxConcurrency | int | 5 | MAX_CONCURRENT_SESSIONS env var. |
PresidioSpec
| Field | Type | Default | Enum | Description |
|---|---|---|---|---|
enabled | bool | false | — | Deploy analyzer + anonymizer. |
mode | string | audit | audit, redact, block | How detected PII is handled. |
analyzerReplicas | int32 | 1 | — | Analyzer replicas. |
anonymizerReplicas | int32 | 1 | — | Anonymizer replicas. |
RerankerSpec
| Field | Type | Default | Enum | Description |
|---|---|---|---|---|
provider | string | none | flashrank, kserve, none | Reranker backend. |
flashrank.image | ImageSpec | — | — | FlashRank image override. |
kserve.endpoint | string | — | — | KServe inference endpoint URL (required when provider: kserve). |
kserve.model | string | — | — | KServe model name. |
status
| Field | Type | Description |
|---|---|---|
ready | bool | True once server + all enabled sidecars report ready. |
replicas | int32 | Observed MCP server replicas. |
endpoints.sse | string | SSE endpoint URL. |
endpoints.streamableHttp | string | HTTP streamable endpoint URL. |
sidecars | map[string]string | Per-sidecar readiness messages. |
conditions | []metav1.Condition | Standard conditions (SidecarsReady, ServerReady, Ready). |
Print columns
Type, Ready, Age.
Example
yaml
apiVersion: operator.palena.ai/v1alpha1
kind: PalenaMCPServer
metadata:
name: websearch
namespace: palena
spec:
type: websearch
replicas: 2
websearch:
searxng:
replicas: 2
engines:
- duckduckgo
- wikipedia
- arxiv
scraper:
chromiumEnabled: true
chromiumReplicas: 2
maxConcurrency: 10
presidio:
enabled: true
mode: redact
reranker:
provider: flashrank