The CLI, along with the Studio, are the primary ways to interact with director. The CLI is distributed as a standalone package, and can be installed via npm.

Installation

$ npm install -g @director.run/cli

Usage

$ director --help

The easiest way to manage and deploy MCP servers

USAGE
  director <command> [subcommand] [flags]

CORE COMMANDS
   quickstart                                    Start the gateway and open the studio in your browser
   serve                                         Start the web service
   studio                                        Open the UI in your browser
   ls                                            List proxies
   get <proxyId>                                 Show proxy details
   create <name>                                 Create a new proxy
   destroy <proxyId>                             Delete a proxy
   connect <proxyId> [options]                   Connect a proxy to a MCP client
   disconnect <proxyId> [options]                Disconnect a proxy from an MCP client
   add <proxyId> [options]                       Add a server to a proxy.
   remove <proxyId> <serverName>                 Remove a server from a proxy
   http2stdio <url>                              Proxy an HTTP connection (sse or streamable) to a stdio stream
   env [options]                                 Print environment variables

REGISTRY
   registry ls                                   List all available servers in the registry
   registry get <entryName>                      Get detailed information about a registry item
   registry readme <entryName>                   Print the readme for a registry item

FLAGS
   -V, --version                                 output the version number

Examples

Start the gateway

$ director serve

         _ _               _
        | (_)             | |
      __| |_ _ __ ___  ___| |_ ___  _ __
     / _' | | '__/ _ \/ __| __/ _ \| '__|
    | (_| | | | |  __/ (__| || (_) | |
     \__,_|_|_|  \___|\___|\__\___/|_|


[18:16:21] INFO (Gateway): starting director gateway
[18:16:21] INFO (Gateway): director gateway running on port 3673

Create a proxy

$ director create my-first-proxy 
proxy my-first-proxy created

Add a server to the proxy

$ director add my-first-proxy --entry fetch
adding fetch to my-first-proxy
 Entry fetched.
 Registry entry fetch added to my-first-proxy

Connect the proxy to a client

# connect the proxy to Claude automatically
$ director connect my-first-proxy -t claude 
[18:19:06] INFO (client-configurator/claude): reading config from /Users/barnaby/Library/Application Support/Claude/claude_desktop_config.json
[18:19:06] INFO (client-configurator/claude): installing my-first-proxy
[18:19:06] INFO (client-configurator/claude): writing config to /Users/barnaby/Library/Application Support/Claude/claude_desktop_config.json
[18:19:06] INFO (client-configurator/claude): restarting claude
[18:19:06] INFO (restartApp): restarting Claude...
[18:19:08] INFO (restartApp): Claude has been restarted
undefined

# print the manual connection details
$ director connect my-first-proxy 

--------------------------------
Connection Details for 'my-first-proxy'
--------------------------------

Note: if you'd like to connect to a client automatically, run:
director connect my-first-proxy --target <target>

HTTP Streamable: http://localhost:3673/my-first-proxy/mcp
HTTP SSE: http://localhost:3673/my-first-proxy/sse
Stdio: {
  "command": "npx",
  "args": [
    "-y",
    "@director.run/cli",
    "http2stdio",
    "http://localhost:3673/my-first-proxy/mcp"
  ],
  "env": {
    "LOG_LEVEL": "silent"
  }
}

Get the details of a proxy

# list all the proxies
$ director ls
┌────────────────┬────────────────┬──────────────────────────────────────────┐
 id name path
 my-first-proxy my-first-proxy http://localhost:3673/my-first-proxy/mcp
└────────────────┴────────────────┴──────────────────────────────────────────┘

# get the details of a single proxy
$ director get my-first-proxy 
id=my-first-proxy
name=my-first-proxy
┌───────┬───────────┬──────────────────────┐
 name transport url/command
 fetch stdio uvx mcp-server-fetch
└───────┴───────────┴──────────────────────┘