---
title: "List available registry servers"
method: GET
path: "/registry/{registryName}/v0.1/servers"
tags: ["registry-servers"]
---

# List available registry servers

`GET /registry/{registryName}/v0.1/servers`

Get a paginated list of servers from the registry. Supports optional full-text search and pagination.

## Path parameters

- `registryName` string, required

## Query parameters

- `q` string
- `page` integer
- `limit` integer

## Response `200`

OK

- PkgApiV1ServersV01Response — Paginated list of servers from the registry
  - `metadata` PkgApiV1PaginationV01Metadata — Metadata contains pagination information
    - `limit` integer — Limit is the maximum number of items per page
    - `page` integer — Page is the current page number (1-based)
    - `total` integer — Total is the total number of items matching the query
  - `servers` V0ServerJSON[] — Servers is the list of servers on the current page
    - `$schema` string, uri
    - `_meta` V0ServerMeta
      - `io.modelcontextprotocol.registry/publisher-provided` object
    - `description` string
    - `icons` ModelIcon[]
      - `mimeType` string
      - `sizes` string[]
      - `src` string, uri
      - `theme` string
    - `name` string
    - `packages` ModelPackage[]
      - `environmentVariables` ModelKeyValueInput[] — EnvironmentVariables are set when running the package
        - `choices` string[]
        - `default` string
        - `description` string
        - `format` 'string' | 'number' | 'boolean' | 'filepath'
        - `isRequired` boolean
        - `isSecret` boolean
        - `name` string
        - `placeholder` string
        - `value` string
        - `variables` object
      - `fileSha256` string — FileSHA256 is the SHA-256 hash for integrity verification (required for mcpb, optional for others)
      - `identifier` string — Identifier is the package identifier: - For NPM/PyPI/NuGet: package name or ID - For OCI: full image reference (e.g., "ghcr.io/owner/repo:v1.0.0") - For MCPB: direct download URL
      - `packageArguments` ModelArgument[] — PackageArguments are passed to the package's binary
        - `choices` string[]
        - `default` string
        - `description` string
        - `format` 'string' | 'number' | 'boolean' | 'filepath'
        - `isRepeated` boolean
        - `isRequired` boolean
        - `isSecret` boolean
        - `name` string
        - `placeholder` string
        - `type` 'positional' | 'named'
        - `value` string
        - `valueHint` string
        - `variables` object
      - `registryBaseUrl` string, uri — RegistryBaseURL is the base URL of the package registry (used by npm, pypi, nuget, cargo; not used by oci, mcpb)
      - `registryType` string — RegistryType indicates how to download packages (e.g., "npm", "pypi", "cargo", "oci", "nuget", "mcpb")
      - `runtimeArguments` ModelArgument[] — RuntimeArguments are passed to the package's runtime command (e.g., docker, npx)
        - `choices` string[]
        - `default` string
        - `description` string
        - `format` 'string' | 'number' | 'boolean' | 'filepath'
        - `isRepeated` boolean
        - `isRequired` boolean
        - `isSecret` boolean
        - `name` string
        - `placeholder` string
        - `type` 'positional' | 'named'
        - `value` string
        - `valueHint` string
        - `variables` object
      - `runtimeHint` string — RunTimeHint suggests the appropriate runtime for the package
      - `transport` ModelTransport — Transport is required and specifies the transport protocol configuration
        - `headers` ModelKeyValueInput[]
          - `choices` string[]
          - `default` string
          - `description` string
          - `format` 'string' | 'number' | 'boolean' | 'filepath'
          - `isRequired` boolean
          - `isSecret` boolean
          - `name` string
          - `placeholder` string
          - `value` string
          - `variables` object
        - `type` string
        - `url` string
        - `variables` object
      - `version` string — Version is the package version (required for npm, pypi, nuget; optional for mcpb; not used by oci where version is in the identifier)
    - `remotes` ModelTransport[]
      - `headers` ModelKeyValueInput[]
        - `choices` string[]
        - `default` string
        - `description` string
        - `format` 'string' | 'number' | 'boolean' | 'filepath'
        - `isRequired` boolean
        - `isSecret` boolean
        - `name` string
        - `placeholder` string
        - `value` string
        - `variables` object
      - `type` string
      - `url` string
      - `variables` object
    - `repository` ModelRepository
      - `id` string
      - `source` string
      - `subfolder` string
      - `url` string, uri
    - `title` string
    - `version` string
    - `websiteUrl` string, uri

## Other responses

- `500` — Internal server error
- `503` — Registry authentication required or upstream registry unavailable

---

[API](https://skmtc.net/stacklok/apis/toolhive-api.md) · [All operations](https://skmtc.net/stacklok/apis/toolhive-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/stacklok/toolhive-api/revisions/43b22ce40564/schema)
