The Arcade CLI
The Arcade CLI is a command-line that allows you to manage your Arcade deployments, generate, test, and manage your toolkits, and more.
This same package contains the SDK that you will use to build your own toolkits.
Installation
Like all python packages, the Arcade CLI needs to be installed within the python virtual environment you are using for your Arcade development environment.
Python + uv
Terminal
# install uv: https://docs.astral.sh/uv/getting-started/installation/
uv venv --seed
source .venv/bin/activate
Now that your python virtual environment is activated, you can install the Arcade CLI with the following command:
uv
bash uv pip install arcade-mcp Usage
Terminal
Usage: arcade [OPTIONS] COMMAND [ARGS]...
Arcade CLI - Build, deploy, and manage MCP servers and AI tools. Create
new projects, run servers with multiple transports, configure clients, and
deploy to Arcade Cloud.
╭─ Options ────────────────────────────────────────────────────────────────╮
│ --version -v Print version and exit. │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────╯
╭─ User ───────────────────────────────────────────────────────────────────╮
│ login Log in to Arcade Cloud │
│ logout Log out of Arcade Cloud │
│ dashboard Open the Arcade Dashboard in a web browser │
╰──────────────────────────────────────────────────────────────────────────╯
╭─ Build ──────────────────────────────────────────────────────────────────╮
│ new Create a new server package directory. Example usage: arcade new │
│ my_mcp_server │
│ show Show the installed tools or details of a specific tool │
│ evals Run tool calling evaluations │
╰──────────────────────────────────────────────────────────────────────────╯
╭─ Run ────────────────────────────────────────────────────────────────────╮
│ mcp Run MCP servers with different transports │
│ deploy Deploy MCP servers to Arcade │
╰──────────────────────────────────────────────────────────────────────────╯
╭─ Manage ─────────────────────────────────────────────────────────────────╮
│ configure Configure MCP clients to connect to your server │
│ server Manage deployments of tool servers (logs, list, etc) │
│ secret Manage tool secrets in the cloud (set, unset, list) │
╰──────────────────────────────────────────────────────────────────────────╯
Pro tip: use --help after any command to see command-specific options.You can learn more about any of the commands by running arcade <command> --help, e.g. arcade new --help.
arcade login
Terminal
Usage: arcade login [OPTIONS]
Log in to Arcade Cloud
╭─ Options ────────────────────────────────────────────────────────────────╮
│ --host -h TEXT The Arcade Cloud host to log in to. │
│ [default: cloud.arcade.dev] │
│ --port -p INTEGER The port of the Arcade Cloud host (if │
│ running locally). │
│ [default: None] │
│ --callback-host TEXT The host to use to complete the auth │
│ flow - this should be the same as the │
│ host that the CLI is running on. │
│ Include the port if needed. │
│ [default: None] │
│ --debug -d Show debug information │
│ --help Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────╯arcade logout
Terminal
Usage: arcade logout [OPTIONS]
Log out of Arcade Cloud
╭─ Options ────────────────────────────────────────────────────────────────╮
│ --debug -d Show debug information │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────╯arcade dashboard
Terminal
Usage: arcade dashboard [OPTIONS]
Open the Arcade Dashboard in a web browser
╭─ Options ────────────────────────────────────────────────────────────────╮
│ --host -h TEXT The Arcade Engine host that serves the │
│ dashboard. │
│ [default: api.arcade.dev] │
│ --port -p INTEGER The port of the Arcade Engine. │
│ [default: None] │
│ --local -l Open the local dashboard instead of the │
│ default remote dashboard. │
│ --tls Whether to force TLS for the connection to │
│ the Arcade Engine. │
│ --no-tls Whether to disable TLS for the connection to │
│ the Arcade Engine. │
│ --debug -d Show debug information │
│ --help Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────╯arcade new
Terminal
Usage: arcade new [OPTIONS] SERVER_NAME
Create a new server package directory. Example usage: arcade new
my_mcp_server
╭─ Arguments ──────────────────────────────────────────────────────────────╮
│ * server_name TEXT The name of the server to create │
│ [default: None] │
│ [required] │
╰──────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────╮
│ --dir TEXT tools directory path │
│ [default: current directory] │
│ --debug -d Show debug information │
│ --full -f Create a starter MCP server (pyproject.toml, │
│ server.py, .env.example) │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────╯arcade show
Terminal
Usage: arcade show [OPTIONS]
Show the installed tools or details of a specific tool
╭─ Options ────────────────────────────────────────────────────────────────╮
│ --server -T TEXT The server to show the tools of │
│ [default: None] │
│ --tool -t TEXT The specific tool to show details for │
│ [default: None] │
│ --host -h TEXT The Arcade Engine address to show the │
│ tools/servers of. │
│ [default: api.arcade.dev] │
│ --local -l Show the local environment's catalog instead │
│ of an Arcade Engine's catalog. │
│ --port -p INTEGER The port of the Arcade Engine. │
│ [default: None] │
│ --tls Whether to force TLS for the connection to │
│ the Arcade Engine. If not specified, the │
│ connection will use TLS if the engine URL │
│ uses a 'https' scheme. │
│ --no-tls Whether to disable TLS for the connection to │
│ the Arcade Engine. │
│ --full -f Show full server response structure including │
│ error, logs, and authorization fields (only │
│ applies when used with -t/--tool). │
│ --debug -d Show debug information │
│ --help Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────╯arcade evals
Terminal
Usage: arcade evals [OPTIONS] [DIRECTORY]
Run tool calling evaluations
╭─ Arguments ──────────────────────────────────────────────────────────────╮
│ directory [DIRECTORY] Directory containing evaluation files │
│ [default: .] │
╰──────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────╮
│ --details -d Show detailed results │
│ --max-concurrent -c INTEGER Maximum number of concurrent │
│ evaluations (default: 1) │
│ [default: 1] │
│ --models -m TEXT The models to use for evaluation │
│ (default: gpt-4o). Use commas to │
│ separate multiple models. All │
│ models must belong to the same │
│ provider. │
│ [default: gpt-4o] │
│ --provider -p [openai] The provider of the models to use │
│ for evaluation. │
│ [default: openai] │
│ --provider-api-key -k TEXT The model provider API key. If not │
│ provided, will look for the │
│ appropriate environment variable │
│ based on the provider (e.g., │
│ OPENAI_API_KEY for openai │
│ provider), first in the current │
│ environment, then in the current │
│ working directory's .env file. │
│ [default: None] │
│ --debug Show debug information │
│ --help -h Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────╯arcade mcp
Terminal
Usage: arcade mcp [OPTIONS] [TRANSPORT]
Run MCP servers with different transports
╭─ Arguments ────────────────────────────────────────────────────────────────────────╮
│ transport [TRANSPORT] Transport type: stdio, http │
│ [default: http] │
╰────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────────────────────────────╮
│ --host TEXT Host to bind to (HTTP mode only) │
│ [default: 127.0.0.1] │
│ --port INTEGER Port to bind to (HTTP mode only) │
│ [default: 8000] │
│ --tool-package,--package -p TEXT Specific tool package to load (e.g., │
│ 'github' for arcade-github) │
│ [default: None] │
│ --discover-installed,--all Discover all installed arcade tool │
│ packages │
│ --show-packages Show loaded packages during discovery │
│ --reload Enable auto-reload on code changes │
│ (HTTP mode only) │
│ --debug Enable debug mode with verbose │
│ logging │
│ --otel-enable Send logs to OpenTelemetry │
│ --env-file TEXT Path to environment file │
│ [default: None] │
│ --name TEXT Server name │
│ [default: None] │
│ --version TEXT Server version │
│ [default: None] │
│ --cwd TEXT Working directory to run from │
│ [default: None] │
│ --help -h Show this message and exit. │
╰────────────────────────────────────────────────────────────────────────────────────╯arcade deploy
Terminal
Usage: arcade deploy [OPTIONS]
Deploy MCP servers to Arcade
╭─ Options ──────────────────────────────────────────────────────────────────────────╮
│ --entrypoint -e TEXT Relative path to the Python file that runs the MCPApp │
│ instance (relative to project root). This file must │
│ execute the run() method on your MCPApp instance when │
│ invoked directly. │
│ [default: server.py] │
│ --debug -d Show debug information │
│ --help Show this message and exit. │
╰────────────────────────────────────────────────────────────────────────────────────╯
╭─ Advanced ─────────────────────────────────────────────────────────────────────────╮
│ --skip-validate,--yolo Skip running the server locally │
│ for health/metadata checks. When │
│ set, you must provide │
│ --server-name and │
│ --server-version. Secret handling │
│ is controlled by --secrets. │
│ --server-name -n TEXT Explicit server name to use when │
│ --skip-validate is set. Only used │
│ when --skip-validate is set. │
│ [default: None] │
│ --server-version -v TEXT Explicit server version to use │
│ when --skip-validate is set. Only │
│ used when --skip-validate is set. │
│ [default: None] │
│ --secrets -s [auto|all|skip] How to upsert secrets before │
│ deploy: auto (default): During │
│ validation, discover required │
│ secret KEYS and upsert only │
│ those. If --skip-validate is set, │
│ auto becomes skip. all: Upsert │
│ every key/value pair from your │
│ server's .env file regardless of │
│ what the server needs. skip: Do │
│ not upsert any secrets (assumes │
│ they are already present in │
│ Arcade). │
│ [default: auto] │
╰────────────────────────────────────────────────────────────────────────────────────╯arcade configure
Terminal
Usage: arcade configure [OPTIONS] CLIENT:{claude|cursor|vscode}
Configure MCP clients to connect to your server
╭─ Arguments ────────────────────────────────────────────────────────────────────────╮
│ * client CLIENT:{claude|cursor|vscode} The MCP client to configure │
│ (claude, cursor, vscode) │
│ [default: None] │
│ [required] │
╰────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ──────────────────────────────────────────────────────────────────────────╮
│ --transport -t [stdio|http] The transport to use for the MCP server │
│ configuration │
│ [default: stdio] │
│ --debug -d Show debug information │
│ --help Show this message and exit. │
╰────────────────────────────────────────────────────────────────────────────────────╯
╭─ Stdio Options ────────────────────────────────────────────────────────────────────╮
│ --entrypoint -e TEXT The name of the Python file in the current directory │
│ that runs the server. This file must run the server │
│ when invoked directly. Only used for stdio servers. │
│ [default: server.py] │
╰────────────────────────────────────────────────────────────────────────────────────╯
╭─ Configuration File Options ───────────────────────────────────────────────────────╮
│ --name -n TEXT Optional name of the server to set in the configuration │
│ file (defaults to the name of the current directory) │
│ [default: None] │
│ --config -c PATH Optional path to a specific MCP client config file │
│ (overrides default path) │
│ [default: None] │
╰────────────────────────────────────────────────────────────────────────────────────╯
╭─ HTTP Options ─────────────────────────────────────────────────────────────────────╮
│ --host -h [local|arcade] The host of the HTTP server to configure. Use │
│ 'local' to connect to a local MCP server or │
│ 'arcade' to connect to an Arcade Cloud MCP server. │
│ [default: local] │
│ --port -p INTEGER Port for local HTTP servers │
│ [default: 8000] │
╰────────────────────────────────────────────────────────────────────────────────────╯arcade server
Terminal
Usage: arcade server [OPTIONS] COMMAND [ARGS]...
Manage deployments of tool servers (logs, list, etc)
╭─ Options ──────────────────────────────────────────────────────────────────────────╮
│ --host -h TEXT The Arcade Engine host. │
│ [default: api.arcade.dev] │
│ --port -p INTEGER The port of the Arcade Engine host. │
│ [default: None] │
│ --tls Whether to force TLS for the connection to the Arcade │
│ Engine. │
│ --no-tls Whether to disable TLS for the connection to the Arcade │
│ Engine. │
│ --help Show this message and exit. │
╰────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ─────────────────────────────────────────────────────────────────────────╮
│ list List all workers │
│ enable Enable a worker │
│ disable Disable a worker │
│ rm Remove a worker │
│ logs Get logs for a worker │
╰────────────────────────────────────────────────────────────────────────────────────╯arcade secret
Terminal
Usage: arcade secret [OPTIONS] COMMAND [ARGS]...
Manage tool secrets in the cloud (set, unset, list)
╭─ Options ──────────────────────────────────────────────────────────────────────────╮
│ --host -h TEXT The Arcade Engine host. │
│ [default: api.arcade.dev] │
│ --port -p INTEGER The port of the Arcade Engine host. │
│ [default: None] │
│ --tls Whether to force TLS for the connection to the Arcade │
│ Engine. │
│ --no-tls Whether to disable TLS for the connection to the Arcade │
│ Engine. │
│ --help Show this message and exit. │
╰────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ─────────────────────────────────────────────────────────────────────────╮
│ set Set tool secret(s) using KEY=VALUE pairs or from .env file │
│ list List all tool secrets in Arcade Cloud │
│ unset Delete tool secret(s) by key names │
╰────────────────────────────────────────────────────────────────────────────────────╯Last updated on