sylve-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SYLVE_NODE | No | Default target cluster node. | |
| SYLVE_TOKEN | No | Override bearer token without a saved context. | |
| SYLVE_CONFIG | No | Override configuration file path (default: ~/.config/sylve/config.yaml). | |
| SYLVE_SERVER | No | Override server URL without a saved context. | |
| SYLVE_CONTEXT | No | Override active context name. | |
| SYLVE_SWAGGER | No | Override the bundled swagger.json path. | |
| SYLVE_INSECURE | No | Set to 1, true, or yes to skip TLS verification. | |
| SYLVE_READ_ONLY | No | Set to 1, true, or yes to enforce read-only mode. | |
| XDG_CONFIG_HOME | No | Base directory for the default configuration file. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| sylve_whoamiA | Show the active Sylve login context, user, node, and JWT expiry status. |
| sylve_context_listA | List configured Sylve login contexts from ~/.config/sylve/config.yaml. |
| sylve_cluster_statusA | Show cluster status: Raft leader, quorum members, node health, and guest counts. |
| sylve_cluster_resourcesA | List every VM, Jail, and template across all cluster nodes. |
| sylve_node_listA | List all cluster nodes with CPU%, RAM%, disk, guest counts, and version. |
| sylve_node_showA | Show detailed CPU/RAM/swap/disk telemetry for a node (defaults to the connected node). |
| sylve_node_audit_logsA | Show recent audit records from a node (or all nodes) with parsed request paths. |
| sylve_node_drainA | Build and optionally execute a maintenance drain plan for a node (HA failover, migration, or stop). Dry run by default for safety. |
| sylve_vm_listB | List Bhyve VMs across the cluster. |
| sylve_vm_showA | Show a VM's full configuration, live state, and guest-agent IP addresses. |
| sylve_vm_createB | Provision a Bhyve VM from scratch or from a template. Parses sizes like '2G', auto-allocs RID and VNC port, validates cloud-init YAML. Supports dry_run. |
| sylve_vm_actionB | Start, stop, shutdown, reboot, or restart one or more VMs by name or RID. |
| sylve_vm_migrateB | Validate and live-migrate a VM to another cluster node. |
| sylve_vm_deleteC | Delete a VM and optionally its volumes, raw disks, and MAC objects. |
| sylve_vm_logsB | Retrieve a VM's serial console log output. |
| sylve_vm_snapshotB | List, create, roll back, or delete VM ZFS snapshots. |
| sylve_vm_templateC | List, show, capture, deploy, or delete VM templates. |
| sylve_jail_listB | List FreeBSD Jails across the cluster. |
| sylve_jail_showA | Show a Jail's full configuration and live guest info. |
| sylve_jail_createC | Create a FreeBSD Jail on a ZFS pool. |
| sylve_jail_actionC | Start, stop, or restart one or more Jails by CTID or name. |
| sylve_jail_migrateC | Validate and migrate a Jail to another cluster node. |
| sylve_jail_deleteB | Delete a Jail, optionally removing its rootfs and MAC objects. |
| sylve_jail_logsA | Retrieve a Jail's console log output. |
| sylve_jail_snapshotC | List, create, roll back, or delete Jail ZFS snapshots. |
| sylve_jail_bootstrapC | List, create, or delete pkgbase FreeBSD jail bootstraps on a ZFS pool. |
| sylve_jail_templateC | List, show, capture, deploy, or delete jail templates. |
| sylve_zfs_poolC | List, inspect, or scrub ZFS storage pools (resolves pool names to GUIDs). |
| sylve_zfs_datasetC | List, create, edit, or delete ZFS filesystems and volumes. |
| sylve_zfs_snapshotC | List, create, roll back, or delete ZFS snapshots, plus periodic snapshot jobs. |
| sylve_downloadB | List, show, queue URL downloads, or delete ISOs/images on the downloader. |
| sylve_network_overviewB | Query one network subsystem (interfaces, switches, routes, DHCP, firewall, objects, WireGuard). |
| sylve_replicationC | Manage HA replication policies, events, and failovers. |
| sylve_backupC | Inspect backup targets, jobs, and events; run or restore backups. |
| sylve_taskC | List, show, or wait on guest lifecycle tasks; cancel migrations. |
| sylve_api_searchA | Search all Sylve Swagger operations by keyword, tag, or HTTP method. Use this to discover any of the 441 endpoints before calling them. |
| sylve_api_schemaA | Show the full request/response schema (with $refs resolved) for one Swagger operation. Use sylve_api_search to find the operation first. |
| sylve_api_callB | Execute any documented Sylve API operation directly (GET/POST/PUT/PATCH/DELETE). Combine with sylve_api_schema to build accurate bodies. Filters out None query params. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| triage-cluster | Inspect cluster health: offline nodes, failed tasks, and ZFS pool status. |
| plan-node-drain | Build a dry-run maintenance drain plan for a node and flag blocked guests or pinned backup jobs. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Cluster status | Live Sylve cluster and Raft status JSON. |
| Cluster resources | All VMs, Jails, and templates across cluster nodes. |
| OpenAPI tag summary | All Swagger tags and their operation counts. |
TDQS
Scored across 38 tools
Most tools target a clearly distinct resource and action (VM, jail, ZFS, node, backup, replication, task). A few boundaries are blurry: VM/jail/ZFS snapshot tools overlap in concept, and sylve_api_call can duplicate nearly any operation, but the descriptions make the intended scope clear.
The sylve_ prefix and resource-based grouping are consistent across the set (sylve_vm_list, sylve_vm_show, sylve_jail_create, etc.). Minor deviations are the noun-only multi-action tools such as sylve_zfs_pool, sylve_vm_snapshot, and sylve_network_overview, which omit the verb but remain readable.
At 38 tools, the surface is heavy for a single MCP server and exceeds the typical comfortable range. While the domain is broad, several tools could be consolidated or scoped further, and the three api_* meta-tools plus multiple resource-specific lifecycle tools inflate the count.
Core lifecycle coverage is strong across VMs, jails, ZFS, backups, replication, tasks, and cluster/node operations. Minor gaps exist around explicit network mutation, user/context creation, and some fine-grained operations, but sylve_api_search/schema/call provide a workaround via the full Swagger surface.