MCP Server¶
Info
This feature is in beta — feedback is welcome.
The Verda CLI includes a built-in Model Context Protocol (MCP) server that lets AI agents manage your Verda infrastructure through natural language. Once configured, you can ask your agent to provision instances, check costs, and manage resources without running commands manually.
Setup¶
Add the following to your agent's MCP configuration:
| Agent | Config file |
|---|---|
| Claude Code | .mcp.json in project root |
| Cursor | ~/.cursor/mcp.json |
Credentials are shared with the CLI — run verda auth login first.
Usage¶
Once configured, just talk to your agent:
"What GPU types are available right now?"
"How much does an 8x H100 cost per hour?"
"I need a cheap GPU for testing — what's the best option?"
"Deploy a V100 GPU VM with 100GB OS volume"
"Show my running VMs and what they're costing me"
"Shut down my training VM"
Available tools¶
The MCP server exposes 18 tools organized by category:
Discovery
list_locations— list available datacenterslist_instance_types— list instance types with specs and pricingcheck_availability— check instance availability by locationlist_images— list OS images
VM management
list_vms— list VM instancesdescribe_vm— get details about a single VMcreate_vm— create a new VMvm_availability— check instance type availabilityvm_action— start, shutdown, force shutdown, hibernate, or delete a VM
Cost and billing
estimate_cost— estimate costs for an instance configurationget_balance— get account balanceget_running_costs— get current running costs
SSH keys
add_ssh_key— add an SSH public keylist_ssh_keys— list SSH keysget_ssh_command— get the SSH command to connect to a VM
Storage
create_volume— create a storage volumelist_volumes— list volumeslist_volumes_in_trash— list volumes in trash
Agent mode¶
For scripts and agents that use the CLI directly without MCP:
verda --agent vm list # JSON output, no prompts
verda --agent vm create ... # structured errors for missing flags
verda --agent vm action --id X --action shutdown --yes
Agent mode outputs JSON and returns structured errors, making it easy to parse programmatically.