Getting Started
Experimental
Project
Concepts
CLI Reference
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
Copy
$ npm install -g @director.run/cli
Usage
Copy
$ 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
Copy
$ director serve
_ _ _
| (_) | |
__| |_ _ __ ___ ___| |_ ___ _ __
/ _' | | '__/ _ \/ __| __/ _ \| '__|
| (_| | | | | __/ (__| || (_) | |
\__,_|_|_| \___|\___|\__\___/|_|
[18:16:21] INFO (Gateway): starting director gateway
[18:16:21] INFO (Gateway): director gateway running on port 3673
Create a proxy
Copy
$ director create my-first-proxy
proxy my-first-proxy created
Add a server to the proxy
Copy
$ 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
Copy
# 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
Copy
# 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 │
└───────┴───────────┴──────────────────────┘
Assistant
Responses are generated using AI and may contain mistakes.