termalin-web
Run commands and read/write files on your servers over Termalin's keyless tunnels (hosted MCP).
Community: Submitted by a user or imported; check the owner before granting accessOnlineAPI key requiredGlobalFreeCan modify data
What it can do
What data it sees
Do you need an account
An API key from the service settings is required
Run commands and read/write files on your servers over Termalin's keyless tunnels (hosted MCP).
Server tool list (8)
Raw names from tools/list. Only developers need these.
| hosts_list | List the servers reachable through Termalin (your tunnel agents). Returns id, name, whether the server is online, and the default login user. Use the id with ssh_exec. |
| generate_password | Generate a strong random password — handy when creating a user or setting a password on a server. Returns the password only; nothing is stored. |
| ssh_exec | Run a single shell command on one of your servers and return its combined output. Runs keyless over Termalin's tunnel — no SSH key, and the server needs no open inbound port. |
| sftp_list | List a directory on one of your servers over SFTP. Returns each entry's name, whether it's a directory, size and modified time. Runs keyless over Termalin's tunnel, like ssh_exec. |
| sftp_read | Read a text file from one of your servers over SFTP and return its contents. Files over 512 KB or non-text (binary) files are refused — use ssh_exec (e.g. sed/tail) for those. |
| sftp_write | Create or overwrite a text file on one of your servers over SFTP. 'content' is written as UTF-8. Capped at 512 KB; for binary uploads use a terminal/scp instead. |
| data_query | Run a database query on one of your servers — passwordless. It executes the engine's own client on the host over Termalin's keyless tunnel, using the database's local trust (Postgres peer auth via `sudo -u postgres`, MySQL/MariaDB unix-socket via `sudo mysql`, redis-cli, mongosh, sqlite3) — so no database password is needed or stored anywhere. Read-only by default: only SELECT/SHOW-style statements run unless allowWrites is set (full-access keys only). SQL engines return CSV/TSV with a header. For MongoDB pass a shell expression, e.g. db.products.find({}).limit(20).toArray(). |
| data_tables | List the tables / collections / keys of a database on one of your servers — passwordless, over the same local-client path as data_query. |