Skip to main content
This API is in beta. The response format follows MCP Registry v0.1 and may change as the upstream spec evolves.
The Registry API serves every MCP server approved in your organization as a catalog in the standard MCP Registry server.json format. Point a governance-aware MCP client at this endpoint to restrict users to an approved set of servers. Anything outside the catalog is blocked by the client.
This is the machine-readable counterpart to the MCP Registry dashboard. Admins approve servers in the UI; this endpoint serves that same list to clients.

Endpoint

Authenticate with the x-portkey-api-key header. The key needs the mcp_servers.list scope.
The header is the only accepted credential. Bearer tokens and query-parameter API keys are not supported on this endpoint.
For self-hosted deployments, swap the host for your own MCP Gateway URL:
The registry is part of the MCP Gateway itself, not a separate service. Any deployment that serves MCP traffic also serves its own catalog.

Query parameters

integer
default:"50"
Number of servers per page. Range 1–100.
string
Opaque pagination cursor. Pass the nextCursor from the previous response.
Case-insensitive substring match on the server name.
string
ISO 8601 timestamp. Returns only servers modified after this time. Use it for incremental syncs.
string
Workspace UUID or slug (ws-acme-corp). Narrows an org-wide key to a single workspace.

Response

Field reference

remotes[].url always points at the Portkey Gateway. Traffic keeps flowing through Portkey, so access control, guardrails, rate limits, and logging still apply.

Pagination

Results are cursor-paginated and sorted newest-first. When metadata.nextCursor is present, pass it back as cursor to fetch the next page. When it’s absent, the catalog is fully read.
Treat the cursor as opaque. Don’t construct or parse it — an unrecognized cursor returns 400.

Which servers appear

The catalog reflects what admins approved in the dashboard. A server is listed only when the server, its integration, its workspace, and the workspace’s access grant are all active. Archived servers and revoked workspace access disappear from the catalog automatically. Scope follows the API key: Add workspace_id to narrow an organization key to a single workspace. A workspace key can’t read a workspace other than its own.
Use an organization key to publish one catalog covering the whole company. Use workspace keys to give each team a catalog scoped to what they’re entitled to.

Serving the catalog to static-URL clients

Some governance-aware clients fetch their registry from a plain HTTPS URL and can’t attach custom headers. Because this endpoint requires x-portkey-api-key, put a small proxy in front of it:
1

Fetch the catalog

Call the Registry API with your API key from a scheduled job.
2

Publish the JSON

Write the response to a static HTTPS location — S3, nginx, or any web server the client can reach.
3

Point the client at it

Configure the client’s registry URL to your static endpoint.
4

Refresh on a schedule

Re-run the job on the client’s sync interval. Use updated_since to pull only what changed.
This keeps the API key server-side and never exposes it to end users.

Errors


Next steps

MCP Registry

Approve servers, configure auth, and manage the catalog from the dashboard.

Team Provisioning

Control which workspaces see which servers.

Using MCP Servers

Connect clients to servers from the catalog.

Observability

Monitor MCP traffic and usage.
Last modified on August 21, 2026