> This page is for version 0.7.0.
> For other versions, use one of these documentation indexes:
> - Main (default): https://docs.nvidia.com/nemo/gym/main/llms.txt
> - 0.7.0: https://docs.nvidia.com/nemo/gym/v0.7.0/llms.txt
> - 0.6.0: https://docs.nvidia.com/nemo/gym/v0.6.0/llms.txt
> - 0.5.1: https://docs.nvidia.com/nemo/gym/v0.5.1/llms.txt
> - 0.5.0: https://docs.nvidia.com/nemo/gym/v0.5.0/llms.txt
> - 0.4.0: https://docs.nvidia.com/nemo/gym/v0.4.0/llms.txt
> - 0.3.0: https://docs.nvidia.com/nemo/gym/v0.3.0/llms.txt
> - 0.2.1: https://docs.nvidia.com/nemo/gym/v0.2.1/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/gym/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/gym/_mcp/server.

# nemo_gym.server_runtime.registry_server

The head server: the registry every Gym server and client asks for the run's config and server addresses.

## Module Contents

### Classes

| Name                                                                                                  | Description |
| ----------------------------------------------------------------------------------------------------- | ----------- |
| [`HeadServer`](#nemo_gym-server_runtime-registry_server-HeadServer)                                   | -           |
| [`ServerInstanceDisplayConfig`](#nemo_gym-server_runtime-registry_server-ServerInstanceDisplayConfig) | -           |

### Data

[`DEFAULT_HEAD_SERVER_PORT`](#nemo_gym-server_runtime-registry_server-DEFAULT_HEAD_SERVER_PORT)

### API

```python
class nemo_gym.server_runtime.registry_server.HeadServer()
```

**Bases:** [BaseServer](/nemo/gym/nemo-gym/nemo_gym/server_runtime/base_server#nemo_gym-server_runtime-base_server-BaseServer)

**`_cached_yaml`** `Optional[str] = None`

---

**`_ready`** `bool = PrivateAttr(default=False)`

---

**`_server_instances`** `List[dict] = []`

---

**`config`** `BaseServerConfig`

---

```python
nemo_gym.server_runtime.registry_server.HeadServer.get_server_instances() -> typing.List[dict]
```

```python
nemo_gym.server_runtime.registry_server.HeadServer.global_config_dict_yaml() -> str
```

async

```python
nemo_gym.server_runtime.registry_server.HeadServer.invalidate_global_config_dict_yaml_cache() -> None
```

Clear the serialized global config cache.

```python
nemo_gym.server_runtime.registry_server.HeadServer.mark_ready() -> None
```

```python
nemo_gym.server_runtime.registry_server.HeadServer.run_webserver() -> typing.Tuple[uvicorn.Server, threading.Thread, nemo_gym.server_runtime.registry_server.HeadServer]
```

classmethod

```python
nemo_gym.server_runtime.registry_server.HeadServer.set_server_instances(
    instances: typing.List
) -> None
```

```python
nemo_gym.server_runtime.registry_server.HeadServer.setup_webserver() -> fastapi.FastAPI
```

```python
class nemo_gym.server_runtime.registry_server.ServerInstanceDisplayConfig()
```

**Bases:** `BaseModel`

**`config_path`** `Optional[str] = None`

---

**`dir_path`** `Optional[Path] = None`

---

**`entrypoint`** `Optional[str] = None`

---

**`host`** `Optional[str] = None`

---

**`name`** `Optional[str] = None`

---

**`pid`** `Optional[int] = None`

---

**`port`** `Optional[int] = None`

---

**`process_name`** `Optional[str] = None`

---

**`server_type`** `Optional[str] = None`

---

**`start_time`** `Optional[float] = None`

---

**`status`** `Optional[ServerStatus] = None`

---

**`uptime_seconds`** `Optional[float] = None`

---

**`url`** `Optional[str] = None`

---

```python
nemo_gym.server_runtime.registry_server.DEFAULT_HEAD_SERVER_PORT = 11000
```