Skip to main content

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.

values.yaml
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:

values.yaml
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:

values.yaml
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:

values.yaml
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​