# Manufact CLI (/cli)



<Callout title="An MCP company, writing CLI docs">
  We live and breathe MCP. Still, we'll admit it: sometimes you just want a terminal. The CLI is for local development, scripted deploys, and running agents on your machine before they graduate to MCP.
</Callout>

`@mcp-use/cli` is the command-line companion to Manufact Cloud and the [mcp-use](https://docs.mcp-use.com) framework: build and run MCP servers locally, deploy them to Manufact Cloud, and manage servers, deployments, and environment variables without leaving the terminal.

## Installation [#installation]

No install needed, the [mcp-use](https://docs.mcp-use.com) package forwards to the CLI, so you can run commands directly:

```bash
npx mcp-use <command>
```

For frequent use, install the CLI globally:

```bash
npm install -g @mcp-use/cli
```

Both expose the same `mcp-use` binary; if your project already depends on `mcp-use`, the command is available in your scripts as-is. Requires Node.js `^20.19.0` or `>=22.12.0`.

## Quick tour [#quick-tour]

```bash
# Authenticate with Manufact Cloud
mcp-use login

# Run your MCP server locally with hot reload + inspector
mcp-use dev

# Deploy it to Manufact Cloud
mcp-use deploy

# Watch it run
mcp-use deployments logs <deployment-id> --follow
```

## Command reference [#command-reference]

Each command has its own page in the sidebar, grouped by area. Start with [`login`](/cli/login) for cloud commands, or [`dev`](/cli/dev) for local development.

| Area                      | Commands                                                                                                                                                                                                                                                    |
| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Authentication**        | [`login`](/cli/login), [`logout`](/cli/logout), [`whoami`](/cli/whoami)                                                                                                                                                                                     |
| **Organization**          | [`org list`](/cli/org-list), [`org switch`](/cli/org-switch), [`org current`](/cli/org-current)                                                                                                                                                             |
| **Deploy**                | [`deploy`](/cli/deploy)                                                                                                                                                                                                                                     |
| **Servers**               | [`servers list`](/cli/servers-list), [`servers get`](/cli/servers-get), [`servers update`](/cli/servers-update), [`servers delete`](/cli/servers-delete)                                                                                                    |
| **Environment variables** | [`servers env list`](/cli/servers-env-list), [`add`](/cli/servers-env-add), [`update`](/cli/servers-env-update), [`remove`](/cli/servers-env-remove)                                                                                                        |
| **Deployments**           | [`deployments list`](/cli/deployments-list), [`get`](/cli/deployments-get), [`restart`](/cli/deployments-restart), [`logs`](/cli/deployments-logs), [`stop`](/cli/deployments-stop), [`start`](/cli/deployments-start), [`delete`](/cli/deployments-delete) |
| **Local development**     | [`dev`](/cli/dev), [`build`](/cli/build), [`start`](/cli/start), [`generate-types`](/cli/generate-types), [`skills add`](/cli/skills-add)                                                                                                                   |
| **Terminal client**       | [`client connect`](/cli/client-connect), [`list`](/cli/client-list), [`tools`](/cli/client-tools), [`interactive`](/cli/client-interactive), [`screenshot`](/cli/client-screenshot)                                                                         |

## Configuration [#configuration]

The CLI stores its state under `~/.mcp-use/`:

| File                           | Purpose                                                                   |
| ------------------------------ | ------------------------------------------------------------------------- |
| `~/.mcp-use/config.json`       | API key and active organization (written by `login` and `org switch`)     |
| `~/.mcp-use/cli-sessions.json` | Servers saved with `client connect`                                       |
| `.mcp-use/project.json`        | Per-project link to its cloud server and deployment (written by `deploy`) |

A `.env` file in the current directory is loaded automatically on every command.

## Environment variables [#environment-variables]

| Variable          | Purpose                                             | Default                             |
| ----------------- | --------------------------------------------------- | ----------------------------------- |
| `MCP_USE_API_KEY` | API key for non-interactive login (CI)              | -                                   |
| `MCP_API_URL`     | Manufact Cloud API base                             | `https://cloud.manufact.com/api/v1` |
| `MCP_WEB_URL`     | Web app used for the device login flow              | `https://manufact.com`              |
| `PORT`            | Port for `mcp-use start` when `--port` isn't passed | `3000`                              |
