fracta config mcp add.
For the broader catalog narrative — when to use which verb, what gets committed where — see MCP Catalog Workflow.
Where these go
Every example below maps to a single entry undermcp_servers.servers.<id> in two places:
- Project
fracta.yaml— written byfracta config mcp addand committed to your repo. - Gateway ConfigMap (
deployment/k8s/manifests/fracta-gateway.yamlfor k8s, or the embedded controlplane config for compose) — the runtime config the gateway pod actually reads.
OAuth-protected backend (Notion pattern)
Backends whose upstream requires OAuth (Notion, Readwise, Google Drive) authenticate via a token issued by the upstream’s authorization server. Fracta stores the token + dynamic client registration as a Kubernetes Secret (or local keyring in dev) and mounts them as files the gateway reads at request time.fracta-mcp-notion and the gateway pod must mount it at /run/secrets/fracta-mcp-notion. Add the mount to the gateway Deployment:
Env-token backend (Elasticsearch pattern)
Backends that take a bearer token or API key passed via environment variable (Elastic, Bearer-token services) are the simplest case. The token lives in a Kubernetes Secret; the gateway container reads it into the env viasecretKeyRef.
auth.env_required declaration on the catalog server.yaml (ES_URL, ES_API_KEY) drives where the secret references go in the rendered Deployment. After fracta config mcp add elastic --target-deployment k8s, the generated <root>/deployment/k8s/manifests/elastic-mcp-secret.yaml stub is what you populate:
kubectl create secret generic ... --dry-run=client -o yaml | kubectl apply -f -); no fracta-side rotation hook is needed.
SSE-transport backend (vendor pattern)
Some MCP servers expose their tool surface over Server-Sent Events instead of streamable HTTP. The difference is one field on the remote entry:Combining patterns
A single project usually mixes all three shapes. Here’s a fragment showing them together in a gateway ConfigMap:tool_policy: block under any server to restrict which tools agents can see and call — see Gateway Tool Policy.
Local / docker-compose variants
The same patterns apply in the other deployment modes — only the URL changes.| Mode | Endpoint format | Example |
|---|---|---|
local | stdio subprocess; no URL | command: npx, args: [-y, mcp-remote, https://...] |
docker-compose | Compose service DNS | http://elastic-mcp:3000/mcp |
k8s | Service FQDN | http://elastic-mcp.fracta.svc:3000/mcp |
fracta config mcp add <server> --target-deployment <mode> flow generates the right shape for each mode automatically. These examples document what the rendered output looks like so operators can read or hand-tune it.
What’s next
fracta config mcpreference — every flag, every subcommand.- Gateway Tool Policy — restrict which tools agents see per backend.
- MCP Server Auth — OAuth flow, token storage, exporting to secrets.
- MCP Catalog Workflow — the operator narrative for catalog management.

