> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ndi.nace.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Update the SDKs, CLI, and MCP

> Check which version you have and upgrade the Python SDK, TypeScript SDK, CLI, and MCP server

The Python SDK, TypeScript SDK, CLI, and local MCP server are separate packages, each with its own
version. Upgrade the ones you use to get new methods, tools, and fixes. The hosted MCP server is
always current.

Commands work the same in a terminal on macOS or Linux and in PowerShell on Windows, except
where a section shows a **Windows** tab.

***

## Check your version

| Package | Command |
| - | - |
| Python SDK (`ndi-sdk`) | `pip show ndi-sdk` (Windows: `py -m pip show ndi-sdk`), or `ndi_sdk.__version__` in code |
| TypeScript SDK (`ndi-sdk`) | `npm ls ndi-sdk`, or `VERSION` exported from `ndi-sdk` |
| CLI (`ndi-cli`) | `ndi version` (also prints the `ndi-sdk` it runs on) |
| Local MCP (`ndi-mcp`) | `pip show ndi-mcp` (Windows: `py -m pip show ndi-mcp`), or `uv tool list` if you installed it with `uv tool install` |

```python theme={"dark"}
import ndi_sdk

print(ndi_sdk.__version__)
```

```ts theme={"dark"}
import { VERSION } from "ndi-sdk";

console.log(VERSION);
```

***

## Python SDK

**macOS / Linux**

```bash theme={"dark"}
pip install --upgrade ndi-sdk
```

**Windows**

```powershell theme={"dark"}
py -m pip install --upgrade ndi-sdk
```

On Windows, `py` is the Python launcher. If you work in a virtual environment, activate it and
run `pip` directly instead.

In a uv project:

```bash theme={"dark"}
uv lock --upgrade-package ndi-sdk
uv sync
```

If your project pins `ndi-sdk` to a range, raise the range first, then run the command.

***

## TypeScript SDK

```bash theme={"dark"}
npm install ndi-sdk@latest
```

```bash theme={"dark"}
pnpm add ndi-sdk@latest
```

```bash theme={"dark"}
yarn add ndi-sdk@latest
```

`npm install ndi-sdk` saves a caret range such as `^0.39.0`. For a `0.x` package that range stays
within `0.39.x`, so `npm update` installs fixes but not the next minor release. Use `@latest` to
move to it.

***

## CLI

Upgrade with the tool you installed it with:

**macOS / Linux**

```bash theme={"dark"}
pip install --upgrade ndi-cli
```

**Windows**

```powershell theme={"dark"}
py -m pip install --upgrade ndi-cli
```

```bash theme={"dark"}
uv tool upgrade ndi-cli
```

```bash theme={"dark"}
pipx upgrade ndi-cli
```

> [!WARNING]
>
> On Windows, stop any running `ndi` command before upgrading. Windows locks a running `ndi.exe`,
> and the upgrade fails with "The process cannot access the file because it is being used by another
> process".

Run `ndi version` afterwards to confirm. Your saved key in `~/.ndi/config.toml`
(`%USERPROFILE%\.ndi\config.toml` on Windows) is kept, so there's no need to run `ndi login` again.

***

## MCP server

### Hosted

Nothing to do. `https://ndi-api.nace.ai/v1/mcp` always serves the current tool catalog. Restart or
reconnect your agent to pick up new tools.

### Local with `uvx`

`uvx ndi-mcp` reuses the version it cached the first time it ran. To always start the latest release,
ask for `@latest` in your agent's MCP config:

```bash theme={"dark"}
claude mcp remove ndi
claude mcp add ndi -- uvx ndi-mcp@latest
```

Cursor (`.cursor/mcp.json`):

```json theme={"dark"}
{
  "mcpServers": {
    "ndi": {
      "command": "uvx",
      "args": ["ndi-mcp@latest"]
    }
  }
}
```

With `@latest`, `uvx` checks PyPI each time the agent starts the server, which adds a moment to
startup and needs network access. To stay on one version instead, name it, for example `ndi-mcp@0.28.0`.

Restart your agent after changing the config. The key saved by `ndi-mcp login` is kept.

### Local with `pip`

Quit your agent first: it keeps the server running, and on Windows a running `ndi-mcp.exe` blocks
the upgrade.

**macOS / Linux**

```bash theme={"dark"}
pip install --upgrade ndi-mcp
```

**Windows**

```powershell theme={"dark"}
py -m pip install --upgrade ndi-mcp
```

If you installed it through the older `ndi-sdk[mcp]` extra, upgrade `ndi-mcp` directly with the same
command. Then start your agent again.

***

## Version numbers

All four packages are at `0.x` and follow these rules:

| Release | What changes |
| - | - |
| Patch (`0.48.0` → `0.48.1`) | Fixes only. Safe to take. |
| Minor (`0.48.x` → `0.49.0`) | New methods, fields, tools, or commands. May also rename or remove something. |

Because a minor release can break existing code, pin a range that accepts patches only, and move it
deliberately:

**macOS / Linux**

```bash theme={"dark"}
pip install "ndi-sdk>=0.48,<0.49"
```

**Windows**

```powershell theme={"dark"}
py -m pip install "ndi-sdk>=0.48,<0.49"
```

```bash theme={"dark"}
npm install ndi-sdk@~0.39.0
```

***

## Next steps

* [Python SDK](/sdks/python)
* [TypeScript SDK](/sdks/typescript)
* [NDI CLI](/guides/cli)
* [MCP](/sdks/mcp)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.