Registry policy
Use the registry policy to configure the MCP registry used by Stacklok clients. The registry can be a self-hosted Registry Server, the upstream MCP registry, or any MCP-compatible registry.
You'll need your registry's URL (for example, https://registry.example.com)
and the Enterprise Manager already deployed and reachable by
clients.
Configure the registry directive
Add the registry directive to your enterprise configuration. Replace the
example URL with your registry's address and pick an
enforcement level.
enterpriseConfig:
registry:
value:
# The registry API URL all clients connect to
api_url: 'https://registry.example.com'
# "enforced" blocks local overrides; "default" lets users override locally
enforcement: 'enforced'
Use enforced to require the configured registry. Use default to let client
operators override the registry for testing or local development.
After updating your configuration, apply the change.
Variations
Advisory registry
Suggest the registry URL as an org-wide default while allowing local overrides:
enterpriseConfig:
registry:
value:
api_url: 'https://registry.example.com'
enforcement: 'default'
Registry on a private IP
If your registry responds with private IP addresses (for example, a registry
that runs inside your VPC), set allow_private_ip: true so clients accept those
responses:
enterpriseConfig:
registry:
value:
api_url: 'https://registry.internal.example.com'
allow_private_ip: true
enforcement: 'enforced'
Registry URL for the console
The registry directive sets two URLs because ToolHive clients and the console
connect to the registry differently. The api_url value is for ToolHive
clients: depending on your registry, that's either the registry's root URL (as
in the examples above) or a per-registry path on a Stacklok Registry Server (for
example, https://registry.example.com/registry/<REGISTRY_NAME>). The console
needs the Registry Server's API root instead, set with server_api_url:
enterpriseConfig:
registry:
value:
# For ToolHive clients: the registry API URL (one registry)
api_url: 'https://registry.example.com/registry/toolhive'
# For the console: the Registry Server's API root
server_api_url: 'https://registry.example.com'
enforcement: 'enforced'
When server_api_url isn't set, the console falls back to its API_BASE_URL
environment variable.
Next steps
- Non-registry servers policy to control whether clients can run servers outside the registry
- Telemetry policy to enforce OpenTelemetry settings
- Degraded mode to define client behavior when the Enterprise Manager is unreachable