Skip to content

Tools Reference

The F5XC API MCP Server exposes 1,548 API tools across 38 domains through a dynamic discovery architecture that reduces token consumption by 95%+.

flowchart LR
    A[User Query] --> B[search-tools]
    B --> C[Tool Results]
    C --> D[describe-tool]
    D --> E[Full Schema]
    E --> F[execute-tool]
    F --> G[API Response]

These 13 meta-tools are always available and provide access to all 1,548 API operations.

Configure F5XC API authentication. Check status, save credentials, list profiles, or switch active profile.

ParameterTypeRequiredDescription
actionstringNoAction: status, configure, list-profiles, set-active (default: status)
tenantUrlstringNoF5XC tenant URL (required for configure)
apiTokenstringNoAPI token (required for configure)
profileNamestringNoProfile name (default: default)

Example - Check Status:

{
"action": "status"
}

Response (unauthenticated):

{
"authenticated": false,
"mode": "documentation",
"message": "No credentials configured. Use action='configure' with tenantUrl and apiToken to authenticate."
}

Example - Configure Credentials:

{
"action": "configure",
"tenantUrl": "https://tenant.console.ves.volterra.io",
"apiToken": "your-api-token",
"profileName": "production"
}

Response:

{
"success": true,
"profileName": "production",
"message": "Credentials saved to profile 'production' and set as active. API execution is now enabled."
}

Get server status, authentication state, and capabilities.

ParameterTypeRequiredDescription
(none)--No parameters required

Example Response:

{
"server": "f5xc-api-mcp",
"version": "1.0.0",
"mode": "execution",
"authenticated": true,
"domains": ["waap", "dns", "core", "network", "site", "security", "appstack"],
"totalTools": 1426
}

Search for API tools using natural language queries.

ParameterTypeRequiredDescription
querystringYesNatural language query (e.g., “create load balancer”)
limitnumberNoMax results (default: 10, max: 50)
domainsarrayNoFilter by domain(s): waap, dns, core, network, site, security, appstack
operationsarrayNoFilter by operation(s): create, get, list, update, delete

Example:

{
"query": "http load balancer",
"domains": ["waap"],
"operations": ["create", "list"]
}

Get full schema and documentation for a specific tool.

ParameterTypeRequiredDescription
toolNamestringYesExact tool name (e.g., f5xc-api-waap-http-loadbalancer-create)

Response includes:

  • Full parameter schema with types and validation
  • Request body JSON schema
  • CURL command examples
  • Prerequisites and dependencies

Execute a discovered API tool.

ParameterTypeRequiredDescription
toolNamestringYesThe exact tool name to execute
pathParamsobjectNoPath parameters (e.g., { namespace: "default", name: "example-lb" })
queryParamsobjectNoQuery parameters for the request
bodyobjectNoRequest body for POST/PUT/PATCH operations

Behavior:

  • Authenticated mode: Executes API call against your F5XC tenant
  • Documentation mode: Returns CLI commands and curl examples

Search for consolidated resources (more efficient than tool search).

ParameterTypeRequiredDescription
querystringYesNatural language query
limitnumberNoMax results (default: 10)
domainsarrayNoFilter by domain(s)

Example:

{
"query": "origin pool",
"domains": ["waap"]
}

Response shows available operations:

{
"resourceName": "f5xc-api-waap-origin-pool",
"operations": ["create", "get", "list", "update", "delete"]
}

Execute a CRUD operation on a consolidated resource.

ParameterTypeRequiredDescription
resourceNamestringYesResource name (e.g., f5xc-api-waap-http-loadbalancer)
operationstringYesOperation: create, get, list, update, delete
pathParamsobjectNoPath parameters
queryParamsobjectNoQuery parameters
bodyobjectNoRequest body

Get dependency information for F5XC resources including prerequisites, dependents, and oneOf constraints.

ParameterTypeRequiredDescription
resourcestringYesResource name (e.g., http-loadbalancer)
domainstringYesDomain containing the resource (e.g., virtual)
actionstringNoType of info: prerequisites, dependents, oneOf, subscriptions, creationOrder, full (default: full)

Get statistics about the F5XC resource dependency graph.

ParameterTypeRequiredDescription
(none)--No parameters required

Example Response:

{
"totalResources": 285,
"totalDependencies": 142,
"availableAddons": ["bot-defense", "api-discovery"]
}

Validate parameters for an F5XC API tool before execution.

ParameterTypeRequiredDescription
toolNamestringYesTool name to validate parameters for
pathParamsobjectNoPath parameters to validate
queryParamsobjectNoQuery parameters to validate
bodyobjectNoRequest body to validate

Generate a complete creation plan for an F5XC resource with all transitive dependencies.

ParameterTypeRequiredDescription
resourcestringYesTarget resource to create
domainstringYesDomain containing the resource
existingResourcesarrayNoResources that already exist (will be skipped)
includeOptionalbooleanNoInclude optional dependencies (default: false)
expandAlternativesbooleanNoInclude alternative paths for oneOf choices (default: false)
maxDepthnumberNoMaximum dependency traversal depth (default: 10)

Estimate token usage and latency for F5XC API tool calls.

ParameterTypeRequiredDescription
toolNamestringNoSingle tool name to estimate
toolNamesarrayNoMultiple tool names to estimate
planobjectNoCreationPlan object to estimate
detailedbooleanNoInclude detailed breakdown (default: true)

Get domain-specific best practices for F5XC API operations.

ParameterTypeRequiredDescription
domainstringNoDomain to get best practices for
aspectstringNoSpecific aspect: errors, workflows, danger, security, performance, all (default: all)
detailedbooleanNoInclude detailed breakdowns (default: true)

f5xc-api-{domain}-{resource}-{operation}

Examples:

  • f5xc-api-waap-http-loadbalancer-create
  • f5xc-api-dns-dns-zone-list
  • f5xc-api-core-namespace-get

ResourceOperations
HTTP Load Balancercreate, get, list, update, delete
Origin Poolcreate, get, list, update, delete
App Firewallcreate, get, list, update, delete
Rate Limitercreate, get, list, update, delete
Service Policycreate, get, list, update, delete
ResourceOperations
DNS Zonecreate, get, list, update, delete
DNS Load Balancercreate, get, list, update, delete
DNS LB Poolcreate, get, list, update, delete
ResourceOperations
Network Connectorcreate, get, list, update, delete
Network Firewallcreate, get, list, update, delete
Enhanced Firewall Policycreate, get, list, update, delete
ResourceOperations
AWS VPC Sitecreate, get, list, update, delete
Azure VNet Sitecreate, get, list, update, delete
GCP VPC Sitecreate, get, list, update, delete
Customer Edgecreate, get, list, update, delete
ResourceOperations
K8s Clustercreate, get, list, update, delete
Virtual K8screate, get, list, update, delete
Workloadcreate, get, list, update, delete
ResourceOperations
Malicious User Detectioncreate, get, list, update, delete
Bot Defensecreate, get, list, update, delete
API Discoverycreate, get, list, update, delete
ResourceOperations
Namespacecreate, get, list, update, delete
Certificatecreate, get, list, update, delete
Cloud Credentialscreate, get, list, update, delete
Secretcreate, get, list, update, delete

When credentials are not configured, tools return documentation:

{
"mode": "documentation",
"tool": "f5xc-api-waap-http-loadbalancer-create",
"description": "Creates an HTTP Load Balancer",
"parameters": {},
"curlCommand": "curl -X POST https://TENANT.console.ves.volterra.io/... -d @lb.json",
"prerequisites": ["namespace must exist", "origin_pool required"],
"subscription_tier": "STANDARD"
}

When credentials are configured, tools execute API calls:

{
"mode": "execution",
"tool": "f5xc-api-waap-http-loadbalancer-create",
"status": "success",
"response": {},
"resource_url": "https://tenant.console.ves.volterra.io/..."
}

Pre-built workflow prompts for common multi-step operations.

Deploy a complete HTTP Load Balancer with origin pool.

ArgumentRequiredDescription
namespaceYesTarget namespace
nameYesLoad balancer name
domainYesDomain name (e.g., app.example.com)
backend_ipYesBackend server IP
backend_portNoBackend port (default: 80)
enable_wafNoEnable WAF (default: false)

Configure Web Application Firewall protection.

ArgumentRequiredDescription
namespaceYesTarget namespace
nameYesWAF policy name
loadbalancerYesHTTP Load Balancer to protect
modeNoblocking or monitoring (default: blocking)

Deploy an F5XC site in AWS, Azure, or GCP.

ArgumentRequiredDescription
namespaceYesTarget namespace
nameYesSite name
cloudYesaws, azure, or gcp
regionYesCloud region
vpc_idYesVPC/VNet ID
TierResources
NO_TIERnamespace, certificate, secret, cloud_credentials
STANDARDhttp_loadbalancer, origin_pool, dns_zone, health_check
ADVANCEDapp_firewall, bot_defense, api_discovery, malicious_user_detection