All tools are accessible viaDocumentation Index
Fetch the complete documentation index at: https://docs.cloud.red/llms.txt
Use this file to discover all available pages before exploring further.
crcli mcp. The AI assistant discovers them automatically on connect β no manual configuration required.
π Identity & Context
get_context
get_context
Get the authenticated callerβs identity and active account scope.Returns
is_admin (bool), account_id (UUID), and user_id (UUID).No parameters. Call this first to confirm which account is in scope.set_context (crcli-injected)
set_context (crcli-injected)
Set the active tenant for all subsequent tool calls.
Injected by
| Parameter | Type | Description |
|---|---|---|
tenant | string | Tenant name (e.g. acmecorp). Empty string clears the context. |
crcli β not a server-side tool. Only available when connecting via crcli mcp.π₯ Accounts
These tools are admin-only and not available to customer accounts.
list_accounts
list_accounts
List all active accounts.Returns
uuid, tenant (name), and display_name for each account. Use the uuid with account_id parameters on other tools to scope calls to a specific tenant.No parameters.π₯οΈ Device Groups
list_device_groups
list_device_groups
List operational device groups for an account.Returns
uuid, name, agent, account, platform, and status for each group. Only returns groups in an online, non-pending state.| Parameter | Type | Required | Description |
|---|---|---|---|
account_id | string | When no account context is set | Account UUID |
get_device_group
get_device_group
Get full details for a single device group.Returns
uuid, name, agent, account, platform, status, and credential state (locked, rotated).| Parameter | Type | Required | Description |
|---|---|---|---|
group_id | string | β | Device group UUID |
list_devices_in_group
list_devices_in_group
List all devices that belong to a device group.Returns
uuid, name, management_ip, platform, account, device_group, agent, and state (software version + HA status). Use state.status to identify active vs standby before running scripts.| Parameter | Type | Required | Description |
|---|---|---|---|
group_id | string | β | Device group UUID |
π Devices
list_devices
list_devices
List all online devices for an account.Returns
uuid, name, management_ip, platform, account, device_group, agent, and state.| Parameter | Type | Required | Description |
|---|---|---|---|
account_id | string | When no account context is set | Account UUID |
get_device
get_device
Get full details for a single device, including software version and HA status (active / standby / standalone).
| Parameter | Type | Required | Description |
|---|---|---|---|
device_id | string | β | Device UUID |
list_device_backups
list_device_backups
List UCS backups for a device in reverse-chronological order.Returns
uuid, filename, status, and created_at for each backup.| Parameter | Type | Required | Description |
|---|---|---|---|
device_id | string | β | Device UUID |
limit | number | Max results, 1β1000 (default: 25) | |
status | string | Filter: complete, error, or running |
list_device_metrics
list_device_metrics
List the metric catalog for a deviceβs platform (BIG-IP or F5OS).Returns metric names, descriptions, and units. Use the names with
pull_device_metric or query_device_metrics.| Parameter | Type | Required | Description |
|---|---|---|---|
device_id | string | β | Device UUID |
pull_device_metric
pull_device_metric
Pull a single metric time series from a device. Defaults to the last hour.
| Parameter | Type | Required | Description |
|---|---|---|---|
device_id | string | β | Device UUID |
metric_name | string | β | Metric name from list_device_metrics |
start | string | RFC3339 start time | |
end | string | RFC3339 end time (default: now) |
query_device_metrics
query_device_metrics
Fetch multiple metrics for a device in a single ClickHouse request. More efficient than multiple
pull_device_metric calls.| Parameter | Type | Required | Description |
|---|---|---|---|
device_id | string | β | Device UUID |
metric_names | array | β | Raw ClickHouse metric names (max 100) |
start | string | RFC3339 start time | |
end | string | RFC3339 end time (default: now) |
βοΈ Orchestration
run_script
run_script
Run a script on a single device via SSH and return the output.
| Parameter | Type | Required | Description |
|---|---|---|---|
device_id | string | β | Device UUID |
script | string | β | Script content to execute |
interpreter | string | bash (default), python, node, tclsh |
run_script_on_group
run_script_on_group
Run a script on all devices in a group and return per-device output.
| Parameter | Type | Required | Description |
|---|---|---|---|
group_id | string | β | Device group UUID |
script | string | β | Script content to execute |
interpreter | string | bash (default), python, node, tclsh | |
all | boolean | If true, target all devices; default targets active device only |
push_file
push_file
Upload a file to a device via SCP.
| Parameter | Type | Required | Description |
|---|---|---|---|
device_id | string | β | Device UUID |
path | string | β | Remote destination path |
content | string | β | File content (plain text or base64) |
encoding | string | plain (default) or base64 |
push_file_to_group
push_file_to_group
Upload a file to all devices in a group via SCP in parallel.
| Parameter | Type | Required | Description |
|---|---|---|---|
group_id | string | β | Device group UUID |
path | string | β | Remote destination path |
content | string | β | File content (plain text or base64) |
encoding | string | plain (default) or base64 |
pull_file
pull_file
Download a file from a device via SCP.Returns file content as base64 (max 512 KB).
| Parameter | Type | Required | Description |
|---|---|---|---|
device_id | string | β | Device UUID |
path | string | β | Remote file path |
π iControl REST
create_icontrol_session
create_icontrol_session
Authenticate to a deviceβs iControl REST API via the tunnel and return a session token.
Returns
| Parameter | Type | Required | Description |
|---|---|---|---|
device_id | string | β | Device UUID |
session_id β pass this to icontrol_request and delete_icontrol_session.icontrol_request
icontrol_request
Make an iControl REST API request to a device directly via the tunnel.
| Parameter | Type | Required | Description |
|---|---|---|---|
session_id | string | β | Session token from create_icontrol_session |
method | string | β | HTTP method: GET, POST, PUT, PATCH, DELETE |
path | string | β | iControl REST path (e.g. /mgmt/tm/ltm/virtual) |
body | object | Request body for POST/PUT/PATCH |
delete_icontrol_session
delete_icontrol_session
Invalidate an iControl session before it expires.Call this when done with
icontrol_request to avoid leaving live credentials cached on the server.| Parameter | Type | Required | Description |
|---|---|---|---|
session_id | string | β | Session token to invalidate |
π Log Search
Log search tools are only available when log search is configured for your account.
list_logtypes
list_logtypes
List all available F5 log types.Returns
namespace, name, source, and description for each type.No parameters. Call this first to discover which log types exist before writing queries.get_schema
get_schema
Get the ClickHouse logs table schema, column reference, mandatory filter rules, time-window guidance, and common query patterns.No parameters. Read this before writing any SQL query.
get_logtype_doc
get_logtype_doc
Get the field reference documentation for a specific log type β all
LogAttributes keys, ResourceAttributes keys, SeverityText vocabulary, gotchas, and example queries.| Parameter | Type | Required | Description |
|---|---|---|---|
namespace | string | β | Log type namespace (e.g. f5logs) |
name | string | β | Log type name (e.g. f5.bigip.syslog) |
get_log_keys
get_log_keys
Discover which
LogAttribute keys are present in your accountβs data for a log type, ranked by frequency over the past 7 days.| Parameter | Type | Required | Description |
|---|---|---|---|
namespace | string | β | Log type namespace |
name | string | β | Log type name |
account_id | string | Account UUID (required when no account context is set) |
sample_logs
sample_logs
Fetch a small sample of recent log rows for a given log type, in descending timestamp order.
| Parameter | Type | Required | Description |
|---|---|---|---|
namespace | string | β | Log type namespace |
name | string | β | Log type name |
account_id | string | Account UUID (required when no account context is set) | |
limit | number | Rows to return (1β50, default: 5) |
query_logs
query_logs
Execute a ClickHouse SELECT query against the F5 logs table.Returns rows as JSON with
context.query_id β the AI records every query_id for submit_session.Rules enforced server-side: ServiceNamespace filter required, ServiceName filter required, bounded Timestamp window required, LIMIT required (max 10 000).| Parameter | Type | Required | Description |
|---|---|---|---|
sql | string | β | A single SELECT statement targeting logs_001 |
account_id | string | Account UUID (required when no account context is set) |
submit_session
submit_session
Record the completed log-search investigation for telemetry and quality improvement.Called exactly once after the AI answers (or fails to answer) a log-related question. Must include every
query_id received from query_logs, sample_logs, or get_log_keys.| Parameter | Type | Required | Description |
|---|---|---|---|
ask | string | β | The userβs original question |
intent | string | β | Classified intent (e.g. troubleshoot, audit, count) |
outcome | string | β | answered, partial, or unanswered |
summary | string | β | One-sentence answer or reason it could not be answered |
queries | array | Array of {query_id, description} objects |
π€ Agents
Admin-only. Not available to customer accounts.
list_agents
list_agents
List tunnel agents registered to an account.Returns
uuid, name, and account for each online agent. Agents are the network proxies that relay SSH and iControl traffic to device groups.| Parameter | Type | Required | Description |
|---|---|---|---|
account_id | string | When no account context is set | Account UUID |
