---
title: "Get one directory server"
method: GET
path: "/registry/directory-servers/{idOrName}"
tags: ["Registry"]
---

# Get one directory server

`GET /registry/directory-servers/{idOrName}`

Resolve by Convex `catalogServerId` (long unhyphenated id) or by `serverName`. Pass `source` to disambiguate a name that exists in more than one directory. The response includes `latestContentHash` — pass it as `expectedContentHash` on install to freeze the row.

## Path parameters

- `idOrName` string, required

## Query parameters

- `source` string

## Response `200`

The directory server.

- CatalogServer — Allowlisted projection of a scraped directory row. Extra upstream fields are dropped.
  - `id` string, required
  - `source` string, required
  - `serverName` string, required
  - `displayName` string
  - `description` string
  - `rowType` string
  - `verifiedTier` string
  - `authPosture` string
  - `unavailableReason` string
  - `endpointKind` string
  - `remoteUrl` string
  - `remoteUrlOptions` string[]
  - `remoteUrlRegex` string
  - `remoteUrlHint` string
  - `latestContentHash` string — Freshness pin for install.
  - `oauthProbe` object

## Other responses

- `400` — Malformed body or parameters.
- `401` — Missing, invalid, revoked, or orphaned key (`UNAUTHORIZED`) — or the **target MCP server** needs an OAuth grant (`OAUTH_REQUIRED`), which is a property of the server, not your key.
- `403` — Key is valid but not allowed to do this.
- `404` — Unknown project, server, or resource.
- `429` — Per-key rate limit exceeded (60 requests/minute sustained, bursts up to 10). Honor `Retry-After` and back off with jitter.
- `500` — Something failed on MCPJam's side.
- `502` — Could not connect to the target MCP server.

---

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