---
title: shared
sidebarTitle: shared
---

# `fastmcp.cli.install.shared`


Shared utilities for install commands.

## Functions

### `validate_server_name` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/cli/install/shared.py#L28" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python
validate_server_name(name: str) -> str
```


Validate that a server name is safe for use as a subprocess argument.

Raises SystemExit if the name contains shell metacharacters.


### `parse_env_var` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/cli/install/shared.py#L42" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python
parse_env_var(env_var: str) -> tuple[str, str]
```


Parse environment variable string in format KEY=VALUE.


### `process_common_args` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/cli/install/shared.py#L53" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python
process_common_args(server_spec: str, server_name: str | None, with_packages: list[str] | None, env_vars: list[str] | None, env_file: Path | None) -> tuple[Path, str | None, str, list[str], dict[str, str] | None]
```


Process common arguments shared by all install commands.

Handles both fastmcp.json config files and traditional file.py:object syntax.


### `open_deeplink` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/cli/install/shared.py#L169" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>

```python
open_deeplink(url: str) -> bool
```


Attempt to open a deeplink URL using the system's default handler.

**Args:**
- `url`: The deeplink URL to open.
- `expected_scheme`: The URL scheme to validate (e.g. "cursor", "goose").

**Returns:**
- True if the command succeeded, False otherwise.

