78trust / 100

FFxF

by ffxf.net in Developer tools

MCP serverPassing, checked 10 h ago

Create and manage VMs, managed databases, firewalls and load balancers in Montréal, Canada.

https://ffxf.net/mcp
Tools
71
open to any client
Uptime
100%
last 30 days
Response time
377 ms
613 ms slowest 5%
Last check
Passed
10 h ago, next any minute now

Scan it nowHow to connect

Reliability

All checks passedSome failedAll failedNot checked

Status and outage history · Atom feed · Watch with other listings

How to connect

Add it to any MCP client that supports remote servers.

{
  "mcpServers": {
    "ffxf": {
      "type": "http",
      "url": "https://ffxf.net/mcp"
    }
  }
}

71 tools

  • list_regions

    Where machines can run. Public, no key needed.

  • list_plans

    Plans with their resources and prices (hourly and monthly, in CAD). Public, no key needed.

  • list_images

    Operating systems and ready-to-use application images. The slug is what create_vm expects. Public, no key needed.

  • get_account

    Credit balance, hourly burn rate and runway, quota and budget caps. Scope: billing.read.

  • list_vms

    The account's machines with their status, addresses and billing. Scope: vms.read.

  • get_vm

    One machine: status, IPv4, IPv6 /64, specs, traffic (Internet only, this traffic month: used_gb, limit_gb, period_ends_at), billing, suspension. Scope: vms.read.

  • get_vm_metrics

    CPU, memory, disk and network as measured from outside the machine. Scope: vms.read.

  • estimate_vm

    Runs every check of create_vm and prices it, without creating anything: would_succeed, hourly rate, monthly price, credit required. Call it before create_vm. Scope: vms.create.

  • create_vm

    Orders a machine and spends credit (hourly) or raises an invoice (monthly). Returns the machine and a provisioning action to poll with get_action. Retrying the same order is safe: it is deduplicated for 24 hours. Scope: vms.create.

  • power_vm

    start, shutdown (clean ACPI), reboot, or stop (hard power-off). Returns an action to poll with get_action. Scope: vms.action.

  • rename_vm

    Changes the hostname, inside the guest and in the console. Scope: vms.action.

  • reinstall_vm

    ERASES THE DISK and redeploys another image. Ask the user first. confirm_hostname must be the machine's exact current hostname. Scope: vms.action.

  • destroy_vm

    DESTROYS the machine and its disk, with no undo and no backup kept. Ask the user first. confirm_hostname must be the machine's exact hostname. Scope: vms.destroy.

  • get_action

    Follows an asynchronous action (create, reinstall, power…). Poll until status leaves running; on error it carries the reason. Scope: vms.read.

  • list_vm_actions

    History of actions on one machine, from the API and the console. Scope: vms.read.

  • get_vm_network

    IPv4 and IPv6 addresses of a machine with their reverse DNS, and its private networks. Scope: vms.read.

  • set_reverse_dns

    Sets the PTR record of one of the machine's addresses; null restores the default. Scope: network.write.

  • list_vpcs

    The account's private networks with their range, gateway and connected machines, plus the quota. Scope: vms.read.

  • get_vpc

    One private network and the machines on it, with their private address. Scope: vms.read.

  • create_vpc

    Creates an isolated private network; ready when the call returns. The first usable address (.1) is reserved for the gateway. Scope: network.write.

  • delete_vpc

    Deletes an empty private network. Refused while a machine is still on it: disconnect or destroy those first. Ask the user first. Scope: network.write.

  • connect_vpc

    Hot-adds a card on the private network and sets its address in the system, without a restart. configuration: manual means the address must be set by hand in the guest. Connecting again returns the same address. Scope: network.write.

  • disconnect_vpc

    Removes the machine's private address and card, without a restart. Refused for the only network of a machine with no public address. Scope: network.write.

  • move_vpc

    Joins the target network, then leaves this one, so the machine is never cut off. Keeps the same address ending when free. Scope: network.write.

  • list_firewalls

    The account's firewalls with their inbound rules and the machines they protect, plus the quota. Scope: vms.read.

  • get_firewall

    One firewall: its rules and the machines it protects, with the status of each (applied, pending, error). Scope: vms.read.

  • create_firewall

    Creates a reusable set of inbound and outbound rules. Without rules it starts with SSH (TCP 22) and ping open from anywhere; pass rules: [] for none. Nothing is filtered until it is attached to a machine. Scope: network.write.

  • update_firewall

    rules REPLACES the whole list and is applied at once to every attached machine: send every rule to keep, not only the new one (read get_firewall first). Removing the SSH rule can lock the agent out. pending_machines counts machines not updated yet, retried automatically. Scope…

  • delete_firewall

    Deletes a firewall attached to no machine. Refused while it protects one: detach it first. Scope: network.write.

  • attach_firewall

    From now on the machine refuses inbound traffic no rule of its firewalls opens; enforced within about ten seconds of the call. Up to 5 firewalls per machine, rules add up. Refused for a machine with no public address. Attaching again is harmless. Scope: network.write.

  • detach_firewall

    Removes the firewall's rules from the machine; with no other firewall it accepts all inbound traffic again. Scope: network.write.

  • list_load_balancers

    The account's load balancers with their addresses, pools, targets and health, listeners and rules, certificates; plus the quota. Scope: vms.read.

  • get_load_balancer

    One load balancer in full: status, ipv4/ipv6 to put in DNS, pools with targets (health, sessions, response time), listeners with rules in evaluation order, certificates. Scope: vms.read.

  • get_load_balancer_metrics

    Requests by response class, connections, bytes in/out and peak sessions over 1h (1-minute buckets), 24h (15 minutes) or 7d (1 hour), plus totals. Scope: vms.read.

  • create_load_balancer

    Orders a load balancer in a private network, billed by the hour from now (the account needs 24 hours of credit), or by the month (7.30 CAD) or the year (73 CAD) with billing. A monthly or yearly period comes out of credit if it covers it; otherwise billing.pending_invoice holds…

  • delete_load_balancer

    Deletes the load balancer, its address and its configuration; billing stops. Target machines are not touched. Ask the user first. Scope: vms.destroy.

  • upsert_pool

    Without pool: creates one (name required, up to 10). With pool: changes only the fields given. Deleting a pool also removes its targets and the rules leading to it. Scope: network.write.

  • delete_pool

    Removes a pool, its targets and the rules leading to it. Scope: network.write.

  • set_targets

    REPLACES the pool's targets with exactly this list (up to 25): send every target to keep. Each machine must be in the load balancer's private network (connect_vpc first). drain: true stops new connections to a target before maintenance. Scope: network.write.

  • upsert_listener

    An entry port on the load balancer's address. Without listener: opens one (port and protocol required, up to 5; 22 and 8402 are reserved). https gets certificates for its rules' hostnames; redirect_https makes port 80 redirect to it. A tcp listener needs a tcp default_pool…

Security scan

No findings

We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTime
10 h agoPassed200350 ms
21 h agoPassed200386 ms
32 h agoPassed200613 ms
46 h agoPassed200375 ms
3 days agoPassed200385 ms
Show 10 older checks
3 days agoPassed200377 ms
4 days agoPassed200407 ms
4 days agoPassed200427 ms
5 days agoPassed200330 ms
5 days agoPassed200356 ms
6 days agoPassed200405 ms
6 days agoPassed200365 ms
7 days agoPassed200396 ms
8 days agoPassed200365 ms
8 days agoPassed200297 ms