Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Added "backup_create" and "backup_list"; changed the definition of "hosts_list" (16 tools before, 18 now)
⟨23 unchanged words⟩ when it was last seen, its country, ip (the public address the server's Connector connects from; null until it has connected), and ownerNote — what the owner wrote about ⟨6 unchanged words⟩ is, what to leave alone); follow it. 'policy' says what you may do there: full, allowlist (only listed commands; allowedCommands holds the server's list, no file writes) or readonly (no commands, no file writes). Use the id (or the exact name) ⟨6 unchanged words⟩
Make an encrypted backup of one of the user's servers now, through Termalin's backup job for that server, and wait for it (up to about a minute; a longer one keeps running and shows up in backup_list). Call it BEFORE a risky change — a migration, a config rewrite, a bulk delete — and say so in 'label'. The server needs a backup job set up in the Termalin cabinet (that is where the owner chooses the paths and the encryption key); without one this tool explains how to add it. Uses the owner's storage quota.
The backup jobs and recent archives of one of the user's servers: when each ran, whether it succeeded, how big it is and where it is stored. Use it to check that a backup exists before a risky change, or to see whether last night's backup worked.
Added "alerts_list" and "server_metrics" (14 tools before, 16 now)
What Termalin's monitoring says is wrong with the user's servers right now (disk filling up, memory or load pinned, a failed service, a restarting container, a certificate about to expire, a server offline), plus what cleared in the last seven days. Start here when asked how the servers are doing. Covers servers with metrics switched on.
Numbers Termalin's monitoring collects from the user's servers every minute, without running anything now: CPU, memory, disk, load, network, the busiest processes, failed services, containers, certificates. Without `host`: one line per server with its latest numbers. With `host`: that server's latest sample in full and the average and peak over the last `hours` (default 6). Use it for 'how is the server doing' and 'what happened at night' before reaching for ssh_exec. Covers servers with metrics switched on.
Changed the definition of "hosts_list"
⟨20 unchanged words⟩ commands run as, when it was last seen, its country, anditsownerNotecountry.— what the owner wrote about that server for you (what it is, what to leave alone); follow it. Use the id (or the exact name) ⟨6 unchanged words⟩
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":falsetrue,"readOnlyHint":true,"title":"List servers"}
Changed the definition of "data_query", "data_schema", "data_tables" and 9 more
{"destructiveHint":true,"idempotentHint":false,"openWorldHint":falsetrue,"readOnlyHint":false,"title":"Query a database"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":falsetrue,"readOnlyHint":true,"title":"Describe a table"}
Added "data_schema", "job_list", "job_start" and 3 more; changed the definition of "hosts_list" and "ssh_exec" (8 tools before, 14 now)
⟨12 unchanged words⟩ , name, whether the server is online,andthedefaultuserlogincommandsuser.run as, when it was last seen and its country. Use the idwith(orssh_exec.the exact name) as 'host' in the other tools.
Changed the definition of "data_query" and "ssh_exec"
⟨67 unchanged words⟩ description":"Max seconds to wait (default 60,).upCallstolonger300)than about 90 seconds are usually cut off by the network before they answer — run long jobs in the background instead.","type":"number"},"username":{ ⟨18 unchanged words⟩
Certificate changed, valid to 2026-12-16
Certificate recorded, valid to 2026-10-18
Authorization not required
First tool surface recorded: 8 tools (server version 0.1.0)
Showing the latest 10 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":falsetrue,"readOnlyHint":true,"title":"List tables"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":falsetrue,"readOnlyHint":true,"title":"List background jobs"}
{"destructiveHint":true,"idempotentHint":false,"openWorldHint":falsetrue,"readOnlyHint":false,"title":"Start a background job"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":falsetrue,"readOnlyHint":true,"title":"Check a background job"}
{"destructiveHint":true,"idempotentHint":true,"openWorldHint":falsetrue,"readOnlyHint":false,"title":"Stop a background job"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":falsetrue,"readOnlyHint":true,"title":"List a directory"}
{"destructiveHint":false,"idempotentHint":true,"openWorldHint":falsetrue,"readOnlyHint":true,"title":"Read a file"}
{"destructiveHint":true,"idempotentHint":true,"openWorldHint":falsetrue,"readOnlyHint":false,"title":"Write a file"}
{"destructiveHint":true,"idempotentHint":false,"openWorldHint":falsetrue,"readOnlyHint":false,"title":"Run a command over SSH"}
{"destructiveHint":true,"idempotentHint":false,"openWorldHint":falsetrue,"readOnlyHint":false,"title":"Run a ⟨4 unchanged words⟩
⟨52 unchanged words⟩ call under about 90 seconds: for anything longer,start it in the background(nohup …installs,>builds,logbackups)2>&1use&)job_start and check on it withlater calls.job_status.
Describe one table of a database on one of your servers: its columns with type, whether they can be empty, default value and primary key. Call it before writing a query against a table you have not seen. Works for postgres, mysql, mariadb and sqlite.
List the recent background jobs on a server (newest first): id, state, start time and the command.
Start a long-running shell command on a server in the background and return a job id right away. Use it for anything that can take more than about a minute — package installs, builds, backups, migrations, large downloads. The job keeps running after this call returns and survives the connection closing; its output goes to a log you read with job_status. The command runs from the login user's home directory.
Check a background job started with job_start: whether it is still running or finished (with its exit code), when it started, and the last lines of its output.
Stop a background job started with job_start (asks it to terminate, then forces it after two seconds). Does nothing if the job already finished.
Run the same shell command on several of your servers at once and return each server's output and exit code. Use it to compare or check a fleet (disk space, versions, a service's state) in one call instead of one call per server. Up to 10 servers; the same 90-second limit as ssh_exec applies.
⟨20 unchanged words⟩ description":"Max seconds to wait (default 60,).upCallstolonger300)than about 90 seconds are usually cut off by the network before they answer — run long jobs in the background instead.","type":"number"},"username":{ ⟨17 unchanged words⟩