---
title: "MCP Gateway Server Registry"
description: "The MCP Gateway exposes a read-only MCP Server Registry API generated from its live routes, giving clients a standard endpoint for server discovery."
canonicalUrl: "https://zuplo.com/changelog/2026/08/20/mcp-server-registry"
pageType: "changelog"
date: "2026-08-20"
tags: "runtime"
---
The MCP Gateway now includes a read-only
[MCP Server Registry API](https://github.com/modelcontextprotocol/registry). A
client or mirroring subregistry can discover the gateway's MCP servers at
`/__zuplo/mcp-registry` without a separate catalog to populate.

The registry is enabled by default and generated from live route configuration:

- Added or removed MCP routes appear in the next registry response.
- Gateway virtual servers and standalone MCP handlers both appear.
- Discovery is public, while each listed route keeps its existing
  authentication and inbound policies.

## Live route discovery

Send a `GET` request to
`https://GATEWAY_HOST/__zuplo/mcp-registry/v0.1/servers` to list the available
servers. Replace `GATEWAY_HOST` with your gateway's hostname.

Each entry includes a reverse-DNS server name, the gateway route as a
`streamable-http` remote, and metadata from the route's upstream connection
configuration. Parameterized routes are omitted because they don't identify a
concrete endpoint.

If route metadata doesn't meet a registry API constraint, the gateway adjusts
or omits the affected field instead of failing the full response. This includes
long names, descriptions over 100 code points, non-HTTPS icons, and invalid
version ranges.

Discovery endpoints don't require authentication because they expose route URLs
and metadata, not credentials or tokens. Connecting to a listed route still
uses that route's configured authentication and policies.

## Git remains the source of truth

To add, update, or remove an MCP server, change the gateway route configuration
and deploy it through your existing GitOps workflow. The registry reflects the
deployed routes on its next request.

The registry doesn't accept writes because Git remains the canonical source for
gateway configuration. It returns `501 Not Implemented` for publish, update, and
delete requests. Status changes return `403 Forbidden`.

## Configuration

The default mount is `/__zuplo/mcp-registry`. Use the `registry.path` option on
`McpGatewayPlugin` to change it, or set `registry.enabled` to `false` to disable
the registry.

## Getting started

For endpoint details, query parameters, and configuration, see the
[MCP Server Registry documentation](https://zuplo.com/docs/mcp-gateway/server-registry)
and the
[`McpGatewayPlugin` reference](https://zuplo.com/docs/programmable-api/mcp-gateway-plugin).
The blog post
[An MCP Server Registry Built Into Your Gateway](https://zuplo.com/blog/mcp-server-registry-gateway)
explains the reasoning behind live projection and a read-only API.