--- title: "Arcade CLI" description: "Learn how to install and use the Arcade CLI" --- import { Tabs, Callout } from "nextra/components"; # The Arcade CLI The Arcade CLI is a command-line tool that allows you to manage your Arcade deployments, generate, test, and manage your MCP servers, and more. ## Install the Arcade CLI In your terminal, run the following command to install the `arcade-mcp` package - Arcade's CLI: ```bash uv tool install arcade-mcp ``` This will install the Arcade CLI as a [uv tool](https://docs.astral.sh/uv/guides/tools/#installing-tools), making it available system wide. ```bash pip install arcade-mcp ``` ## Usage ```bash 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 │ │ logout Log out of Arcade │ │ whoami Show current login status and active context │ │ dashboard Open the Arcade Dashboard in a web browser │ │ org Manage organizations (list, set active) │ │ project Manage projects (list, set active) │ ╰────────────────────────────────────────────────────────────────────────╯ ╭─ 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 --help`, e.g. `arcade new --help`. ## `arcade login` ```bash Usage: arcade login [OPTIONS] Log in to Arcade ╭─ Options ──────────────────────────────────────────────────────────────╮ │ --host -h TEXT The Arcade Coordinator host to log in to. │ │ [default: cloud.arcade.dev] │ │ --port -p INTEGER The port of the Arcade Coordinator host (if │ │ running locally). │ │ [default: None] │ │ --debug -d Show debug information │ │ --help Show this message and exit. │ ╰────────────────────────────────────────────────────────────────────────╯ ``` ## `arcade logout` ```bash Usage: arcade logout [OPTIONS] Log out of Arcade ╭─ Options ──────────────────────────────────────────────────────────────╮ │ --debug -d Show debug information │ │ --help -h Show this message and exit. │ ╰────────────────────────────────────────────────────────────────────────╯ ``` ## `arcade whoami` ```bash Usage: arcade whoami [OPTIONS] Show current login status and active context ╭─ Options ──────────────────────────────────────────────────────────────╮ │ --debug -d Show debug information │ │ --help -h Show this message and exit. │ ╰────────────────────────────────────────────────────────────────────────╯ ``` ## `arcade dashboard` ```bash 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 org` ```bash Usage: arcade org [OPTIONS] COMMAND [ARGS]... Manage organizations (list, set active) ╭─ Options ──────────────────────────────────────────────────────────────╮ │ --host -h TEXT The Arcade Coordinator host. │ │ [default: cloud.arcade.dev] │ │ --port -p INTEGER The port of the Arcade Coordinator host. │ │ [default: None] │ │ --tls Whether to force TLS for the connection to │ │ Arcade Coordinator. │ │ --no-tls Whether to disable TLS for the connection │ │ to Arcade Coordinator. │ │ --help Show this message and exit. │ ╰────────────────────────────────────────────────────────────────────────╯ ╭─ Commands ─────────────────────────────────────────────────────────────╮ │ list List organizations you belong to │ │ set Set the active organization │ ╰────────────────────────────────────────────────────────────────────────╯ ``` ## `arcade project` ```bash Usage: arcade project [OPTIONS] COMMAND [ARGS]... Manage projects (list, set active) ╭─ Options ──────────────────────────────────────────────────────────────╮ │ --host -h TEXT The Arcade Coordinator host. │ │ [default: cloud.arcade.dev] │ │ --port -p INTEGER The port of the Arcade Coordinator host. │ │ [default: None] │ │ --tls Whether to force TLS for the connection to │ │ Arcade Coordinator. │ │ --no-tls Whether to disable TLS for the connection │ │ to Arcade Coordinator. │ │ --help Show this message and exit. │ ╰────────────────────────────────────────────────────────────────────────╯ ╭─ Commands ─────────────────────────────────────────────────────────────╮ │ list List projects in the active organization │ │ set Set the active project │ ╰────────────────────────────────────────────────────────────────────────╯ ``` ## `arcade new` ```bash 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` ```bash 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` ```bash 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` ```bash 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` ```bash 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` ```bash 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` ```bash 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` ```bash 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 │ ╰────────────────────────────────────────────────────────────────────────────────────╯ ```