Command Reference
Complete reference for all protobox CLI commands
Every protobox command accepts these flags:
| Flag | Description |
|---|---|
--json | Output as JSON instead of table |
--no-color | Disable colored output |
-v, --version | Print CLI version |
-h, --help | Show help for any command |
login
Authenticate with Protobox.
protobox login [options]| Flag | Description |
|---|---|
-k, --api-key <key> | Use an API key directly (skips browser) |
--browser | Force browser-based login |
--base-url <url> | Override the API base URL |
protobox login
protobox login --api-key YOUR_API_KEYlogout
Remove stored credentials.
protobox logoutauth status
Show the current authentication status, workspace, and base URL.
protobox auth statushealth
Check API health status.
protobox healthconfig
Manage CLI configuration.
| Subcommand | Description |
|---|---|
config list | List all configuration values |
config get <key> | Get a configuration value |
config set <key> <value> | Set a configuration value |
config delete <key> | Delete a configuration value (alias: unset) |
config path | Show path to the configuration file |
config use <environment> | Reset to the production API |
protobox config list
protobox config set workspaceId ws_abc123
protobox config get baseUrl
protobox config delete workspaceId
protobox config use productionValid keys: apiKey, baseUrl, server, deployment, apiPrefix, workspaceId, defaultFormat.
workspaces
Manage workspaces.
| Subcommand | Description |
|---|---|
workspaces list | List your workspaces |
workspaces get <id> | Get workspace details |
workspaces use <id> | Set the active workspace (saves to config) |
protobox workspaces list
protobox workspaces get ws_abc123
protobox workspaces use ws_abc123tools
Manage MCP tools.
| Subcommand | Description |
|---|---|
tools list | List all tools in the workspace |
tools get <id> | Get tool details |
tools create | Create a tool from a JSON file |
tools update <id> | Update a tool from a JSON file |
tools delete <id> | Delete a tool permanently |
tools execute <id> | Execute a tool and get results |
tools test <id> | Test a tool execution (dry run) |
tools executions <id> | Get execution history for a tool |
tools enable <id> | Enable a tool (makes it available over MCP) |
tools disable <id> | Disable a tool (hides it from MCP) |
tools categories | Show tool categories (tags) with counts |
tools list
protobox tools list [options]| Flag | Description | Default |
|---|---|---|
-t, --type <type> | Filter by type: http, javascript, code | |
-e, --enabled | Show only enabled tools | |
-d, --disabled | Show only disabled tools | |
--tag <tag> | Filter by tag | |
--no-system | Exclude system tools | |
-l, --limit <number> | Items per page | 20 |
-p, --page <number> | Page number | 1 |
protobox tools list --type http --enabled --no-systemtools create
protobox tools create [options]| Flag | Description |
|---|---|
-f, --file <path> | Path to JSON file with the tool definition |
--template [type] | Output a sample JSON template (http or javascript) |
protobox tools create --template http > my-tool.json
protobox tools create -f my-tool.jsontools update / delete
protobox tools update <id> -f updates.json
protobox tools delete <id> -ytools execute / test
protobox tools execute <id> -i '{"query": "hello"}'
protobox tools test <id> -i '{"message": "test"}'| Flag | Description |
|---|---|
-i, --input <json> | Input arguments as a JSON string |
tools executions
protobox tools executions <id> [options]| Flag | Description | Default |
|---|---|---|
-l, --limit <number> | Items per page | 10 |
-p, --page <number> | Page number | 1 |
--status <status> | Filter: pending, running, completed, failed |
tools enable / disable / categories
protobox tools enable <id>
protobox tools disable <id>
protobox tools categoriestoolsets
Manage MCP toolsets (collections of tools).
| Subcommand | Description |
|---|---|
toolsets list | List all toolsets |
toolsets get <id> | Get toolset details |
toolsets create | Create a toolset from a JSON file |
toolsets update <id> | Update a toolset from a JSON file |
toolsets delete <id> | Delete a toolset permanently |
toolsets enable <id> | Enable a toolset |
toolsets disable <id> | Disable a toolset |
toolsets add-tools <id> | Add tools to a toolset |
toolsets remove-tools <id> | Remove tools from a toolset |
toolsets list
protobox toolsets list [options]| Flag | Description | Default |
|---|---|---|
-e, --enabled | Show only enabled toolsets | |
-d, --disabled | Show only disabled toolsets | |
--tag <tag> | Filter by tag | |
-s, --search <search> | Search by name or description | |
-l, --limit <number> | Items per page | 20 |
-p, --page <number> | Page number | 1 |
toolsets create / update / delete
protobox toolsets create --template > my-toolset.json
protobox toolsets create -f my-toolset.json
protobox toolsets update <id> -f updates.json
protobox toolsets delete <id> -ytoolsets add-tools / remove-tools
protobox toolsets add-tools <id> -t tool1,tool2,tool3
protobox toolsets remove-tools <id> -t tool1,tool2| Flag | Description |
|---|---|
-t, --tools <ids> | Comma-separated tool IDs |
prompts
Manage prompt templates.
| Subcommand | Description |
|---|---|
prompts list | List all prompts |
prompts get <id> | Get prompt details |
prompts create | Create a prompt from a JSON file |
prompts update <id> | Update a prompt from a JSON file |
prompts delete <id> | Delete a prompt |
prompts list
protobox prompts list [options]| Flag | Description | Default |
|---|---|---|
-c, --category <category> | Filter: support, sales, onboarding, general | |
-s, --status <status> | Filter: active, draft, archived | |
--search <query> | Search by name or content | |
-l, --limit <number> | Items per page | 20 |
--page <number> | Page number | 1 |
prompts create / update / delete
protobox prompts create -f prompt.json
protobox prompts update <id> -f updates.json
protobox prompts delete <id> --yesA prompt JSON file looks like:
{
"name": "Support Greeting",
"content": "Hello! How can I help you today?",
"category": "support",
"status": "active",
"tags": ["greeting"]
}kb
Manage knowledge base entries (RAG). Aliased as knowledge.
| Subcommand | Description |
|---|---|
kb list | List knowledge base entries |
kb get <id> | Get knowledge entry details |
kb add | Add content (text, URL, or file) |
kb update <id> | Update a knowledge entry |
kb delete <id> | Delete a knowledge entry |
kb search <query> | Search the knowledge base |
kb status <taskId> | Check the processing status of an async upload |
kb list
protobox kb list [options]| Flag | Description | Default |
|---|---|---|
-s, --search <query> | Filter by title/content | |
--source <source> | Filter: text, url, file, manual | |
--status <status> | Filter by processing status | |
--folder <folderId> | Filter by folder ID | |
-l, --limit <number> | Items per page | 20 |
--page <number> | Page number | 1 |
kb get
protobox kb get <id> [--chunks]kb add
protobox kb add [options]At least one of --text, --url, or --file is required.
| Flag | Description | Default |
|---|---|---|
-t, --title <title> | Title for the entry | |
--text <content> | Direct text content | |
--url <url> | URL to fetch content from | |
-f, --file <path> | File to upload (PDF, TXT, HTML, MD) | |
--folder <folderId> | Folder ID to organize the entry | |
--tags <tags> | Comma-separated tags | |
--category <category> | Category for organization | |
--crawl-depth <depth> | URL crawl depth (0-2) | 0 |
--max-pages <pages> | Max pages to crawl (1-50) | 10 |
protobox kb add --text "FAQ content" --title "FAQ" --tags "faq,support"
protobox kb add --url https://docs.example.com --crawl-depth 1 --max-pages 20
protobox kb add --file ./guide.pdf --title "User Guide"kb update / delete
protobox kb update <id> --title "New Title" --enabled false
protobox kb delete <id> --yeskb search
protobox kb search <query> [options]| Flag | Description | Default |
|---|---|---|
-m, --mode <mode> | Search mode: hybrid, vector, text | hybrid |
-l, --limit <number> | Max results | 10 |
--min-score <score> | Minimum similarity score (0-1) |
protobox kb search "how to reset password" --mode vector --limit 5kb status
protobox kb status <taskId>mcp
MCP server configuration and status.
| Subcommand | Description |
|---|---|
mcp | Combined info + status (default) |
mcp info | Show MCP server URL, status, and resource counts |
mcp status | Health check the MCP server |
mcp test | Run an MCP protocol test with a real client |
mcp config | Output MCP configuration for AI clients |
mcp install | Generate an MCP config snippet for editors (offline) |
mcp tools <agent-id> | List MCP tools available for an agent |
mcp call <agent-id> <tool-name> [args] | Call an MCP tool by name |
mcp inspect <agent-id> <tool-name> | Show the schema and details for a tool |
mcp config
protobox mcp config [options]| Flag | Description | Default |
|---|---|---|
-f, --format <format> | Format: claude, cursor, generic | generic |
protobox mcp config --format claude
protobox mcp config --format cursor > mcp-config.jsonmcp install
protobox mcp install [options]| Flag | Description | Default |
|---|---|---|
-f, --format <format> | Format: claude, cursor, vscode, generic | generic |
Generates a ready-to-use config from your stored API key and workspace. Works offline.
mcp test
protobox mcp testRuns a full handshake: connect, list tools, list resources, list prompts.
mcp tools / call / inspect
protobox mcp tools agent_123
protobox mcp call agent_123 get_weather '{"city":"London"}'
protobox mcp inspect agent_123 get_weatherThe optional [args] for mcp call is a JSON string of input arguments.
chat
Start a text chat session with your assistant.
protobox chat <agent-id> [options]| Flag | Description |
|---|---|
-m, --message <text> | Send a single message and exit |
-s, --stream | Enable streaming responses (real-time text) |
-w, --workspace <id> | Workspace ID override |
Interactive mode (default): opens a prompt loop. Type exit, quit, or press Ctrl+C to end.
Single-message mode: send one message with --message, print the response, and exit.
protobox chat abc123
protobox chat abc123 --stream
protobox chat abc123 --message "Hello" --json