1
Tool-Reference
Prophet731 edited this page 2026-03-16 00:33:55 -04:00

Tool Reference

Complete reference for all 84 tools provided by the VirtFusion MCP server, organized by module. Each tool maps directly to a VirtFusion Admin API endpoint.

Table of Contents


General (1 tool)

Module: src/tools/general.ts

general_test_connection

Test the API connection to VirtFusion.

Parameter Type Required Description
(none)

Endpoint: GET /connect


Servers (18 tools)

Module: src/tools/servers.ts

servers_list

List all servers with optional filtering.

Parameter Type Required Description
type string optional Filter by server type
results number optional Number of results to return
hypervisorId number optional Filter by hypervisor ID

Endpoint: GET /servers

servers_create

Create a new server.

Parameter Type Required Description
packageId number required Package ID for the server
userId number required User ID who will own the server
hypervisorId number required Hypervisor ID to deploy on
dryRun boolean optional Perform a dry run without creating the server
ipv4 number optional Number of IPv4 addresses
storage number optional Storage in GB
traffic number optional Traffic allowance
memory number optional Memory in MB
cpuCores number optional Number of CPU cores
networkSpeedInbound number optional Inbound network speed
networkSpeedOutbound number optional Outbound network speed
storageProfile number optional Storage profile ID
networkProfile number optional Network profile ID
firewallRulesets number[] optional Firewall ruleset IDs
hypervisorAssetGroups number[] optional Hypervisor asset group IDs
additionalStorage1Enable boolean optional Enable additional storage 1
additionalStorage2Enable boolean optional Enable additional storage 2
additionalStorage1Profile number optional Storage profile for additional storage 1
additionalStorage2Profile number optional Storage profile for additional storage 2
additionalStorage1Capacity number optional Capacity for additional storage 1
additionalStorage2Capacity number optional Capacity for additional storage 2

Endpoint: POST /servers

servers_get

Retrieve details of a specific server.

Parameter Type Required Description
serverId number required The server ID
remoteState boolean optional Include remote state information

Endpoint: GET /servers/{serverId}

servers_delete

Delete a server. A minimum 5-minute (300s) delay is enforced as a safety margin.

Parameter Type Required Description
serverId number required The server ID
delay number optional Delay in seconds before deletion (minimum 300)

Endpoint: DELETE /servers/{serverId}

servers_build

Build/rebuild a server with an OS template.

Parameter Type Required Description
serverId number required The server ID
operatingSystemId number required Operating system template ID
name string optional Server name
hostname string optional Server hostname
sshKeys number[] optional SSH key IDs to add
vnc boolean optional Enable VNC
ipv6 boolean optional Enable IPv6
email boolean optional Send email notification
swap number optional Swap size in MB

Endpoint: POST /servers/{serverId}/build

servers_list_templates

List OS templates available for a server.

Parameter Type Required Description
serverId number required The server ID

Endpoint: GET /servers/{serverId}/templates

servers_modify_name

Change a server's display name.

Parameter Type Required Description
serverId number required The server ID
name string required New display name for the server

Endpoint: PUT /servers/{serverId}/modify/name

servers_modify_cpu

Modify the number of CPU cores for a server.

Parameter Type Required Description
serverId number required The server ID
cpuCores number required Number of CPU cores

Endpoint: PUT /servers/{serverId}/modify/cpuCores

servers_modify_memory

Modify the memory allocation for a server in MB.

Parameter Type Required Description
serverId number required The server ID
memory number required Memory in MB

Endpoint: PUT /servers/{serverId}/modify/memory

servers_throttle_cpu

Throttle a server's CPU.

Parameter Type Required Description
serverId number required The server ID
cpuThrottle number required CPU throttle percentage (0-99). 0 removes throttle.

Endpoint: PUT /servers/{serverId}/modify/cpuThrottle

Note: The tool accepts cpuThrottle as the parameter name but sends it as percent in the request body to match the VirtFusion API spec.

servers_get_traffic

Retrieve traffic statistics for a server.

Parameter Type Required Description
serverId number required The server ID

Endpoint: GET /servers/{serverId}/traffic

servers_suspend

Suspend a server.

Parameter Type Required Description
serverId number required The server ID

Endpoint: POST /servers/{serverId}/suspend

servers_unsuspend

Unsuspend a server.

Parameter Type Required Description
serverId number required The server ID

Endpoint: POST /servers/{serverId}/unsuspend

servers_reset_password

Reset a server's root/admin password.

Parameter Type Required Description
serverId number required The server ID
user enum: root, Administrator required User to reset password for
sendMail boolean optional Send password via email

Endpoint: POST /servers/{serverId}/resetPassword

servers_enable_vnc

Enable or disable VNC for a server.

Parameter Type Required Description
serverId number required The server ID
vnc boolean required Enable or disable VNC

Endpoint: POST /servers/{serverId}/vnc

servers_get_vnc

Retrieve VNC connection details for a server.

Parameter Type Required Description
serverId number required The server ID

Endpoint: GET /servers/{serverId}/vnc

servers_set_custom_xml

Set custom XML configuration for a server.

Parameter Type Required Description
serverId number required The server ID
xml string required Custom XML configuration

Endpoint: POST /servers/{serverId}/customXML

servers_change_owner

Change the owner of a server.

Parameter Type Required Description
serverId number required The server ID
newOwnerId number required New owner user ID

Endpoint: PUT /servers/{serverId}/owner/{newOwnerId}

servers_change_package

Change a server's package with optional resource sync flags.

Parameter Type Required Description
serverId number required The server ID
packageId number required New package ID
backupPlan boolean optional Sync backup plan
cpu boolean optional Sync CPU
memory boolean optional Sync memory
primaryDiskReadIOPS boolean optional Sync primary disk read IOPS
primaryDiskReadThroughput boolean optional Sync primary disk read throughput
primaryDiskSize boolean optional Sync primary disk size
primaryDiskWriteIOPS boolean optional Sync primary disk write IOPS
primaryDiskWriteThroughput boolean optional Sync primary disk write throughput
primaryNetworkInboundSpeed boolean optional Sync primary network inbound speed
primaryNetworkOutboundSpeed boolean optional Sync primary network outbound speed
primaryNetworkTraffic boolean optional Sync primary network traffic

Endpoint: PUT /servers/{serverId}/package/{packageId}

servers_set_backup_plan

Add, remove or modify a server's backup plan.

Parameter Type Required Description
serverId number required The server ID
planId number required Backup plan ID (0 to remove)

Endpoint: PUT /servers/{serverId}/backups/plan/{planId}

servers_list_by_user

List all servers owned by a specific user.

Parameter Type Required Description
userId number required The user ID

Endpoint: GET /servers/user/{userId}


Servers -- Power (4 tools)

Module: src/tools/servers-power.ts

servers_power_boot

Boot a server.

Parameter Type Required Description
serverId number required The server ID

Endpoint: POST /servers/{serverId}/power/boot

servers_power_shutdown

Gracefully shutdown a server.

Parameter Type Required Description
serverId number required The server ID

Endpoint: POST /servers/{serverId}/power/shutdown

servers_power_restart

Restart a server.

Parameter Type Required Description
serverId number required The server ID

Endpoint: POST /servers/{serverId}/power/restart

servers_power_poweroff

Force power off a server.

Parameter Type Required Description
serverId number required The server ID

Endpoint: POST /servers/{serverId}/power/poweroff


Servers -- Network (5 tools)

Module: src/tools/servers-network.ts

servers_network_whitelist_add

Add an IP address to a server's network whitelist.

Parameter Type Required Description
serverId number required The server ID
interface enum: primary, secondary required Network interface
ip string required IP address to whitelist
cidr number required CIDR notation prefix length

Endpoint: POST /servers/{serverId}/networkWhitelist

servers_network_whitelist_remove

Remove an IP from a server's network whitelist.

Parameter Type Required Description
serverId number required The server ID
interface string required Network interface
ip string required IP address to remove

Endpoint: DELETE /servers/{serverId}/networkWhitelist

servers_network_ipv4_add

Add specific IPv4 addresses to a server.

Parameter Type Required Description
serverId number required The server ID
ip string[] required Array of IPv4 addresses to add

Endpoint: POST /servers/{serverId}/ipv4

servers_network_ipv4_remove

Remove IPv4 addresses from a server.

Parameter Type Required Description
serverId number required The server ID
ip string[] required Array of IPv4 addresses to remove

Endpoint: DELETE /servers/{serverId}/ipv4

servers_network_ipv4_add_qty

Add a quantity of IPv4 addresses to a server.

Parameter Type Required Description
serverId number required The server ID
interface string required Network interface
quantity number required Number of IPv4 addresses to add

Endpoint: POST /servers/{serverId}/ipv4Qty


Servers -- Firewall (4 tools)

Module: src/tools/servers-firewall.ts

servers_firewall_get

Retrieve firewall configuration for a server interface.

Parameter Type Required Description
serverId number required The server ID
interface enum: primary, secondary required Network interface
sync boolean optional Sync firewall state from hypervisor

Endpoint: GET /servers/{serverId}/firewall/{interface}

servers_firewall_enable

Enable the firewall on a server interface.

Parameter Type Required Description
serverId number required The server ID
interface enum: primary, secondary required Network interface
sync boolean optional Sync firewall state from hypervisor

Endpoint: POST /servers/{serverId}/firewall/{interface}/enable

servers_firewall_disable

Disable the firewall on a server interface.

Parameter Type Required Description
serverId number required The server ID
interface enum: primary, secondary required Network interface
sync boolean optional Sync firewall state from hypervisor

Endpoint: POST /servers/{serverId}/firewall/{interface}/disable

servers_firewall_set_rules

Apply firewall rulesets to a server interface.

Parameter Type Required Description
serverId number required The server ID
interface enum: primary, secondary required Network interface
rulesets number[] required Firewall ruleset IDs (empty array to flush all rules)
sync boolean optional Sync firewall state from hypervisor

Endpoint: POST /servers/{serverId}/firewall/{interface}/rules


Servers -- Traffic (4 tools)

Module: src/tools/servers-traffic.ts

servers_traffic_list_blocks

List traffic blocks for a server.

Parameter Type Required Description
serverId number required The server ID

Endpoint: GET /servers/{serverId}/traffic/blocks

servers_traffic_add_block

Add a traffic block to a server.

Parameter Type Required Description
serverId number required The server ID
month number required Month number for the traffic block
amount number required Traffic amount in GB

Endpoint: POST /servers/{serverId}/traffic/blocks

servers_traffic_remove_block

Remove a traffic block from a server.

Parameter Type Required Description
serverId number required The server ID
blockId number required The traffic block ID

Endpoint: DELETE /servers/{serverId}/traffic/blocks/{blockId}

servers_traffic_modify

Modify a server's primary traffic allowance.

Parameter Type Required Description
serverId number required The server ID
traffic string required Traffic allowance (0-999999999)

Endpoint: PUT /servers/{serverId}/modify/traffic


Hypervisors (2 tools)

Module: src/tools/hypervisors.ts

hypervisors_list

List all hypervisors.

Parameter Type Required Description
results number optional Number of results to return

Endpoint: GET /compute/hypervisors

hypervisors_get

Retrieve details of a specific hypervisor.

Parameter Type Required Description
hypervisorId number required The hypervisor ID

Endpoint: GET /compute/hypervisors/{hypervisorId}


Hypervisor Groups (3 tools)

Module: src/tools/hypervisor-groups.ts

hypervisor_groups_list

List all hypervisor groups.

Parameter Type Required Description
results number optional Number of results to return

Endpoint: GET /compute/hypervisors/groups

hypervisor_groups_get

Retrieve details of a specific hypervisor group.

Parameter Type Required Description
hypervisorGroupId number required The hypervisor group ID

Endpoint: GET /compute/hypervisors/groups/{hypervisorGroupId}

hypervisor_groups_get_resources

Retrieve resources for a hypervisor group.

Parameter Type Required Description
hypervisorGroupId number required The hypervisor group ID

Endpoint: GET /compute/hypervisors/groups/{hypervisorGroupId}/resources


IP Blocks (3 tools)

Module: src/tools/ip-blocks.ts

ip_blocks_list

List all IP blocks.

Parameter Type Required Description
results number optional Number of results to return

Endpoint: GET /connectivity/ipblocks

ip_blocks_get

Retrieve details of a specific IP block.

Parameter Type Required Description
blockId number required The IP block ID

Endpoint: GET /connectivity/ipblocks/{blockId}

ip_blocks_add_ipv4_range

Add an IPv4 range to an IP block.

Parameter Type Required Description
blockId number required The IP block ID
type string required Type of IP range (always "range")
start string required Start IPv4 address
end string required End IPv4 address

Endpoint: POST /connectivity/ipblocks/{blockId}/ipv4


Packages (2 tools)

Module: src/tools/packages.ts

packages_list

List all available packages.

Parameter Type Required Description
(none)

Endpoint: GET /packages

packages_get

Retrieve details of a specific package.

Parameter Type Required Description
packageId number required The package ID

Endpoint: GET /packages/{packageId}


Queue (1 tool)

Module: src/tools/queue.ts

queue_get

Retrieve the status of a queue item.

Parameter Type Required Description
queueId number required The queue item ID

Endpoint: GET /queue/{queueId}


Backups (1 tool)

Module: src/tools/backups.ts

backups_list_by_server

List all backups for a specific server.

Parameter Type Required Description
serverId number required The server ID

Endpoint: GET /backups/server/{serverId}


DNS (1 tool)

Module: src/tools/dns.ts

dns_get_service

Retrieve a DNS service.

Parameter Type Required Description
serviceId number required The DNS service ID

Endpoint: GET /dns/services/{serviceId}


Media (2 tools)

Module: src/tools/media.ts

media_get_iso

Retrieve details of a specific ISO image.

Parameter Type Required Description
isoId number required The ISO image ID

Endpoint: GET /media/iso/{isoId}

media_get_templates_by_package

List OS templates available for a specific package.

Parameter Type Required Description
serverPackageId number required The server package ID

Endpoint: GET /media/templates/fromServerPackageSpec/{serverPackageId}


SSH Keys (4 tools)

Module: src/tools/ssh-keys.ts

ssh_keys_create

Add an SSH key to a user account.

Parameter Type Required Description
userId number required The user ID
name string required Name for the SSH key
publicKey string required The public key content

Endpoint: POST /ssh_keys

ssh_keys_get

Retrieve details of a specific SSH key.

Parameter Type Required Description
keyId number required The SSH key ID

Endpoint: GET /ssh_keys/{keyId}

ssh_keys_delete

Delete an SSH key.

Parameter Type Required Description
keyId number required The SSH key ID

Endpoint: DELETE /ssh_keys/{keyId}

ssh_keys_list_by_user

List all SSH keys for a specific user.

Parameter Type Required Description
userId number required The user ID

Endpoint: GET /ssh_keys/user/{userId}


Users (7 tools)

Module: src/tools/users.ts

users_create

Create a new user.

Parameter Type Required Description
name string required User display name
email string required User email address
extRelationId number optional External relation ID
relStr string optional Relation string
selfService number optional Self-service level (0-3)
selfServiceHourlyCredit boolean optional Enable hourly credit for self-service
selfServiceHourlyGroupProfiles number[] optional Hourly group profile IDs
selfServiceResourceGroupProfiles number[] optional Resource group profile IDs
selfServiceHourlyResourcePack number optional Hourly resource pack ID
sendMail boolean optional Send welcome email

Endpoint: POST /users

users_get

Retrieve a user by external relation ID.

Parameter Type Required Description
extRelationId string required External relation ID
relStr boolean optional Treat extRelationId as a relation string

Endpoint: GET /users/{extRelationId}/byExtRelation

users_modify

Modify a user.

Parameter Type Required Description
extRelationId string required External relation ID
relStr boolean optional Treat extRelationId as a relation string
name string optional User display name
email string optional User email address
selfService number optional Self-service level (0-3)
selfServiceHourlyCredit boolean optional Enable hourly credit for self-service
selfServiceHourlyGroupProfiles number[] optional Hourly group profile IDs
selfServiceResourceGroupProfiles number[] optional Resource group profile IDs
selfServiceHourlyResourcePack number optional Hourly resource pack ID
enabled boolean optional Enable or disable the user

Endpoint: PUT /users/{extRelationId}/byExtRelation

users_delete

Delete a user.

Parameter Type Required Description
extRelationId string required External relation ID
relStr boolean optional Treat extRelationId as a relation string

Endpoint: DELETE /users/{extRelationId}/byExtRelation

users_reset_password

Reset a user's password.

Parameter Type Required Description
extRelationId string required External relation ID
relStr boolean optional Treat extRelationId as a relation string

Endpoint: POST /users/{extRelationId}/byExtRelation/resetPassword

users_generate_auth_tokens

Generate login tokens for a user.

Parameter Type Required Description
extRelationId string required External relation ID
relStr boolean optional Treat extRelationId as a relation string

Endpoint: POST /users/{extRelationId}/authenticationTokens

users_generate_server_auth_tokens

Generate login tokens for a user scoped to a specific server.

Parameter Type Required Description
extRelationId string required External relation ID
serverId number required The server ID to scope the token to
relStr boolean optional Treat extRelationId as a relation string

Endpoint: POST /users/{extRelationId}/serverAuthenticationTokens/{serverId}


Self Service (19 tools)

Module: src/tools/self-service.ts

self_service_add_credit

Add credit to a user.

Parameter Type Required Description
extRelationId string required External relation ID
tokens number required Number of credit tokens to add
relStr boolean optional Treat extRelationId as a relation string
reference_1 number optional Optional numeric reference
reference_2 string optional Optional string reference

Endpoint: POST /selfService/credit/byUserExtRelationId/{extRelationId}

self_service_cancel_credit

Cancel credit that was applied to a user.

Parameter Type Required Description
creditId number required The credit ID to cancel

Endpoint: DELETE /selfService/credit/{creditId}

self_service_get_currencies

Retrieve available currencies.

Parameter Type Required Description
(none)

Endpoint: GET /selfService/currencies

self_service_add_hourly_group_profile

Add an hourly group profile to a user.

Parameter Type Required Description
extRelationId string required External relation ID
profileId number required The hourly group profile ID
relStr boolean optional Treat extRelationId as a relation string

Endpoint: POST /selfService/hourlyGroupProfile/byUserExtRelationId/{extRelationId}

self_service_remove_hourly_group_profile

Remove an hourly group profile from a user.

Parameter Type Required Description
profileId number required The hourly group profile ID
extRelationId string required External relation ID
relStr boolean optional Treat extRelationId as a relation string

Endpoint: DELETE /selfService/hourlyGroupProfile/{profileId}/byUserExtRelationId/{extRelationId}

self_service_add_resource_group_profile

Add a resource group profile to a user.

Parameter Type Required Description
extRelationId string required External relation ID
profileId number required The resource group profile ID
relStr boolean optional Treat extRelationId as a relation string

Endpoint: POST /selfService/resourceGroupProfile/byUserExtRelationId/{extRelationId}

self_service_remove_resource_group_profile

Remove a resource group profile from a user.

Parameter Type Required Description
profileId number required The resource group profile ID
extRelationId string required External relation ID
relStr boolean optional Treat extRelationId as a relation string

Endpoint: DELETE /selfService/resourceGroupProfile/{profileId}/byUserExtRelationId/{extRelationId}

self_service_add_resource_pack

Add a resource pack to a user.

Parameter Type Required Description
extRelationId string required External relation ID
packId number required The resource pack ID
relStr boolean optional Treat extRelationId as a relation string
enabled boolean optional Whether the resource pack is enabled

Endpoint: POST /selfService/resourcePack/byUserExtRelationId/{extRelationId}

self_service_get_resource_pack

Retrieve a user resource pack.

Parameter Type Required Description
packId number required The resource pack ID

Endpoint: GET /selfService/resourcePack/{packId}

self_service_modify_resource_pack

Modify a user resource pack.

Parameter Type Required Description
packId number required The resource pack ID

Endpoint: PUT /selfService/resourcePack/{packId}

self_service_delete_resource_pack

Delete a user resource pack.

Parameter Type Required Description
packId number required The resource pack ID

Endpoint: DELETE /selfService/resourcePack/{packId}

self_service_get_hourly_stats

Retrieve hourly statistics for a user.

Parameter Type Required Description
extRelationId string required External relation ID
relStr boolean optional Treat extRelationId as a relation string
period string optional Comma-separated dates in YYYY-MM-DD format
range string optional Date range filter

Endpoint: GET /selfService/hourlyStats/byUserExtRelationId/{extRelationId}

self_service_set_hourly_resource_pack

Set an hourly resource pack for a user.

Parameter Type Required Description
extRelationId string required External relation ID
packId number required The resource pack ID
relStr boolean optional Treat extRelationId as a relation string

Endpoint: PUT /selfService/hourlyResourcePack/byUserExtRelationId/{extRelationId}

self_service_modify_access

Modify a user's self-service access settings.

Parameter Type Required Description
extRelationId string required External relation ID
relStr boolean optional Treat extRelationId as a relation string
selfService number optional Self-service level (0-3)
selfServiceHourlyCredit boolean optional Enable hourly credit for self-service

Endpoint: PUT /selfService/access/byUserExtRelationId/{extRelationId}

self_service_get_report

Generate a report for a user.

Parameter Type Required Description
extRelationId string required External relation ID
relStr boolean optional Treat extRelationId as a relation string

Endpoint: GET /selfService/report/byUserExtRelationId/{extRelationId}

self_service_get_usage

Retrieve usage data for a user.

Parameter Type Required Description
extRelationId string required External relation ID
relStr boolean optional Treat extRelationId as a relation string

Endpoint: GET /selfService/usage/byUserExtRelationId/{extRelationId}

self_service_delete_pack_servers

Delete all servers attached to a resource pack.

Parameter Type Required Description
packId number required The resource pack ID

Endpoint: DELETE /selfService/resourcePackServers/{packId}

self_service_suspend_pack_servers

Suspend all servers assigned to a resource pack.

Parameter Type Required Description
packId number required The resource pack ID

Endpoint: POST /selfService/resourcePackServers/{packId}/suspend

self_service_unsuspend_pack_servers

Unsuspend all servers assigned to a resource pack.

Parameter Type Required Description
packId number required The resource pack ID

Endpoint: POST /selfService/resourcePackServers/{packId}/unsuspend